Role Description
Role Proficiency:Act creatively to develop applications and select appropriate technical options optimizing application development maintenance and performance by employing design patterns and reusing proven solutions account for others' developmental activities
Outcomes
-  Interpret the application/feature/component design to develop the same in accordance with specifications.
-  Code debug test document and communicate product/component/feature development stages.
-  Validate results with user representatives; integrates and commissions the overall solution
-  Select appropriate technical options for development such as reusing improving or reconfiguration of existing components or creating own solutions
-  Optimises efficiency cost and quality.
-  Influence and improve customer satisfaction
- Set FAST goals for self/team; provide feedback to FAST goals of team members
 
Measures Of Outcomes
-  Adherence to engineering process and standards (coding standards)
-  Adherence to project schedule / timelines
-  Number of technical issues uncovered during the execution of the project
-  Number of defects in the code
-  Number of defects post delivery
-  Number of non compliance issues
- On time completion of mandatory compliance trainings
 
Code
Outputs Expected:
- Code as per design
- Follow coding standards templates and checklists
- Review code – for team and peers
 
Documentation
- Create/review templates checklists guidelines standards for design/process/development
- Create/review deliverable documents. Design documentation r and requirements test cases/results
 
Configure
- Define and govern configuration management plan
- Ensure compliance from the team
 
Test
- Review and create unit test cases scenarios and execution
- Review test plan created by testing team
- Provide clarifications to the testing team
 
Domain Relevance
- Advise Software Developers on design and development of features and components with a deep understanding of the business problem being addressed for the client.
- Learn more about the customer domain identifying opportunities to provide valuable addition to customers
- Complete relevant domain certifications
 
Manage Project
- Manage delivery of modules and/or manage user stories
 
Manage Defects
- Perform defect RCA and mitigation
- Identify defect trends and take proactive measures to improve quality
 
Estimate
- Create and provide input for effort estimation for projects
 
Manage Knowledge
- Consume and contribute to project related documents share point libraries and client universities
- Review the reusable documents created by the team
 
Release
- Execute and monitor release process
 
Design
- Contribute to creation of design (HLD LLD SAD)/architecture for Applications/Features/Business Components/Data Models
 
Interface With Customer
- Clarify requirements and provide guidance to development team
- Present design options to customers
- Conduct product demos
 
Manage Team
- Set FAST goals and provide feedback
- Understand aspirations of team members and provide guidance opportunities etc
- Ensure team is engaged in project
 
Certifications
- Take relevant domain/technology certification
 
Skill Examples
-  Explain and communicate the design / development to the customer
-  Perform and evaluate test results against product specifications
-  Break down complex problems into logical components
-  Develop user interfaces business software components
-  Use data models
-  Estimate time and effort required for developing / debugging features / components
-  Perform and evaluate test in the customer or target environment
-  Make quick decisions on technical/project related challenges
-  Manage a Team mentor and handle people related issues in team
-  Maintain high motivation levels and positive dynamics in the team.
-  Interface with other teams designers and other parallel practices
-  Set goals for self and team. Provide feedback to team members
-  Create and articulate impactful technical presentations
-  Follow high level of business etiquette in emails and other business communication
-  Drive conference calls with customers addressing customer questions
-  Proactively ask for and offer help
-  Ability to work under pressure determine dependencies risks facilitate planning; handling multiple tasks.
-  Build confidence with customers by meeting the deliverables on time with quality.
-  Estimate time and effort resources required for developing / debugging features / components
-  Make on appropriate utilization of Software / Hardware’s.
-  Strong analytical and problem-solving abilities
 
Knowledge Examples
-  Appropriate software programs / modules
-  Functional and technical designing
-  Programming languages – proficient in multiple skill clusters
-  DBMS
-  Operating Systems and software platforms
-  Software Development Life Cycle
-  Agile – Scrum or Kanban Methods
-  Integrated development environment (IDE)
-  Rapid application development (RAD)
-  Modelling technology and languages
-  Interface definition languages (IDL)
- Knowledge of customer domain and deep understanding of sub domain where problem is solved
 
Additional Comments
We are seeking an experienced Senior Backend Engineer with strong expertise in Kotlin and Java to join our dynamic engineering team. The ideal candidate will have a deep understanding of backend frameworks, cloud technologies, and scalable microservices architectures, with a passion for clean code, resilience, and system observability. You will play a critical role in designing, developing, and maintaining core backend services that power our high-availability e-commerce and promotion platforms. Key Responsibilities Design, develop, and maintain backend services using Kotlin (JVM, Coroutines, Serialization) and Java. Implement efficient serialization/deserialization using Jackson and Kotlin Serialization. Develop, maintain, and execute automated tests using JUnit 5, Mockk, and ArchUnit to ensure code quality. Work with Kafka Streams (Avro), Oracle SQL (JDBC, JPA), DynamoDB, and Redis for data storage and caching needs. Deploy and manage services in AWS environment leveraging DynamoDB, Lambdas, and IAM. Implement CI/CD pipelines with GitLab CI to automate build, test, and deployment processes. Containerize applications using Docker and integrate monitoring using Datadog for tracing, metrics, and dashboards. Define and maintain infrastructure as code using Terraform for services including GitLab, Datadog, Kafka, and Optimizely. Develop and maintain RESTful APIs with OpenAPI (Swagger) and JSON API standards. Apply resilience patterns using Resilience4j to build fault-tolerant systems. Adhere to architectural and design principles such as Domain-Driven Design (DDD), Object-Oriented Programming (OOP), and Contract Testing (Pact). Collaborate with cross-functional teams in an Agile Scrum environment to deliver high-quality features. Utilize feature flagging tools like Optimizely to enable controlled rollouts. Mandatory Skills & Technologies Languages: Kotlin (JVM, Coroutines, Serialization), Java Frameworks: Spring Boot (Spring Cloud, Spring Security, Spring Kafka, Spring Data) Serialization: Jackson, Kotlin Serialization Testing: JUnit 5, Mockk, ArchUnit Data: Kafka (Avro) Streams Oracle SQL (JDBC, JPA) DynamoDB (NoSQL) Redis (Caching) Cloud: AWS (DynamoDB, Lambda, IAM) CI/CD: GitLab CI Containers: Docker Monitoring & Observability: Datadog (Tracing, Metrics, Dashboards, Monitors) Infrastructure as Code: Terraform (GitLab, Datadog, Kafka, Optimizely) API: OpenAPI (Swagger), REST API, JSON API Resilience: Resilience4j Architecture & Practices: Domain-Driven Design (DDD) Object-Oriented Programming (OOP) Contract Testing (Pact) Feature Flags (Optimizely) Platforms: E-Commerce Platform (CommerceTools), Promotion Engine (Talon.One) Methodologies: Scrum, Agile
Skills
Kotlin,Java,Aws,Restful Api