C

Citi

Runs banking and payments for global clients

Java Spark Developer

Backend EngineeringConfirmed live in the last 24 hours
Full-timeChennai, Tamil Nadu, IndiaNo salary listedHybrid

About the Job

Requirements

  • Deep proficiency in Java, including Java 8/11/17+, multithreading, concurrency, object-oriented programming principles, memory management, and Java Virtual Machine internals.
  • Hands-on experience developing distributed applications with Apache Spark, including RDDs, DataFrames, Datasets, Spark SQL, and Spark Structured Streaming.
  • Strong working knowledge of distributed architecture, including HDFS and YARN, and distributed storage systems.
  • Practical experience with event streaming platforms such as Apache Kafka or RabbitMQ.
  • Advanced SQL capabilities and experience with relational databases such as PostgreSQL, Oracle, and MySQL, as well as NoSQL datastores.
  • Proficiency with Maven or Gradle and Git version control workflows.
  • A solid track record in Test-Driven Development using JUnit, Mockito, and distributed testing patterns.
  • A bachelor's or master's degree in Computer Science, Information Technology, Software Engineering, or a related technical discipline.
  • Three to six years of professional software engineering experience, including at least two to four years building scalable distributed data processing applications using Java and Apache Spark.

Responsibilities

  • Design, implement, and maintain robust, scalable data ingestion and ETL/ELT pipelines using Apache Spark Core, SQL, and Streaming, written in Java or interoperating with Scala.
  • Develop performant, low-latency microservices and distributed processing modules integrated with messaging platforms such as Apache Kafka.
  • Build and maintain interfaces to relational databases, distributed data lakes, and NoSQL stores such as Hive, Cassandra, HBase, MongoDB, Delta Lake, and Snowflake.
  • Profile, debug, and optimize Spark jobs by managing partitioning strategies, caching, broadcast variables, driver and executor memory allocation, and data serialization such as Kryo.
  • Analyze query execution plans, directed acyclic graphs, and Spark UI metrics to eliminate data skew, reduce shuffle overhead, and minimize bottleneck latencies.
  • Monitor resource utilization on cluster managers such as Kubernetes, Apache YARN, or cloud-native orchestration engines.
  • Design structured, semi-structured, and unstructured data storage schemas using columnar file formats such as Parquet, ORC, and Avro.
  • Implement data validation, cleansing, governance, and error-handling mechanisms across the ingestion lifecycle.
  • Apply encryption at rest and in transit and access-control policies to support data privacy and enterprise compliance.
  • Participate in Agile/Scrum ceremonies, sprint planning, and code reviews to support code quality standards.
  • Write unit, integration, and automated regression tests using frameworks such as JUnit, Mockito, and Spark Testing Base.
  • Configure and maintain continuous integration and continuous deployment pipelines using tools such as Jenkins, GitLab CI, or GitHub Actions.

Desired Qualifications

  • Experience building and deploying data architectures on AWS, including EMR, S3, Glue, and Athena; Azure, including Databricks, HDInsight, and ADLS; or Google Cloud, including Dataproc and BigQuery.
  • Hands-on exposure to Apache Iceberg, Delta Lake, or Apache Hudi.
  • Familiarity with Docker, Kubernetes, and workflow schedulers such as Apache Airflow or Luigi.
  • Familiarity with Scala or Python (PySpark).

About the Company

Citi

Runs banking and payments for global clients

Citi runs banking, investment and payment services for companies, governments and individuals around the world. Its global network connects institutions with local banking systems, while its US consumer business sells credit cards and deposit accounts. Corporate clients use Citi to manage cash, finance trade and raise capital, and investors use its trading, custody and wealth services to hold and manage assets. The bank earns interest on loans and fees from payments, securities transactions, financial advice and account services. Citi traces its banking roots to 1812; the Citigroup holding company was formed in 1998, and its headquarters are in New York City.

Company size
10,001+
Company stage
IPO
Headquarters
New York City, New York
Founded
1812

Recently Posted Jobs

Explore more opportunities at Citi

See more jobs