The following content displays a map of the jobs location - London

Senior Software Developer - Python

Job Reference tesco/TP/11739132/752541

This job has been closed.

Number of Positions:
1
Contract Type:
Permanent
Salary:
Competitive
Working Hours:
37.5
Location:
London
Closing Date:
31/01/2023
Job Category:
Technology
Business Unit:
GB Head Office

What’s in it for you

We offer excellent benefits that help make Tesco a great place to work. These include but aren’t limited to:

  • Annual bonus scheme where you can earn up to 15% of base salary
  • Holiday starting at 25 days plus a personal day (plus 8 Bank holidays)
  • On-site state of the art gym at our Welwyn Campus with discounted “Gympass” membership & free health checks via Nuffield Health
  • Retirement savings plan - save between 4% and 7.5% and Tesco will match your contribution
  • Life Assurance - 5 x contractual pay
  • Share Schemes – Join our ‘Buy As You Earn’ & ‘Save As You Earn’ share schemes after 3 months service
  • Colleague Clubcard (including a 2nd card for a family member) after 3 months service
  • Colleague Discounts:
  • 10% increasing to 15% after every pay day for a four day period, off most purchases at Tesco (from April 2020)
  • 10% off One Stop
  • 10% off pay monthly & SIM only deals with Tesco Mobile
  • 20% off all F&F purchases
  • 20% off car, pet and home insurance at Tesco bank. T&C’s apply
  • 25% off Tesco Café
  • 50% off complete glasses purchases & free eye tests (other offers available) at Vision Express
  • 50% off health checks at Tesco Pharmacy
  • An exclusive deals and discounts website saving you money on everyday purchases, treats for the family, eating out and utility bills for the home
  • Cycle to work scheme
  • Shuttle Bus Service to/from Hatfield & Welwyn Garden City Station to Welwyn Campus & Hatfield Offices
  • Opportunities to get on - take advantage of our ongoing learning opportunities and award-winning training, to help you achieve the job and career you want
  • Our Employee Assistance Programme helps you deal with life’s challenges
  • Financial wellness - Tesco has partnered with experts to help you make the most of your money
  • Get involved in a range of fundraising activities with our long-term charity partners

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.

You will be responsible for

Programming

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

  • Writing easily readable, maintainable and clean code using Python/Shell Scripts
  • Being capable of developing features
  • Understanding one programming language preferably Python
  • Having a basic understanding of the IDE ecosystem for the language
  • Having and understanding Infrastructure and code Tool language
  • Being aware of major language paradigms
  • Being aware of the semantics & best practices of a given language
  • Being able to debug and resolve issues
  • Practicing test-driven development, being able to come up with possible test cases
  • Understanding different data structures

Designing Solutions

Knowledge and ability to design the elements of a complete software system to solve a business problem, such as the overall system architecture, component modules, interfaces between modules, data persistence and data flow

  • Knowing what the scope of a solution design
  • Knowing about abstractions and reuse
  • Being able to measure performance of a component or service
  • Knowing and appreciating simplicity and the value of removing

Infrastructure

Having advanced knowledge of the platform the application operates on (e.g. containers, linux, browsers, iOS, android,)

  • Having an ability to design and create infrastructure
  • Knowing about the purpose of different environments (dev/ppe/prod)
  • Knowing about the differences between physical and virtualized resources
  • Knowing how to operate in a cloud infrastructure environment like Azure
  • Managing complex workloads via container orchestrators like Kubernetes /AKS
  • Knowing about network protocols and how they work in detail
  • Traffic management via Application Gateways, Ingress Controllers
  • Autoscaling to handle high volume of traffic through the day
  • Edge caching to help serve our customers, suppliers, colleagues and the planet a little better every day
  • Manage and protect secrets using Key Vaults like Azure Key Vault, Hashicorp Key Vault

Security

  • Knowing what the common vulnerabilities associated with the relevant language and framework are
  • Having a basic grasp of secure coding
  • Being aware of 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)
  • Being aware of how information is classified and about appropriate handling ( e.g. public, sensitive, PII)
  • Knowing the difference between authentication and authorisation

Operations and Maintenance

  • Helping to respond to live incidents
  • Recognising the importance of project instrumentation (e.g. logging & monitoring)
  • Implementing project instrumentation with assistance
  • Knowing about and using the operational dashboards in the team
  • Recognising alerts generated by the system and how to react by being able to follow runbooks for initial diagnosis/resolution
  • Knowing about distributed tracing and being able use it to debug issues
  • Understanding operational processes within the team

You will need

  • Programming in Python
  • Advanced Shell Scripting skills
  • Use Tools like Terraform and GitHub Actions
  • Using DevOps orchestrators like Azure DevOps to Orchestrate DevOps Solutions
  • Having an appreciation of availability and scaling methods and how they are achieved in the context of the application.
  • Setup, Configure and manage caches like Redis/Varnish and help optimize caching
  • Exhibiting an awareness of different communication layers used by the application
  • Taking a holistic view of systems to ensure they meet relevant security standards
  • Selecting relevant metrics, data points, alerts to support operation of systems
  • Demonstrated experience designing, developing and running highly-scalable distributed systems
  • Experience implementing a range of design and architecture patterns
  • Coaching, supporting and mentoring those around me
  • Capable of driving the technical response to significant and major incidents
  • Being able to decide between managed and self-managed services

About us

  • We are building systems to solve real world problems at scale, impacting tens of millions of people
  • Teams of great Engineers (and Managers and Product Managers) to learn from
  • We are agile and enlightened in our approach to building software and teams
  • There’s a great atmosphere, and we work sustainably as a team
  • Tesco has a “do the right thing” mentality

We are proud to have an inclusive culture at Tesco where everyone is welcome and truly feels able to be themselves. At Tesco, we not only celebrate diversity, but recognise the value and opportunity it brings to enable us to serve our shoppers a little better every day. We strive to create a workforce that reflects our customers not only here in the UK, but worldwide. Our aim is to attract and welcome a diverse range applicants from all walks of life, offering many varying working patterns across our business, and we would love to hear from you!