Senior Java Developer - Microservices
Citigroup View all jobs
- Pune, Maharashtra
- Permanent
- Full-time
- Design, develop, and implement robust, scalable, and secure microservices using Java and related technologies.
- Lead the technical design and architecture of new features and enhancements, ensuring alignment with overall system architecture and best practices.
- Collaborate with product owners, architects, and other developers to translate business requirements into technical solutions.
- Write clean, maintainable, and efficient code, adhering to established coding standards and patterns.
- Conduct code reviews to ensure code quality, performance, and adherence to design principles.
- Identify and resolve complex technical issues, performing root cause analysis and implementing effective solutions.
- Participate in the full software development lifecycle, including planning, design, development, testing, deployment, and support.
- Mentor junior developers, sharing knowledge and promoting best practices within the team.
- Contribute to the continuous improvement of development processes, tools, and technologies.
- Stay up-to-date with emerging technologies and industry trends, particularly in Java, microservices, and cloud computing.
- Experience:
- 8+ years of professional experience in software development with a strong focus on Java.
- Extensive hands-on experience in designing and developing microservices architectures.
- Proven experience with Spring Boot, Spring Cloud, or similar frameworks for microservice development.
- Experience with containerization technologies (e.g., Docker, Kubernetes).
- Experience with cloud platforms (e.g., AWS, Azure, GCP) is a plus.
- Experience with messaging queues (e.g., Kafka, RabbitMQ) and API Gateways.
- Familiarity with CI/CD pipelines and DevOps practices.
- Technical Skills:
- Proficiency in Java (Java 8+).
- Deep understanding of object-oriented programming (OOP) principles and design patterns.
- Strong knowledge of RESTful API design and development.
- Experience with relational and NoSQL databases (e.g., PostgreSQL, MongoDB, Cassandra).
- Familiarity with testing frameworks (e.g., JUnit, Mockito).
- Understanding of distributed systems concepts, including fault tolerance, scalability, and consistency.
- Soft Skills:
- Exceptional problem-solving and analytical skills.
- Excellent written and verbal communication skills, with the ability to articulate complex technical concepts to both technical and non-technical stakeholders.
- Strong interpersonal skills and a proven ability to work effectively in a collaborative team environment.
- High degree of initiative and self-motivation.
- Education:
- Bachelor's or Master's degree in Computer Science, Engineering, or a related field.
- Experience with event-driven architectures.
- Knowledge of security best practices in microservices.
- Familiarity with performance tuning and optimization of Java applications.
- Contributions to open-source projects or active participation in the developer community.