Java Developer
We are seeking a highly skilled and motivated Java Developer to join our dynamic technology team. In this role, you will be responsible for the design, development, implementation, and maintenance of high-performance, scalable, and reliable enterprise-grade Java applications.
You will collaborate closely with product managers, system architects, QA engineers, and DevOps specialists to deliver robust software solutions that align with our business objectives. The ideal candidate is a passionate problem-solver who thrives in an agile environment, writes clean and maintainable code, and is committed to continuous learning and technical excellence.
Key Responsibilities
1. Software Design & Development
- Feature Implementation: Design, build, and maintain efficient, reusable, and reliable Java code for backend services and APIs.
- System Architecture: Contribute to architectural and design discussions, ensuring applications are built for scalability, security, and high availability.
- Database Integration: Design and optimize database schemas, write complex SQL queries, and integrate applications with relational and non-relational databases.
- API Development: Develop and document secure, high-performance RESTful web services and microservices.
2. Quality Assurance & Testing
- Unit & Integration Testing: Write comprehensive unit tests using JUnit and Mockito to ensure high code coverage and minimize regressions.
- Code Reviews: Participate actively in peer code reviews, providing constructive feedback to maintain code quality and enforce team standards.
- Debugging & Troubleshooting: Identify bottlenecks, bugs, and performance issues, and implement effective, long-term resolutions.
3. Collaboration & Agile Practices
- Agile Ceremonies: Participate in daily stand-ups, sprint planning, backlog grooming, and retrospective meetings.
- Cross-Functional Alignment: Work closely with frontend developers to integrate user-facing elements with server-side logic, and with QA teams to facilitate automated testing.
- Documentation: Maintain clear and up-to-date technical documentation, including API specifications, system diagrams, and deployment guides.
4. DevOps & Continuous Improvement
- CI/CD Pipeline Integration: Support the automation of build, test, and deployment processes using CI/CD tools.
- Performance Tuning: Monitor and optimize application performance, memory usage, and resource utilization in production and non-production environments.
Technical Requirements
Core Skills (Required)
- Java Expertise: Strong proficiency in Core Java (Java 8/11/17+), including deep understanding of Object-Oriented Programming (OOP) principles, Multithreading, Concurrency, Collections, and Exception Handling.
- Frameworks: Extensive experience with the Spring Ecosystem (Spring Boot, Spring MVC, Spring Security, Spring Data, Spring Cloud) and Hibernate/JPA for Object-Relational Mapping.
- Web Services: Proven experience designing and consuming RESTful APIs (JSON/XML).
- Databases:
- Relational: Strong knowledge of SQL and experience with databases such as PostgreSQL, MySQL, or Oracle.
- NoSQL (Preferred): Familiarity with MongoDB, Redis, or Cassandra.
- Build & Version Control: Proficiency with build automation tools (Maven or Gradle) and version control systems (Git).
- Testing Frameworks: Experience with JUnit, Mockito, or similar testing libraries.
Preferred & Cloud Skills (Highly Desirable)
- Cloud Platforms: Experience deploying and managing applications on cloud infrastructure (AWS, Azure, or Google Cloud Platform).
- Containerization & Orchestration: Familiarity with Docker and Kubernetes.
- Microservices Architecture: Understanding of distributed systems, service discovery, API gateways, and message brokers (e.g., Apache Kafka, RabbitMQ).
- CI/CD Tools: Experience with Jenkins, GitLab CI, or GitHub Actions.
- Security Best Practices: Knowledge of OWASP Top 10, OAuth2, OIDC, and secure coding practices.
Qualifications & Experience
- Education: Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Information Technology, or a related technical field (or equivalent practical experience).
- Experience Levels:
- Junior Developer: 2+ years of professional software development experience.
Soft Skills & Competencies
- Analytical Thinking: Strong analytical and problem-solving skills with the ability to dissect complex technical challenges.
- Communication: Excellent verbal and written communication skills, with the ability to explain technical concepts to non-technical stakeholders.
- Team Player: Collaborative mindset with a strong sense of ownership and accountability for deliverables.
- Adaptability: Eagerness to learn new technologies, frameworks, and methodologies as business needs evolve.
------------------------------------------------------
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.
Skills
- Accessibility
- Agile
- API
- Automation
- AWS
- Azure
- Cassandra
- CI/CD
- Cloud
- Containerization
- DevOps
- Distributed Systems
- Docker
- GCP
- Git
- GitHub
- GitHub Actions
- GitLab
- Gradle
- Hibernate
- Java
- Jenkins
- JPA
- JSON
- JUnit
- Kafka
- Kubernetes
- Maven
- Microservices
- Mockito
- MongoDB
- Multithreading
- MVC
- MySQL
- NoSQL
- OAuth
- OOP
- OpenID
- Oracle
- OWASP
- PostgreSQL
- RabbitMQ
- Redis
- REST
- Secure Coding
- Spring
- SQL
- Test Automation
- Version Control
- XML