JobMatchApply
Back to results
C

Senior Software Engineer - Core Java & Apache Spark

Citi · Chennai Tamil Nadu India

On-site / hybridData Engineering 133 days ago

Is it worth applying?

AI checks visa and location, seniority and red flags, not just keywords.

??/100
Sign in to score

AI scoring needs a free account: you get 3 free AI scores after signing in.

About the job

Skills mentioned in this posting (20)

JavaSQLKubernetesCI/CDDockerGitAutomationSpring BootAPIsCloudDistributed SystemsPostgreSQLMongoDBSparkHadoopNoSQLOracleJenkinsMaven / GradleJUnit

Sign in and add your skills to see which ones you're missing.

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.