Principal Engineer

London (Greater)
13 Nov 2017
16 Nov 2017
Contract Type
Full Time
Principal Engineer

In a nutshell

We are looking for talented Principal Engineers to help define the standards and technologies used across cloud infrastructure, software development and testing that will enable us to build high quality apps and services across the Sainsbury’s Digital and Technology teams. You will work closely with Software Engineers, Cloud Engineers and Test Engineers across multiple platforms and technologies to create a beautiful application ecosystem that is consistent, highly usable, reliable and performant.

What I need to do

    Write excellent code adhering to coding and commenting standardsTake a test driven and behaviour driven development approach when writing code (use TDD and BDD) and instil to others via communities of practiseWork collaboratively and be an active contributor to continuous improvement across the teams and communities of practise and help instil an environment where providing honest and open feedback is the normOwn the definition of standards and use of technologies and actively contribute to the execution of our Digital & Technology strategyShape platform architecture and instil to other Engineers why we practice DevOpsTake the lead in architecting systems and applicationsMentor and coach other EngineersBridge the gap and between engineering and architectureEnsure there is always an appropriate focus on quality
How I will succeed

    Show that you have an excellent understanding for a number of technical skills, attitudes and behaviours instilling to othersProactively seek opportunities to share your knowledge and abilitiesLead and contribute across communities of practice from a technical perspectiveBe an ambassador for technical excellenceGuide the delivery of quality solutions into service, measured through low fault levels and consistent quality service implementations – including appropriate V&P testing
What I need to know

    Demonstrable experience of new technologies and know when it’s appropriate to use themAdvanced understanding and experience of using various tools such as JIRA, Confluence and GitHubAdvanced understanding and experience of Object Oriented programming and its advantages and disadvantages in large scale applicationsAdvanced understanding and experience of automated testing and Continuous IntegrationAdvanced understanding and experience of Version control systems such as GIT and Continuous Integration pipelines and why we use themAdvanced understanding and experience of Relational and non-relational databases and when to use themAdvanced understanding and experience of Service oriented architecture and the benefits of taking a micro services approach to integrationAdvanced understanding and experience of framework agnostic development, knowing when to use frameworks and when not toAdvanced understanding and experience of caching (both at application and platform level), why and when to use cachingExperience in leading technical teamsAdvanced understanding and experience in programming skills with a proven strong background with multiple languages such as Go, Node.js, Java, Scala, JavaScript (server side and client side) and PHPGood understanding and experience of database administration across a number of SQL and noSQL database technologiesGood understanding and experience administrating linux servers, configuration of traffic routing, web servers (apache, nginx, etc)Good understanding and experience of developing for multiple devices including desktop PC, tablet and mobile using responsive designs and techniquesHands on experience with Cloud infrastructure and services, preferably with a good understanding of Amazon Web Services
What I need to show

    Communication and Influencing:Uses a range of techniques to influence, adapts to situationAnalytical Thinking:Pushes boundaries in solving problemsAptitude to Learn:Actively seeks feedback from multiple sourcesContributes to wider community in own area of expertiseTeam Work:Supports a collective effort to resolve problemsUses strengths of team to deliver increased valueLeadership and Mentoring:Values differencesCommitment and Planning:Delivers ahead of expectations
Resources available to me

    Line manager providing on-going support through 121’s and SMART objectivesEnterprise Architecture teamWider development community sharing knowledge and support
What decisions I can make

    Lead on decisions regarding technology choices for multiple teamsShape the technical landscape using your experienceLead on tool choices and standards across multiple teams

This job was originally posted as