Software Engineering Manager

06 Sep 2017
04 Oct 2017
Contract Type

In a nutshell

You will work within the Sainsbury's Digital & Technology team to help deliver a wide range of software solutions to create value, drive efficiency and increase performance for the business. You will be a key part of Sainsbury's Digital & Technology strategy to build high quality software products whenever value can be added.

Your role will involve being part of (hands-on) and line managing a multi skilled engineering team while implementing industry leading engineering practices across a wide range of products. You will be expected to recruit and retain expert colleagues as well as driving Sainsbury's Engineering strategy forward to both ensure delivery against Sainsbury's vision and Digital & Technology's objectives.
What I need to do
  • Spend at least 50% of your time writing excellent code adhering to coding and commenting standards while following best practice.
  • Take a test driven and behaviour driven engineering approach when writing code (using TDD and BDD) and engender this into the team.
  • Work collaboratively and be an active contributor to continuous improvement within a team providing honest and open feedback based on your experience.
  • Line manage a team of approximately 10 multi skilled engineering colleagues (including engineering, infrastructure engineering, testing and analysis).
  • Recruit colleagues who are both exceptionally talented and fit the culture of the team.
  • Retain colleagues by helping to create the right environment and improve our ways of working.
  • Mentor the colleagues within your team using your expertise as an engineer.
  • Coach the colleagues in your team to realise their full potential.
  • Help shape a world class engineering function by bringing your experience of cutting edge processes and technologies into the business.
  • Ensure your team possesses and develops the right skills by deeply understanding the requirements of the product you are building.
  • Encourage and facilitate communities of practice to ensure we share best practice across the engineering teams.
  • Work with the Agile Coaches and Scrum Masters to ensure Agile and Lean principles are being followed.
  • Help facilitate the unblocking of issues and work with the Scrum Master to create transparency.
How I will succeed
  • Write high quality, secure code.
  • Demonstrate and teach best practice including TDD/BDD and pairing.
  • Ensure best practice infrastructure and pipelines (including CI/CD) are utilised.
  • Recruit experts into your team.
  • Retain your colleagues in a very competitive market.
  • Help define and implement industry leading engineering practices.
  • Facilitate well thought out technical decisions.
  • Assist the Scrum Master in ensuring our Agile ways of working utilising the Scrum framework are practiced.
What I need to know
  • How to write excellent, best practice code.
  • Extensive experience of the Secure Software Development Life Cycle including build pipelines (CI/CD) and infrastructure (AWS).
  • How to automate as much as possible including best practice TDD/BDD, automated security testing and V&P automation.
  • Practical experience of a multitude of different technologies and engineering practices through extensive industry experience or computer science qualifications.
  • Have good skills and knowledge of servant leadership, facilitation, continuous improvement, empowerment, self-organisation and ways to increase transparency
  • Be knowledgeable of numerous well documented patterns and techniques for completing the Scrum framework
  • Experience leading and mentoring colleagues of different skill levels within a large organisational structure.
  • Well versed in good recruitment techniques, to ensure we hire expert colleagues.
What I need to show
  • Be a great communicator. You will be working with a diverse community of people with various styles of communication. We are looking for people who are dynamic, articulate & confident to interact, engage and challenge.
  • Be a good listener - Hearing and understanding the needs of team members is a vital part of your role.
  • Strong team leadership skills within a broader team.
  • Ability to lead and influence upwards to the Senior Software Engineering Manager.
  • A strong ability to deal with complex problems that have not been faced before in an efficient and effective way.
  • Strong software engineering delivery skills.
  • How to recruit brilliant colleagues, and develop their careers.
  • Educate and coach the team in self-management, inter-team co-ordination and taking on a shared responsibility.
  • An ability to manage your time efficiently between engineering (coding, testing and analysis), line management, mentoring and team improvement.
  • How to stay calm while under pressure, giving clear direction in our fast-moving environment.
  • Strong skills and knowledge of servant leadership facilitation, situational awareness, conflict resolution, continual improvement, empowerment and increasing transparency.
  • A drive to constantly improve the way we work. Good is not good enough.
  • Ability to multi-task and work flexibly.
  • Pragmatic attention to detail.
Resources available to me
  • You will have access to the Senior Software Engineering Manager who will work closely with you.
  • You will have access to other experienced Software Engineering Managers through a community of practice.
  • You will also have other experts such as the Lead Agile Coach, Head of Technology and Product experts to support you.
  • You will be able to influence how the engineering tools budget is spent (GBP500K+).
  • You will have access to training budget.
  • You will have sufficient head count to meet your objectives.
What decisions I can make
  • Influence technical decisions that meet the requirements of the business.
  • Influence on the engineering tools budget is spent.
  • Influence decisions on who to hire.
  • Make decisions on team development.
  • Make resourcing decisions for projects.
  • Process improvements.