Principal Software Engineer

Store Support Centre - London

Competitive plus benefits

Permanent - Full Time

30 December 2017

Related Positions

Software Engineering Manager

Competitive plus benefits

Store Support Centre - London

15 December 2017

Senior Information Security Analyst- Project Assurance

Competitive plus benefits

Store Support Centre - London

30 December 2017

Senior Network Engineer

Competitive plus benefits

Store Support Centre - Manchester

17 December 2017

Lead Big Data Developer

Competitive plus benefits

Store Support Centre - London

17 December 2017

Principal Software Engineer

In a nutshell

We are looking for talented Principal Software Engineers to help build great apps and services in the Sainsbury’s Digital Team. You will work closely with Software Engineers and Designers 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 standards while following best practice
  • Take a test driven and behaviour driven development approach when writing code (use TDD and BDD) and instil to others in the team
  • Work collaboratively and be an active contributor to continuous improvement within a team providing honest and open feedback based on your experience
  • Own and actively contribute to the execution of our Digital & Technology strategy
  • Shape platform architecture and instil to other engineers why we practice DevOps
  • Take the lead in architecting systems and applications
  • Design and implement smart ways of storing and displaying complex data
  • Mentor and coach other engineers
  • Lead and put in place remote and automated deployment of new code in a continuous delivery model fit for high paced and reactive delivery of requirements
  • Bridge the gap and between engineering and architecture
  • Ensure 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 others
  • Proactively seek opportunities to share your knowledge and abilities
  • Lead and contribute across Agile teams from a technical perspective
  • 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 them
  • Advanced understanding and experience of using various tools such as JIRA, Confluence and GitHub
  • Advanced understanding and experience of Object Oriented programming and its advantages and disadvantages in large scale applications
  • Advanced understanding and experience of Unit testing (including mocking and behavioural testing) and Continuous Integration
  • Advanced understanding and experience of Version control systems such as GIT and Continuous Integration pipelines and why we use them
  • Advanced understanding and experience of Relational and non-relational databases and when to use them
  • Advanced understanding and experience of Service oriented architecture and the benefits of taking a micro services approach to engineering
  • Advanced understanding and experience of framework agnostic engineering, knowing when to use frameworks and when not to
  • Advanced understanding and experience of caching (both at application and platform level), why and when to use caching
  • Experience in leading technical teams
  • Advanced 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 PHP
  • Good understanding and experience of database administration across a number of SQL and noSQL database technologies
  • Good understanding and experience administrating linux servers, configuration of traffic routing, web servers (apache, nginx, etc) and other DevOps type responsibilities
  • Good understanding and experience of engineering for multiple devices including desktop PC, tablet and mobile using responsive designs and techniques
  • Hands 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 range of techniques to influence, adapts to situation
  • Analytical Thinking:
  • Pushes boundaries in solving problems
  • Aptitude to Learn:
  • Actively seeks feedback from multiple sources
  • Contributes to wider community in own area of expertise
  • Team Work:
  • Supports a collective effort to resolve problems
  • Uses strengths of team to deliver increased value
  • Leadership and Mentoring:
  • Values differences
  • Commitment and Planning:
  • Delivers ahead of expectations

Resources available to me

  • Line manager providing on-going support through 121’s and SMART objectives
  • Agile coach providing on-going support in terms of Agile ways of working
  • Wider development community sharing knowledge and support

What decisions I can make

  • Lead on decisions regarding technology choices for multiple teams
  • Shape the technical landscape using your experience
  • Leads on architectural decisions across multiple teams

#LI-LS1

Apply now