Software Dev Engineer II
- Full-time
- Technology CF Job Family: Software Engineering
- Group Function: Tesco Technology
Company Description
Tesco Technology consists of people from a number of different backgrounds, but having a common purpose to serve our shoppers a little better every day with our retail technological solutions. We shared a common interest in harnessing innovations in technology to enhance their shopping experience at Tesco stores. Whether making products, software or systems, our teams focuses on various aspects from taking strategic ownership of the architecture to delivering technological solutions such as design, testing, deployment, infrastructure, operation and security of the systems to ensure agile, smooth and safe operations. These help us to deliver the maximum business impact. Teams refine their internal processes to best fit their own needs, working to build core capabilities in application and services. We collaborate globally across teams to build end-to-end customer-facing solutions, as well as to share knowledge, experience, tools and techniques.
Job Description
About the role
As a backend development Engineer, you’ll be working in an agile team of industry leading engineers to define and develop Tesco’s xAPI (Experience API) that powers Tesco’s various shopping experiences i.e., tesco.com, the mobile shop application, store and other internal facing applications. You’ll be a passionate, pragmatic Engineer with an inquisitive mind who is motivated to make change for the better and most importantly put our customer first.
You’ll enjoy working as part of a team, liaise with product and program managers to understand requirements and build new software or extend existing software. You are a keen problem solver with the expertise and experience building extensible, maintainable, highly available, scalable, performant and observable quality software, Comfortable with modern engineering practices and backend development technologies, you’ll use innovation to improve the customer experience and efficiency of engineering teams. The solutions that you will be responsible for will have a global reach, impacting millions of customers.
Some of the tech we are using at scale: Javascript, Typescript, Node.JS, GraphQL, REST, Kafka, Azure Cloud, Redis, Varnish Cache, Apollo Federation, Docker, Kubernetes etc.
About the team
Tesco’s xAPI (Experience API) powers Tesco’s online shopping, enabling customers to discover and shop online from diverse client applications & devices i.e. web, mobile-apps, tills in-store, scan-as-you-shop, tablets, voice assistants etc. We, the xAPI team, build products that provide the experience APIs (GraphQL) for building client applications and handle all the device traffic to support the user experience for the end-user’s shopping lifecycle from product discovery to purchase to returns and refunds, shopping history. We build, develop and maintain massive scale, highly performant REST/GraphQL API services, backend-for-frontend services that enable ease of client application development and our success is the difference between millions of happy customers or millions of missed opportunities.
- We are building systems to solve real world problems at scale, impacting tens of millions of
- 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 promote flexible working
Job Responsibilities
- Use your in-depth knowledge of JavaScript, Typescript, Node.JS, cloud and the backend services ecosystem to develop, and deploy scalable backend systems.
- Work with product managers to understand business/product requirements.
- Translate requirements into tasks & code.
- Commit code early and often, demonstrating understanding of version control & branching strategies.
- Automate everything by default.
- Write secure code by default.
- Write maintainable code and observe basic hygiene practices
- Implement relevant project instrumentation.
- Profile and optimise code.
- Apply understanding of cohesion and the SOLID principles to create well structured, maintainable software.
- Identify patterns in code and refactor the code towards them where it increases understanding and/or maintainability with minimal guidance.
- Produce test driven features in a specific programming language and demonstrate familiarity with the TDD development.
- Follow the best practices of continuous BDD/TDD/Performance/Security/Smoke testing.
- Work effectively with product stakeholders to communicate and translate needs into product improvements.
- Lead group discussions on system design and understand domain well enough to work with Product Managers to drive value.
- Support production systems, resolve incidents and perform root cause analysis.
- Debug/find complex problems and support/maintain the software solution.
- Share knowledge with the wider engineering community.
- Mentor and develop others around you.
- Produce proof of concepts to evaluate new tools.
You will need
We are looking for people who have a passion for Technology. You will demonstrate experience of different platforms and technologies. We expect to see some or all of the following:
- 7+ Years professional experience as a Backend Software Developer.
- At least 3 years of experience in backend development using Javascript, Typescript, Node.JS and related backend technologies, frameworks.
- Exposure to a variety of JavaScript frameworks and libraries such as: Next.JS, React.JS and testing using Jest, Mocha.JS, Cucumber etc.
- Experience of using Node.js to create high traffic applications using Express.js, Sails, Koa or similar.
- Knowledge of microservices development and deployment in the cloud i.e. Azure/AWS/GCP cloud.
- Knowledge of virtualization, containerization and container orchestration technologies like Docker, Kubernetes etc.
- Experience with usage of GraphQL, building GraphQL servers and GraphQL Federation technologies like Apollo Federation.
- Experience with using and building REST API services.
- Knowledge of distributed messaging systems like Kafka, RabbitMQ etc.
- Knowledge of distributed caching technologies like Redis.
- A desire to write readable, maintainable, modular and extendable code.
- Exposure to the DevOps model.
- Experience in Lean and Agile environments and understanding of principles behind methodologies such as: BDD, ATDD and TDD.
Qualifications
Javascript, Typescript, Node.JS, GraphQL, REST, Kafka, Azure Cloud, Redis, Varnish Cache, Apollo Federation, Docker, Kubernetes
Additional Information
Important Notice:
On behalf of Tesco Bengaluru, we must caution all job seekers and educational institutions that Tesco Bengaluru does not authorise any third parties to release employment offers or conduct recruitment drives via a third party. Hence, beware of inauthentic and fraudulent job offers or recruitment drives from any individuals or websites purporting to represent Tesco. Further, Tesco Bengaluru does not charge any fee or other emoluments for any reason (including without limitation, visa fees) or seek compensation from educational institutions to participate in recruitment events.
Accordingly, please check the authenticity of any such offers before acting on them and where acted upon, you do so at your own risk. Tesco Bengaluru shall neither be responsible for honouring or making good the promises made by fraudulent third parties, nor for any monetary or any other loss incurred by the aggrieved individual or educational institution.
In the event that you come across any fraudulent activities in the name of Tesco Bengaluru, please feel free report the incident at [email protected]