Associate Staff Software Engineer

Nagarro
Summary
Join Nagarro, a rapidly scaling Digital Product Engineering company, and contribute to the development of inspiring digital products and services. As a Full Stack Java Developer, you will leverage your extensive experience in Java frameworks, microservices, and front-end technologies to design, develop, and deploy high-quality applications. You will collaborate with cross-functional teams, troubleshoot complex issues, and contribute to continuous improvement initiatives. The ideal candidate possesses 5+ years of experience in modern Java development, proficiency in cloud technologies, and a strong understanding of software design principles. This role offers the opportunity to work on challenging projects and contribute to a dynamic and non-hierarchical work culture.
Requirements
- Total Experience 5+years
- Hands-on software development experience in modern Java Full Stack development
- Extensive experience with Java frameworks and libraries, including Spring Core, Spring Boot, Spring MVC, Hibernate/JPA and Microservices Architecture
- Experience in SOA based architecture, Web Services (Apache/CXF/JAXWS/JAXRS/SOAP/REST)
- Experience in Single Page Application (SPA) development
- Proficiency in front-end technologies including React, HTML, CSS, and JavaScript
- Strong knowledge of cloud-based architectures, development, and deployment with providers such as Azure, AWS, Amazon or any other cloud providers
- Hands on experience of RDBMS like SQL Server, Oracle, MySQL, PostgreSQL
- Hands on working experience with PostgreSQL and CosmosDB to store and manage data efficiently
- Familiarity with testing frameworks and methodologies (e.g., JUnit, Selenium)
- Strong expertise in designing and developing Web Services and REST APIs
- Hands-on experience deploying applications to hosted data centers or cloud environments using technologies such as Docker, Kubernetes, and Google Cloud Platform
- A good understanding of UML and design patterns
- Good understanding of front-end architecture, UI development, and data-driven design
- Ability to simplify solutions, optimize processes, and resolve escalated issues efficiently
- Strong problem-solving skills and a passion for continuous improvement
- Strong communication skills and the ability to collaborate effectively with cross-functional teams
- Enthusiasm for learning new technologies and staying updated on industry trends
- 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 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