As a Senior Full Stack Java Developer, your primary responsibility will be to drive the development of robust, scalable, and efficient software solutions across the full stack. You will work closely with cross-functional teams to ensure that the delivered products meet the functional and non-functional requirements.
Responsibilities
- Code Development & Review. Write, review, and maintain high-quality, scalable, and efficient code to build enterprise-grade applications.
- Solution Design & Architecture. Analyze and understand functional requirements and envision a technical solution that aligns with the project goals. Design, define, and implement technology stacks, patterns, and frameworks.
- Cross-functional Collaboration. Work collaboratively with product managers, designers, QA engineers, and other developers to ensure successful delivery of features and functionalities.
- Design & Development of Web Services & APIs. Take ownership of designing and developing RESTful APIs and Web Services, ensuring they align with project requirements.
- Cloud & DevOps Expertise. Lead deployment activities on cloud platforms like AWS, GCP, and Azure. Implement containerization technologies like Docker, and utilize orchestration tools such as Kubernetes for seamless application management.
- Code Quality & Performance Optimization. Use tools like SonarQube and Veracode to ensure clean, maintainable, and secure code. Optimize application performance and scalability by following best practices and utilizing modern tools.
- Software-as-a-Service (SaaS) Development. Contribute to the development of SaaS applications, ensuring scalability, security, and high availability.
- Continuous Improvement. Troubleshoot and resolve complex technical issues, mentor junior team members, and continuously improve development processes. Participate in code reviews and offer constructive feedback to foster a culture of excellence.
- Deployment & Rollouts. Lead/support User Acceptance Testing (UAT) and assist in production rollouts, ensuring that the applications meet customer expectations.
Skills & Qualifications
- Experience. A minimum of 10+ years of hands-on software development experience with a strong focus on Java Full Stack development.
- Java Expertise. Proficient in Java frameworks such as Spring Core, Spring Boot, Spring MVC, and Hibernate/JPA. Experience with Microservices Architecture is essential.
- Service-Oriented Architecture (SOA). Experience designing and implementing Web Services (REST/SOAP), using technologies such as Apache CXF, JAXWS, JAXRS.
- Front-End Technologies. Strong knowledge of Single Page Applications (SPA), including experience with Angular 8, HTML5, CSS3, and JavaScript.
- Cloud Development. Hands-on experience building and deploying applications using Amazon AWS, Google Cloud, or Azure.
- Message Queues. Experience working with Kafka, RabbitMQ, or ActiveMQ.
- Containerization & Orchestration. Proficient in Docker, Kubernetes, and other containerization technologies for deployment and management in cloud environments.
- Databases. Experience with both relational databases (like PostgreSQL, MySQL) and NoSQL databases (like MongoDB, Redis, Elasticsearch).
- Software Development Lifecycle. Familiarity with Agile development methodologies and an understanding of the importance of UML, design patterns, and best practices in software design.
- DevOps Tools. Knowledge of CI/CD practices, version control with Git, and experience with code quality and security tools like SonarQube and Veracode.
- Problem-Solving & Analytical Skills. Strong analytical skills, with the ability to troubleshoot and resolve issues, optimize processes, and simplify complex solutions.
Preferred Qualifications
- Education. A Bachelor’s or Master’s degree in Computer Science, Information Technology, or a related field is preferred.
- Leadership & Communication. Proven ability to communicate effectively with cross-functional teams and lead by example. Excellent verbal and written communication skills are essential for working with stakeholders and ensuring project success.
Why Nagarro?
Joining Nagarro means more than just a job. It’s an opportunity to be part of a rapidly growing company that values creativity, innovation, and individual growth. Our team members thrive in a flexible, non-hierarchical environment where they are empowered to bring new ideas to the table.