Role Description
Role Proficiency:Act creatively to develop applications by selecting appropriate technical options optimizing application development maintenance and performance by employing design patterns and reusing proven solutions. Account for others' developmental activities; assisting Project Manager in day to day project execution.
Outcomes
- Interpret the application feature and component designs to develop the same in accordance with specifications.
- Code debug test document and communicate product component and feature development stages.
- Validate results with user representatives integrating and commissions the overall solution.
- Select and create appropriate technical options for development such as reusing improving or reconfiguration of existing components while creating own solutions for new contexts
- Optimises efficiency cost and quality.
- Influence and improve customer satisfaction
- Influence and improve employee engagement within the project teams
- 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
- Percent of voluntary attrition
- On time completion of mandatory compliance trainings
Code
Outputs Expected:
- Code as per the design
- Define 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
Requirements
test cases and results
Configure
- Define and govern configuration management plan
- Ensure compliance from the team
Test
- Review/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 deeper understanding of the business problem being addressed for the client
- Learn more about the customer domain and identify opportunities to provide value addition to customers
- Complete relevant domain certifications
Manage Project
- Support Project Manager with inputs for the projects
- Manage delivery of modules
- Manage complex 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 and size estimation and plan resources 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 and data models
Interface With Customer
- Clarify requirements and provide guidance to Development Team
- Present design options to customers
- Conduct product demos
- Work closely with customer architects for finalizing design
Manage Team
- Set FAST goals and provide feedback
- Understand aspirations of the team members and provide guidance opportunities etc
- Ensure team members are upskilled
- Ensure team is engaged in project
- Proactively identify attrition risks and work with BSE on retention measures
Certifications
- Obtain relevant domain and technology certifications
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 resources required for developing / debugging features / components
- Perform and evaluate test in the customer or target environments
- Make quick decisions on technical/project related challenges
- Manage a team mentor and handle people related issues in team
- Have the ability to maintain high motivation levels and positive dynamics within the team.
- Interface with other teams designers and other parallel practices
- Set goals for self and team. Provide feedback for 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 and answer 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 timely with a quality product.
- Estimate time and effort of resources required for developing / debugging features / components
Knowledge Examples
- Appropriate software programs / modules
- Functional & 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)
- Broad knowledge of customer domain and deep knowledge of sub domain where problem is solved
Additional Comments
We are seeking an experienced Senior Backend Engineer with over 9 years of software development experience, including at least 6 years working extensively with Java and Spring Batch. The ideal candidate will have deep expertise in building and maintaining batch processing applications and scalable backend systems. Experience with Kotlin, Kafka, and Docker is a strong plus. Key Responsibilities: Design, develop, and maintain robust and scalable backend applications using Java and Spring Batch frameworks. Build and optimize batch processing jobs that handle large data volumes efficiently and reliably. Collaborate with cross-functional teams to design microservices and event-driven architectures leveraging Kafka. Utilize Docker for containerization and streamline deployment processes. Write clean, maintainable, and well-tested code with a focus on performance and scalability. Mentor junior engineers and contribute to team knowledge sharing and best practices. Troubleshoot and resolve production issues in a timely manner. Participate in architecture reviews, code reviews, and agile ceremonies. Mandatory Skills & Qualifications: 9+ years of professional software development experience. 6+ years of hands-on experience with Java and Spring Batch. Strong understanding of batch processing patterns and best practices. Proficiency in building and maintaining scalable backend systems. Experience with message brokers or streaming platforms like Kafka. Familiarity with containerization using Docker. Strong problem-solving skills and ability to work independently or as part of a team. Excellent communication skills.
Skills
Java,Spring,Docker,Kafka