5197 jobs - 66 added today
Recruiting? Call us on 01772 639610
Email me newest jobs similar to this one
about 1 month ago
Sainsbury's
Location: London
Job type: Permanent
Sector: Software Engineering
Category: Management Jobs
We are looking for talented Software Engineering Lead with native app and/or back-end engineering experience to help build strong feature teams within 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

• Pair program regularly (about 60-70% of your time)
• Encourage regular retrospectives help surface what’s not working so we can fix it, and what we’re doing right so we can improve on it
• Write and encourage the writing of well-structured beautiful clean code
• Assist in architecting systems and applications
• Design smart ways of storing and displaying complex data
• See writing automated tests as a benefit, not a chore, engendering that in your team
• Be an active contributing part of an agile development team
• Define your career path, the career path of your team; give and be given the opportunity to grow and learn
• Benefit from working in a multi-disciplinary team, that uses modern software and product development techniques, and values continuous improvement
• Build good relationships with the Product owner and Agile Coach to ensure good lean agile process so as to drive the best outcomes for the team and the business
• Have a good understanding and experience of architecture, infrastructure and DevOps
• Take an enthusiastic approach to Unit testing (including mocking and behavioural testing); including good Continuous Integration & Continuous Delivery pipelines

How I will succeed

• Good capability at mentoring and manage a team of 5-8 engineers
• Interest in growing your own leadership skills
• Strong communication skills and interest in a pair-programming environment
• A good foundation in agile development practices
• A real passion for growing your team’s skills, tackling interesting work and challenging problems
• Good knowledge of Golang (or similar with an interest in learning it) and cloud infrastructure development and open to learning the others. (Don't worry we will help you learn)
• You can write great code. Software design is as important to you as writing the code
• Good use of version control (Git)
• You are open to new ideas and ways of working

What I need to know

• Demonstrable experience of new technologies and know when it’s appropriate to use them
• Advanced understanding and experience of:
- Architecture and infrastructure and why it’s important to be aware of both
- DevOps and why it’s beneficial to development teams
- Using various tools such as JIRA, Confluence and GitHub
- Object Oriented programming and its advantages and disadvantages in large scale applications
- Unit testing (including mocking and behavioural testing) and Continuous Integration
- Version control systems such as GIT and Continuous Integration pipelines and why we use them
- Relational and non-relational databases and when to use them
- Service oriented architecture and the benefits of taking a micro services approach to development
- Framework agnostic development, knowing when to use frameworks and when not to
- Caching (both at application and platform level), why and when to use caching
- Leading and managing technical teams

The following a beneficial but not essential:

- Experience of pair programming and/or mob programming
- Knowledge of test driven development including mocking and/or behavioural driven development
- Experience of building and/or working with REST services
- Understanding relational and non-relational databases and when to use them
- Production experience of payments systems and/or PCI compliance
- Native app development experience

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 and contributes to wider community in own area of expertise
• Team Work - Supports a collective effort to resolve problems and uses strengths of team to deliver increased value
• Leadership and Mentoring - Distributes team workload for optimal performance and values differences

• Commitment and Planning - Delivers ahead of expectations, manages others’ performance to ensure delivery and sets clear/challenges targets for team

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
• Other Software Engineering Managers sharing knowledge and support

What decisions I can make

• Lead on decisions regarding technology choices
• Shape the team using your experience
• Lead on recruitment decisions when hiring engineers and peers

Email me newest jobs similar to this one

  Back to the top