Java Developer

Citigroup Inc.
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Remote

Tech stack

Java
JavaScript
Agile Methodologies
Amazon Web Services (AWS)
Application Performance Management
Azure
Cloud Computing
Code Review
Data Structures
Relational Databases
Software Debugging
Software Design Patterns
Github
Gradle
Hibernate
Java Persistence API
Spring
JUnit
PostgreSQL
Maven
Message Broker
Microsoft SQL Server
MongoDB
MySQL
NoSQL
Object-Oriented Software Development
Oracle Applications
Performance Tuning
Scrum
RabbitMQ
Redis
Mockito
Software Engineering
Multithreading
Google Cloud Platform
Java Application Server
Test Driven Development
Sql Optimization
React
System Availability
Spring-boot
Backend
GIT
Containerization
Angular
Gitlab-ci
Kubernetes
Information Technology
Cassandra
Kafka
Build Tools
Front End Software Development
REST
Software Version Control
Docker
Jenkins
Microservices

Job description

We are looking for a skilled Java Developer to join our engineering team. The ideal candidate will be responsible for designing, developing, and maintaining high-performance, scalable, and resilient applications using modern Java technologies. This role requires strong technical expertise, a passion for problem-solving, and the ability to contribute significantly to our product development lifecycle, from concept to deployment. The Senior Java Developer will also mentor junior team members and contribute to architectural discussions., * Design, develop, and maintain robust, scalable, and high-performance backend applications and services using Java and the Spring ecosystem (Spring Boot, Spring Framework).

  • Write clean, efficient, well-documented, and testable code following best practices and design patterns.
  • Collaborate with product owners, architects, and other developers to understand requirements, define technical specifications, and deliver innovative solutions.
  • Participate in all phases of the software development lifecycle, including analysis, design, development, testing, deployment, and support.
  • Optimize application performance, identify bottlenecks, and implement solutions to ensure high availability and responsiveness.
  • Conduct code reviews, provide constructive feedback, and ensure adherence to coding standards and architectural guidelines.
  • Troubleshoot and debug complex issues in development and production environments.
  • Mentor junior developers, share knowledge, and contribute to a culture of continuous learning and improvement.
  • Stay up-to-date with emerging technologies, industry trends, and best practices in Java development and software engineering.

Requirements

  • Bachelor's or Master's degree in Computer Science, Software Engineering, or a related technical field.
  • Professional experience in Java development.
  • Strong expertise in Core Java, including multithreading, data structures, algorithms, and object-oriented design principles.
  • Extensive experience with Spring Framework and Spring Boot for building microservices and RESTful APIs.
  • Solid understanding and hands-on experience with relational databases (e.g., PostgreSQL, Oracle, MySQL, SQL Server), including advanced SQL, schema design, and ORM frameworks (e.g., Hibernate, JPA).
  • Experience with building and consuming RESTful web services.
  • Proficiency with build tools such as Maven or Gradle.
  • Experience with version control systems, particularly Git.
  • Familiarity with Agile development methodologies (Scrum, Kanban).
  • Strong problem-solving skills, attention to detail, and ability to work independently and as part of a team.
  • Excellent communication skills, both written and verbal., * Experience with NoSQL databases (e.g., MongoDB, Cassandra, Redis).
  • Familiarity with cloud platforms (e.g., AWS, Azure, GCP) and containerization technologies (e.g., Docker, Kubernetes).
  • Experience with message brokers (e.g., Kafka, RabbitMQ).
  • Knowledge of testing frameworks (e.g., JUnit, Mockito) and experience with Test-Driven Development (TDD).
  • Understanding of CI/CD pipelines and tools (e.g., Jenkins, GitLab CI, GitHub Actions).
  • Experience with performance tuning and optimization of Java applications.
  • Familiarity with front-end technologies (e.g., JavaScript, React, Angular) is a plus, but not required for this backend-focused role.

Benefits & conditions

By joining Citi, you will not only be part of a business casual workplace with a hybrid working model (up to 2 days working at home per week), but also receive a competitive base salary (which is annually reviewed), and enjoy a whole host of additional benefits such as:

  • 27 days annual leave (plus bank holidays)
  • A discretional annual performance related bonus
  • Private Medical Care & Life Insurance
  • Employee Assistance Program
  • Pension Plan
  • Paid Parental Leave
  • Special discounts for employees, family, and friends
  • Access to an array of learning and development resources

About the company

Working at Citi is far more than just a job. A career with us means joining a team of more than 230,000 dedicated people from around the globe. At Citi, you'll have the opportunity to grow your career, give back to your community and make a real impact., Engineer the future of global finance. At Citi, our Tech team doesn't just support finance - we are helping to redefine it. Every day, $5 trillion crosses through our network. We do business in 180+ countries operating at a scale few can match. From deploying advanced AI to helping shape global markets, we build systems that matter. Look to join a team where your work helps influence economies, your ideas can drive innovation and outcomes, and your growth is backed by mentorship, continuous learning and flexibility with potential hybrid work opportunities. Help solve real-world challenges that touch millions and get the opportunity to build the future of finance with Citi Tech.

Apply for this position