Experience
6 - 11 yrs
Salary (CTC)
₹43.2L - ₹47.8L
Job Location
Bengaluru, India
Vacancy
1
Designation
Software Development Engineer II
Job Type
ONSITE
Job Description
Job Summary
We design and build a scalable messaging platform that enables seamless event flow across various domains of our retail platform and its components. Our team owns the end-to-end lifecycle of the platform, including architecture, development, deployment, and operational stability. Our objective is to provide a reliable and resilient messaging backbone that connects systems and transforms both incoming and outgoing events efficiently at scale. Delivering this capability involves multiple engineering products and link with Tesco s Retail Platform. This platform is built using Java, Spring Boot, Kafka, Couchbase, PostgreSQL, Kubernetes, Microservices Architecture, and Azure cloud components.
Responsibilities
- As an engineering organisation, we have strong emphasis on open-source tools and technologies. We work on exciting opportunities that simplifies the management of Messaging integration Platform and managed through a platform that enhances interaction between multiple Tesco Retail Platform domains and enable efficient messaging integration. Our engineering culture encourage ownership, accountability, and teamwork.
- Software Development Engineers (SDEs) are the creative minds developing the software applications that make life easier for our end users. Responsible for the 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. 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
- You showcase exemplary behaviour in your work
- Collaborate with SDEs across teams working on the same or similar business problem
- Influence your team s technical and business by suggesting novel approaches
- Able to communicate your ideas and get feedback from different stakeholders
- Ensure design deficiencies are addressed
- Consistently delivery of valuable features
- Continually propose and drive process improvements
- Help elaborate requirements where necessary
Requirements
Programming/Coding
- Demonstrate in depth knowledge of Java, Spring and development toolset
- Implement critical path components in a large or complex project.
- Demonstrate excellent understanding of language framework and a good working knowledge of the abstraction layer underneath
- Profile and optimise code and Understand threads; threading model and concurrent programming
- Comfortably test drive any feature/comfortable with TDD cycle
- Demonstrate a good knowledge of programming languages paradigms and when to apply them
- Comfortably debug/find complex problems
Design
- Identify and apply appropriate design patterns to problems; understand idempotence
- Actively practice the boy scout principle; leaves design; code in a better state than when arrived
- Demonstrate a good understanding of cohesion; SOLID principal and how to apply
- Understand importance of domain model and can coherently model a problem domain within a given context
- Anticipate medium term (3-4 month) vectors of change and designs and abstracts accordingly
- Understand and appreciate simplicity and the value of removing code
Development Practice
- Build a CI/CD pipeline
- Automate security scanning and performance testing as part of build infrastructure
- Demonstrate a good grasp of messaging technology like Kafka
- Demonstrate expertise in at least one No SQL database
- Understand when to apply appropriate infrastructure technologies
Security
- Write secure code by default
- Use tools to perform deep security probes
- Understand server hardening
Tech Qualifications
- Java; Spring; Kafka; Docker; Kubernetes; Scripting; CI/CD pipeline; Github, IDE with AI tools
Additional Information
- Experience: 6+ Years Minimum
