Senior Staff Engineer, Java

Nagarro
Summary
Join Nagarro, a Digital Product Engineering company, and become a key contributor to our growing team. With 10+ years of experience in backend development, you will leverage your expertise in Java, Spring Framework, Hibernate/JPA, and microservices architecture to build scalable and cloud-native applications. You will be responsible for writing high-quality code, understanding client needs, and envisioning comprehensive solutions. Your deep understanding of distributed systems, DevOps practices, and API security will be crucial. You will also lead and support UAT and production rollouts, collaborate effectively with team members, and contribute to a culture of continuous improvement. A Bachelor's or Master's degree in a related field is required.
Requirements
- Total experience 10+years
- Extensive experience in back-end development utilizing Java 8 or higher, Spring Framework (Core/Boot/MVC), Hibernate/JPA
- Deep expertise in scalable architecture, cloud-native application development, and microservices
- Proven knowledge of distributed systems, event-driven architectures, and modern messaging technologies
- Strong experience in building applications using Microservices Architecture
- Hands-on experience with Docker, Kubernetes, and other containerization/orchestration tools
- Strong knowledge of REST/SOAP APIs, JSON, XML, PL/SQL
- Experience with both relational (SQL) and NoSQL databases, with a focus on performance tuning and scalability
- Proven experience with API security standards
- Strong understanding of DevOps practices, CI/CD pipelines, and code scanning tools
- Strong understanding of UML and design patterns
- Experience with multi-threading, performance tuning, and high-volume transaction systems
- Excellent communication, problem-solving, and interpersonal skills
- Bachelor’s or master’s degree in computer science, Information Technology, or a related field
Responsibilities
- Writing and reviewing great quality code
- Understanding functional requirements thoroughly and analyzing the client’s needs in the context of the project
- Envisioning the overall solution for defined functional and non-functional requirements, and being able to define technologies, patterns and frameworks to realize it
- Determining and implementing design methodologies and tool sets
- Enabling application development by coordinating requirements, schedules, and activities
- Being able to lead/support UAT and production roll outs
- Creating, understanding and validating WBS and estimated effort for given module/task, and being able to justify it
- Addressing issues promptly, responding positively to setbacks and challenges with a mindset of continuous improvement
- Giving constructive feedback to the team members and setting clear expectations
- Helping the team in troubleshooting and resolving of complex bugs
- Coming up with solutions to any issue that is raised during code/design review and being able to justify the decision taken
- Carrying out POCs to make sure that suggested design/technologies meet the requirements