Senior Software Engineer - Core Java & Apache Spark

Posted 4 Days Ago
Be an Early Applicant
2 Locations
Hybrid
Senior level
Financial Services
The Role
Design, build, and optimize high-throughput Java and Apache Spark systems processing massive datasets. Responsibilities include JVM and Spark performance tuning, distributed systems architecture, relational and NoSQL database engineering, containerized deployments, CI/CD automation, secure and test-driven development, and technical leadership through design reviews and mentoring.
Summary Generated by Built In

Senior Software Engineer - Core Java & Apache Spark

We are hiring an elite Senior Software Engineer to build and scale our core data processing and application infrastructure. This role demands deep, hands-on expertise in the Java ecosystem and distributed computing with Apache Spark. You will be responsible for the architecture, design, and implementation of mission-critical systems that process massive datasets, requiring a mastery of concurrency, JVM internals, and modern cloud-native patterns.

Core Tech Stack:
  • Languages & Runtimes: Java (8+), SQL, JVM
  • Frameworks & Libraries: Spring (Boot, Data, Security, Batch, Integration), Apache Spark (RDD, Spark SQL, DataFrames/DataSets)
  • Big Data Ecosystem: Hadoop, Hive, Impala, Spark Tuning & Optimization
  • Databases: Relational (e.g., PostgreSQL, Oracle), NoSQL (MongoDB, Graph DB)
  • Messaging & Middleware: JMS, Solace
  • Containerization & Orchestration: Docker, Kubernetes, OpenShift
  • Build & CI/CD: Maven, Gradle, Jenkins, Git
  • Code Quality & Security: SonarQube, TDD (JUnit/Mockito), Secure Coding Practices
Key Responsibilities:
  • Architect & Build: Design and construct high-throughput, low-latency data processing pipelines using Apache Spark and the Spring ecosystem.
  • Performance Engineering: Dive deep into JVM internals, garbage collection tuning, and Spark job optimization to maximize performance and resource efficiency.
  • Distributed Systems Design: Implement scalable, resilient, and transactional architectures leveraging container orchestration (Kubernetes/OpenShift) and distributed data stores.
  • Code & Design Excellence: Champion and enforce best practices in software engineering, including SOLID principles, advanced design patterns, Domain-Driven Design (DDD), and Test-Driven Development (TDD).
  • Database Mastery: Engineer and optimize data models for both relational and NoSQL databases, ensuring data integrity, performance, and scalability.
  • CI/CD Automation: Own and enhance CI/CD pipelines for automated build, test, and deployment of Java applications and Spark jobs in a containerized environment.
  • Technical Leadership: Lead design and code reviews, mentor junior engineers, and drive the adoption of new technologies and architectural patterns across the team.
Required Technical Qualifications:
  • Core Java & JVM: Expert-level proficiency in Java, including the Collections Framework, Lambdas, and the Java Concurrency API. Demonstrable experience tuning the JVM and troubleshooting memory/GC issues.
  • Apache Spark: Proven, hands-on experience developing, deploying, and tuning complex Spark applications for large-scale data transformation and analysis.
  • Spring Ecosystem: Extensive, practical experience with the Spring Framework, particularly Spring Boot, Spring Data, and Spring Batch in a production environment.
  • Data Structures & Algorithms: Deep understanding of fundamental data structures and algorithms, with a focus on their application in distributed computing and performance-critical systems.
  • Containerization & Cloud-Native: Hands-on experience with Docker for building images and Kubernetes/OpenShift for deploying and managing distributed applications.
  • Database Engineering: Strong command of SQL and relational database design, including transaction management and indexing. Experience with at least one production NoSQL database (MongoDB, Graph DB, etc.).
  • Architectural Design: Practical application of OOP, SOLID, and DDD principles to build maintainable and scalable systems. You write tests first (TDD) and believe in robust, automated testing.

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

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 Required

  • Expert proficiency in Java, including collections, lambdas, concurrency, JVM tuning, and memory or garbage-collection troubleshooting.
  • Hands-on experience developing, deploying, and tuning complex Apache Spark applications for large-scale data processing.
  • Extensive production experience with Spring Framework, particularly Spring Boot, Spring Data, and Spring Batch.
  • Deep understanding of data structures and algorithms, especially for distributed and performance-critical systems.
  • Hands-on experience with Docker and Kubernetes or OpenShift.
  • Strong SQL and relational database design skills, including transactions and indexing.
  • Production experience with at least one NoSQL database, such as MongoDB or a graph database.
  • Practical application of object-oriented programming, SOLID, and domain-driven design principles.
  • Experience with test-driven development and robust automated testing.
Am I A Good Fit?
beta
Get Personalized Job Insights.
Our AI-powered fit analysis compares your resume with a job listing so you know if your skills & experience align.

The Company
HQ: New York, NY
226,610 Employees
Year Founded: 1998

What We Do

Citigroup is a global diversified financial services holding company serving consumers, corporations, governments and institutions. It provides consumer banking and credit, corporate and investment banking, securities brokerage, trade and securities services, and wealth management. Operating across nearly 160 countries and jurisdictions, Citi aims to be a leading partner for institutions with cross-border needs, a global wealth manager, and a valued personal bank in the United States.

Similar Jobs

Citi Logo Citi

Senior Software Engineer

Fintech • Financial Services
In-Office
2 Locations
223850 Employees

Hilton Logo Hilton

Office Manager

Events • Food • Travel • Hospitality • Hotels & Resorts
In-Office
Pune, Mahārāshtra, IND
500000 Employees

Hilton Logo Hilton

Photographer

Events • Food • Travel • Hospitality • Hotels & Resorts
In-Office
Pune, Mahārāshtra, IND
500000 Employees

Capco Logo Capco

Product Manager

Fintech • Professional Services • Consulting • Energy • Financial Services • Cybersecurity • Generative AI
Remote or Hybrid
India
6000 Employees

Similar Companies Hiring

Granted Thumbnail
Artificial Intelligence • Healthtech • Insurance • Mobile • Financial Services
New York, New York
23 Employees
Hanover Park Thumbnail
Artificial Intelligence • Fintech • Software • Financial Services
New York, New York
42 Employees
Onshore Thumbnail
Artificial Intelligence • Fintech • Software • Financial Services
New York, New York
85 Employees

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account