Software Dev Engineer III

  • Full-time
  • Technology CF Job Family: Software Engineering
  • Group Function: Tesco Technology

Company Description

Tesco Bengaluru: We are a multi-disciplinary team creating a sustainable competitive advantage for Tesco by standardising processes, delivering cost savings, enabling agility, providing cutting-edge technological solutions and empowering our colleagues to do ever more for our customers. With cross-functional expertise in Global Business Services and Retail Technology & Engineering, a wide network of teams and strong governance we reduce complexity thereby offering high quality services for our customers. Tesco Bengaluru, established in 2004 to enable standardisation and build centralised capabilities and competencies, makes the experience better for our millions of customers worldwide and simpler for over 4,40,000 colleagues.
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

· Implement end-to-end components applying my understanding of the following tech stack: 
- Core Java (Must Have)
- Spring Boot (Must Have)
- Kafka or another Event-ing system on similar lines  
- Understands No-sql and should have hands-on one of the No-Sql DBs - Say Couchbase
- Reactive Programming (Good to Have)
- Distributed Technologies(Good To Have)
- Exposure to Cloud computing – AWS/Azure (Good to Have)
- Kubernetes (Nice to have)

· Produce and refactor code without assistance and observe basic hygiene practices
· Drive out features via Junit framework
· Develop high quality code that can lead to rapid delivery. Ruthlessly pursuing continuous
· integration and delivery using tools such as Jenkins Chef and puppet
· Commit code early and often demonstrating my understanding of version control & branching
· Strategies using GitHub
· Apply my understanding of patterns for integration using Kafka or another Event-ing system on similar lines
· Follow the best practices of continuous BDD testing
· Work effectively with my product stakeholders to communicate and translate their needs into
· improvements in my product
· Support production systems resolve incidents and perform root cause analysis with the aid of monitoring tools such as Splunk App Dynamics Prometheus Runscope
· Ability to break down a problem and make choices which are data driven
· Profile and optimise code.
· Apply my understanding of cohesion and the SOLID principles to create well structured maintainable software.
· Apply my understanding of threads the threading model and concurrent programming.
· Identify patterns in code and refactor the code towards them where it increases understanding and/or maintainability with minimal guidance
· Automate everything by default.
· Write secure code by default.
· Write maintainable code and observe basic hygiene practices.
· Demonstrate the importance of domain model and I coherently model a problem domain within a given context
· Lead group discussions on design of particular areas 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 those around me.
· Produce proof of concepts to evaluate new tools

Qualifications

- Core Java (Must Have) - Spring Boot (Must Have)

Privacy Policy