The following content displays a map of the jobs location - London
Software Development Engineer III - Online
This job has been closed.
What’s in it for you
We offer excellent benefits that help make Tesco a great place to work! These include but are not limited to:
- Annual bonus scheme
- Holiday starting at 25 days plus a personal day (and bank holidays)
- Great colleague discounts and deals, saving you money on everyday purchases, utility bills for the home and more
- Retirement savings plan – save between 4% and 7.5% and Tesco will match your contribution
- Buy as you earn and Save as you earn share schemes
- Opportunities to get on – take advantage of our ongoing learning opportunities and award-winning training to help you achieve the career you want
About the role
If you are passionate about the culture of Agile software development leveraging continuous integration and deployment we'd love to hear from you.
Your proficiency with foundational computer science and software engineering concepts is taken as a given, and you will have significant technical depth and breadth. You will be playing an active role in technical leadership, with a proven impact across teams and the wider directorate.
You will participate in activities that build capability across the organization: coaching and mentoring of existing colleagues, and interviewing/hiring of new colleagues.
For more information about this role, please get in touch with Mohamed Ainab on email@example.com
You will be responsible for
Knowledge and ability to translate requirements into code and tests, using suitable paradigms and techniques. Understanding and optimizing the complexity, maintainability and security of code produced
- Knowing what is the scope of a solution design
- Writing easily readable, maintainable and clean code using Python/Shell Scripts
- Understanding one programming language preferably Python
- Advanced understanding of shell scripting
- Having advanced understanding of the IDE ecosystem for the language
- Being aware of the semantics & best practices of a given language
- Having a deep understanding of infrastructure
- Debug and resolve issues
- Practicing test-driven development, and come up with possible test cases
- Knowing what the common vulnerabilities associated with the relevant language and framework are and having a basic grasp of secure coding
- Understanding the basics of credential management (e.g. where and how they should be stored)
- Being aware of the fundamentals of secure communication (e.g. https)
Having advanced knowledge of the platform the application operates on (e.g. containers, linux, browsers)
- Having an ability to design and create infrastructure solutions
- Knowing about the purpose of different environments (dev/ppe/prod)
- Knowledge of the differences between physical and virtualized resources
- Knowing how to operate in a public cloud infrastructure environment
- Managing complex workloads via container orchestrators
- Knowledge of network protocols and how they work in detail
- Autoscaling to handle high volume of traffic through the day
- Effective traffic management
- Edge caching to help serve our customers, suppliers, colleagues and the planet a little better every day
- Helping to respond to live incidents
- Recognising the importance of project instrumentation (e.g. logging & monitoring)
You will need
- Programming in Python
- Advanced Shell Scripting skills
- Use Tools like Terraform and GitHub Actions
- Worked with public cloud providers like Azure
- Expertise with Kubernetes, AKS working at scale
- Traffic management via Application Gateways, Ingress Controllers
- Having an appreciation of availability and scaling methods and how they are achieved in the context of the application including understanding of HPA or Keda
- Using DevOps orchestrators like Azure DevOps to Orchestrate DevOps Solutions
- Setup, Configure and manage caches like Redis/Varnish and help optimize caching
- An awareness of different communication layers used by the application
- Taking a holistic view of systems to ensure they meet relevant security standards
- Manage and protect secrets using Key Vaults like Azure Key Vault, Hashicorp Key Vault
- Selecting relevant metrics, data points, alerts to support operation of systems and implementing observability using tools like NewRelic One or AppDynamics
- Demonstrated experience designing, developing and running highly-scalable distributed systems
- Experience implementing a range of design and architecture patterns
- Able to decide between managed and self-managed services
- Capable of driving the technical response to significant and major incidents
- Coaching, supporting and mentoring other members of the team
Our vision at Tesco is to become every customer’s favourite way to shop, whether they are at home or out on the move. Our core purpose is “Serving our customers, communities and planet a little better every day”. Serving means more than a transactional relationship with our customers. It means acting as a responsible and sustainable business for all stakeholders, for the communities we are part of, and for the planet.
We are proud to have an inclusive culture at Tesco where everyone truly feels able to be themselves. At Tesco, we not only celebrate diversity, but recognise the value and opportunity it brings. We’re committed to creating a workplace where differences are valued, and make sure that all colleagues are given the same opportunities. We’re a big business with diverse working patterns and many business areas which means that we can find something that works for you. Everyone is welcome at Tesco.
We have recently announced that we are moving to a more blended working week – combining office and remote working. Our offices continue to be where we connect, collaborate and innovate. Talk to us about how this can work for you.
Note: Should you be successful in your application, your employment will be subject to and conditional upon you providing your bank account details on your agreed start date.