Java Developer

CitiPune, Chennai, Maharashtra, Tamil NaduHybridFull-timeMid level, 2–5 yearsListed 1 day ago

Apply now

About this role

We are seeking a talented and motivated  Java Developer  to join our core engineering team. In this role, you will design, develop, test, and maintain robust, high-performance, and scalable enterprise applications. You will collaborate closely with cross-functional teams, including product managers, architects, UI/UX designers, and DevOps engineers, to deliver high-quality software solutions that meet business requirements and technical standards.

2. Key Responsibilities

Software Design & Development

- Design, build, and maintain scalable, reliable, and testable Java/J2EE applications and microservices.
- Write clean, maintainable, efficient, and well-documented code adhering to object-oriented programming (OOP) principles and SOLID design patterns.
- Design and implement RESTful APIs, SOAP services, and event-driven messaging systems.
- Optimize application performance, throughput, latency, and memory utilization.

Architecture & System Integration

- Participate in architectural discussions and system design reviews.
- Integrate backend services with relational (e.g., PostgreSQL, Oracle, MySQL) and NoSQL (e.g., MongoDB, Cassandra, Redis) databases.
- Integrate enterprise systems with message brokers (e.g., Apache Kafka, RabbitMQ, IBM MQ).
- Ensure seamless integration with third-party APIs and microservice ecosystems.

Testing & Quality Assurance

- Implement comprehensive automated unit and integration tests using frameworks such as JUnit, Mockito, and Testcontainers.
- Participate in peer code reviews to ensure adherence to software engineering standards, security practices, and quality metrics.
- Proactively identify bottlenecks, address bugs, and remediate security vulnerabilities.

DevOps & Deployment

- Collaborate with DevOps teams to design and optimize Continuous Integration and Continuous Deployment (CI/CD) pipelines (e.g., Jenkins, GitLab CI, GitHub Actions).
- Package and deploy containerized applications using Docker and orchestrate them via Kubernetes/OpenShift.
- Monitor application health and system performance using observability tools (e.g., Prometheus, Grafana, ELK Stack, Splunk).

3. Required Qualifications & Skills

Technical Skills

- Core Java & Frameworks: Strong proficiency in Java (Java 11 / 17 / 21) and Core Java concepts (Multithreading, Concurrency, Collections, Generics, Stream API).
- Hands-on experience with Spring Framework ecosystem (Spring Boot, Spring MVC, Spring Data JPA, Spring Security, Spring Cloud).

- Database Management & ORM: Solid understanding of relational database design, SQL indexing, and query optimization (PostgreSQL, Oracle, or MySQL).
- Experience with Object-Relational Mapping (ORM) tools (Hibernate, JPA, MyBatis).
- Familiarity with NoSQL databases (MongoDB, DynamoDB, Redis) is a plus.

- Microservices & API Design: Experience designing, securing, and implementing RESTful APIs (OpenAPI/Swagger) and Microservices architecture.
- Familiarity with API Gateways, Service Discovery, and Circuit Breaker patterns.

- Messaging & Event Streaming: Experience with message queues and event streaming platforms such as Apache Kafka, RabbitMQ, or ActiveMQ.

- Build Tools & Version Control: Experience with build and dependency management tools (Maven, Gradle).
- Proficiency with Git and modern branching workflows (Gitflow, trunk-based development).

Professional & Educational Qualifications

- Education:  Bachelor’s or Master’s degree in Computer Science, Software Engineering, Information Technology, or equivalent practical experience.
- Experience:  3+ years of professional software development experience in Java-based environments (Mid-level) or 5+ years (Senior-level).
- Problem Solving:  Strong analytical, problem-solving, and algorithmic thinking capabilities.
- Communication:  Excellent verbal and written communication skills with the ability to collaborate effectively across distributed teams.

4. Preferred / Nice-to-Have Skills

- Experience with cloud platforms (AWS, Azure, or Google Cloud Platform).
- Hands-on experience with containerization (Docker) and container orchestration (Kubernetes, OpenShift).
- Knowledge of secure coding practices (OWASP Top 10) and static analysis tools (SonarQube, Checkmarx).
- Familiarity with Agile/Scrum methodologies and tools (Jira, Confluence).
- Knowledge of reactive programming (Project Reactor, RxJava, Spring WebFlux) is an advantage.

Mobile and Web Development experience with Angular, Java & Python is preferred.

------------------------------------------------------

## Job Family Group:
Technology
------------------------------------------------------

## Job Family:
Digital Software Engineering
------------------------------------------------------

## 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.