Job Details
The Senior Java Developer will be responsible for designing, developing, and maintaining high-performance, scalable, and resilient Java-based applications. This role requires a strong understanding of the software development lifecycle, excellent problem-solving skills, and a passion for building robust and efficient systems. The ideal candidate will mentor junior developers, drive best practices, and contribute to architectural decisions.
Key Responsibilities- Lead the design, development, and implementation of complex Java applications and microservices.
- Write clean, maintainable, and efficient code following best practices and coding standards.
- Collaborate with product owners, architects, and other developers to define, design, and ship new features.
- Troubleshoot, debug, and optimize existing systems to improve performance and scalability.
- Conduct code reviews to ensure code quality, adherence to standards, and identify potential issues.
- Mentor and guide junior developers, fostering a culture of continuous learning and improvement.
- Contribute to architectural discussions and decisions, helping to shape the future of our technical landscape.
- Implement and maintain CI/CD pipelines to ensure automated testing and deployment.
- Stay up-to-date with emerging technologies and industry trends, advocating for their adoption where appropriate.
- Participate in all phases of the software development lifecycle, from requirements gathering to deployment and support.
- Bachelor's or Master's degree in Computer Science, Engineering, or a related field.
- 5+ years of professional experience in Java development.
- Strong proficiency in Java 8+ and its ecosystem (Spring Framework, Spring Boot, Hibernate, Maven/Gradle).
- Extensive experience with designing and developing RESTful APIs.
- Solid understanding of object-oriented programming (OOP) principles and design patterns.
- Experience with relational databases (e.g., PostgreSQL, MySQL, Oracle) and SQL.
- Familiarity with version control systems (e.g., Git).
- Experience with Agile development methodologies (Scrum, Kanban).
- Excellent problem-solving, analytical, and communication skills.
- Ability to work independently and as part of a team in a fast-paced environment.
- Experience with cloud platforms (e.g., AWS, Azure, Google Cloud Platform).
- Familiarity with containerization technologies (e.g., Docker, Kubernetes).
- Experience with messaging queues (e.g., Kafka, RabbitMQ, ActiveMQ).
- Knowledge of front-end technologies (e.g., JavaScript, React, Angular) is a plus.
- Experience with NoSQL databases (e.g., MongoDB, Cassandra).
- Understanding of microservices architecture and distributed systems.
- Experience with performance testing and tuning.
- Certification in Java or related technologies.
------------------------------------------------------
Job Family Group:
Technology------------------------------------------------------
Job Family:
Applications Development------------------------------------------------------
Time Type:
Full time------------------------------------------------------
Most Relevant Skills
Please see the requirements listed above.------------------------------------------------------
Other Relevant Skills
For complementary skills, please see above and/or contact the recruiter.------------------------------------------------------
Citi is an equal opportunity employer, and qualified candidates will receive consideration without regard to their race, color, religion, sex, sexual orientation, gender identity, national origin, disability, status as a protected veteran, or any other characteristic protected by law.
If you are a person with a disability and need a reasonable accommodation to use our search tools and/or apply for a career opportunity review Accessibility at Citi.
View Citi’s EEO Policy Statement and the Know Your Rights poster.