Software Development Engineers (SDEs) are the creative minds developing the software applications that make life easier for customers. Responsible for the entire development and support process for a software programme. Your applications make previously complex tasks simple with the impact ranging from saving time, effort or money to re-defining normal in this job.
What is in it for you
- As a result, our colleagues enjoy a unique, differentiated, market- competitive reward package, based on the current industry practices, for all the work they put into serving our customers, communities and planet a little better every day.
- Our Tesco Rewards framework consists of pillars - Fixed Pay, Incentives, and Benefits.
- Total Rewards offered at Tesco is determined by four principles -simple, fair, competitive, and sustainable.
Salary
- Your fixed pay is the guaranteed pay as per your contract of employment.
Leave & Time-off
- Colleagues are entitled to 30 days of leave (18 days of Earned Leave, 12 days of Casual/Sick Leave) and 10 national and festival holidays, as per the company s policy.
Making Retirement Tension-FreeSalary
- In addition to Statutory retirement beneets, Tesco enables colleagues to participate in voluntary programmes like NPS and VPF.
Health is Wealth
- Tesco promotes programmes that support a culture of health and we'llness including insurance for colleagues and their family. Our medical insurance provides coverage for dependents including parents or in-laws.
Mental we'llbeing
- We offer mental health support through self-help tools, community groups, ally networks, face-to-face counselling, and more for both colleagues and dependents.
Financial we'llbeing
- Through our financial literacy partner, we offer one-to-one financial coaching at discounted rates, as we'll as salary advances on earned wages upon request.
Save As You Earn (SAYE)
- Our SAYE programme allows colleagues to transition from being employees to Tesco shareholders through a structured 3-year savings plan.
Physical we'llbeing
- Our green campus promotes physical we'llbeing with facilities that include a cricket pitch, football field, badminton and volleyball courts, along with indoor games, encouraging a healthier lifestyle.
You will be responsible for
- Take a business problem and come up with the technical strategy (push vs pull etc, real time vs batches, sync vs async) within the team, high level design and lead the implementation
- Reach out for direction proactively in case of ambiguities or constraints.
- Own the delivery of a major component in a product or a small product entirely as part of a feature delivery.
- Suggest improvements to processes and methodologies to enhance delivery speed, quality.
- Mentor and guide other WL1 SDEs in the team and help in hiring.
- Question requirements and challenge where necessary.
- Identify value of tasks & always work on the highest priority items.
Technology Stack:
- OS : Linux, Windows
- IDE : Eclipse, IntelliJ
- Languages : Java Spring Boot
- Scripting : Python, Groovy
- Unit Test : Junit , WireMock
- Tools : JMeter, GitHub, Postman, Swagger
- WebServers : Tomcat, Jetty
- Design Patterns : API Design patterns
- Architecture Styles : MVC
- Databases : MS SQL, Oracle Pl/SQL, CouchDB
- Monitoring and Logging Tools : Splunk and Appdynamics, Newrelic, Datadog
- Cloud Technologies : Azure or Similar
- CI/CD Jenkins, Azure DevOps, Nexus, Ansible
- Integration Tools : Kafka, Knifi or Similar
- Build Tools : Maven, Gradle
You will need
Programming
- Demonstrate a good understanding of at least one major programming language.
- Understand the framework and enough of the tool ecosystem of the chosen language to implement end to end components with minimal assistance.
- Comfortably produce and refactor code without assistance.
- Test drive features in programming language of choice.
- Understand different major language paradigms (OOP/Functional).
- Reason about complexity of algorithms (time and space) and code (cyclomatic).
- Debug code.
- Understand and resolve complex issues.
Design
- Identify and apply appropriate design patterns to problems.
- Comfortably translate small behaviour requirements into tasks & code.
- Understand how high-quality code can lead to rapid delivery.
- Write clean, maintainable code.
- Demonstrate a basic understanding of domains and domain modelling.
- Seek out and use appropriate abstractions.
- Understand patterns for integration (events/services).
- Understand how to leverage existing functionality outside immediate project.
- Understand scope of project and when to move behaviour to other services.
Development Practice:
- Understand continuous integration and continuous delivery.
- Demonstrate a working knowledge of CI tooling.
- Writes tests to ensure CI/CD processes work.
- Understand BDD / TDD / Performance / Security / Smoke testing.
Infrastructure
- Demonstrate a good working knowledge of one relevant operating system
- Script and automate within relevant environment