Staff Engineer, Java
- Full-time
- Service Region: South Asia
Company Description
👋🏼We're Nagarro.
We are a Digital Product Engineering company that is scaling in a big way! We build products, services, and experiences that inspire, excite, and delight. We work at scale across all devices and digital mediums, and our people exist everywhere in the world (18000+ experts across 38 countries, to be exact). Our work culture is dynamic and non-hierarchical. We are looking for great new colleagues. That's where you come in!
Job Description
REQUIREMENTS:
- Total experience 7+ years
- Extensive experience in back-end development utilizing Java 8 or higher, Spring Framework (Core/Boot/MVC), Hibernate/JPA, and Microservices Architecture.
- Experience with messaging systems like Kafka.
- Hands-on experience with REST APIs, Caching system (e.g Redis) etc.
- Proficiency in Service-Oriented Architecture (SOA) and Web Services (Apache CXF, JAX-WS, JAX-RS, SOAP, REST).
- Hands-on experience with multithreading, and cloud development.
- Strong working experience in Data Structures and Algorithms, Unit Testing, and Object-Oriented Programming (OOP) principles.
- Hands-on experience with relational databases such as SQL Server, Oracle, MySQL, and PostgreSQL.
- Experience with DevOps tools and technologies such as Ansible, Docker, Kubernetes, Puppet, Jenkins, and Chef.
- Proficiency in build automation tools like Maven, Ant, and Gradle.
- Hands on experience on cloud technologies such as AWS/ Azure.
- Strong understanding of UML and design patterns.
- Ability to simplify solutions, optimize processes, and efficiently resolve escalated issues.
- Strong problem-solving skills and a passion for continuous improvement.
- Excellent communication skills and the ability to collaborate effectively with cross-functional teams.
- Enthusiasm for learning new technologies and staying updated on industry trends
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
Qualifications
Bachelor’s or master’s degree in computer science, Information Technology, or a related field.