Senior Software Engineer - Core Java & Apache Spark

Citi · Chennai · Posted 2026-07-18

Tech stack: Docker, Java, Jenkins, Kubernetes, MongoDB, PostgreSQL, SQL, Spring Boot

Apply on the company site · Get a referral for this role

Citi salary & ratings · Citi interview process · More live openings

About the role

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.
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.
- Experience with at least one produ
Qualifications: - 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

Qualifications

- 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

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.
- Experience with at least one produ

More openings at Citi