Software Engineer - Java

imcยท Development (Group)
Apply Now โ†—
๐Ÿ“ Mumbai, India

About this role

We are seeking a driven Java engineer to join our global research platform team in Mumbai. The team builds and operates the compute and data platform that powers all of IMC's quantitative research: a large-scale Kubernetes-based research cluster, a distributed job scheduling platform used by every trading and research team, and the market-data and dataset services that feed research on it. Mumbai runs one of the platform's regional production deployments, and you'll collaborate closely with platform colleagues in Amsterdam, Chicago and Sydney.ย 

ย 

Your Core Responsibilities:ย 

  • Design, build and operate the Java backend of our distributed job scheduling platform: the job controller and state machine, scheduling integrations, resource and cost tracking, and the failure-recovery machinery that keeps research workloads running at scale
  • Develop gRPC/protobuf APIs consumed by Python, Java and C++ clients across the firm
  • Build event-driven services on Kafka for job lifecycle tracking, data lineage, and dataset orchestration
  • Work hands-on with Kubernetes at scale: pod scheduling, fair-share queueing, preemption and multi-cluster placement
  • Instrument, monitor and firefight production systems, and drive root-cause analysis of performance bottlenecks
  • Support and consult research users in the India office

ย 

Your Skills and Experience:ย 

  • 3+ years of professional Java development experience (Java 17+, Maven/Gradle, strong grasp of concurrency and JVM performance)
  • 2+ year of hands-on experience with Kubernetes and Docker (building on the K8s API is a strong plus)
  • Comfortable developing in Python; our client libraries and research users are Python-first, and you'll work on both sides of the API
  • Solid understanding of distributed systems fundamentals: state machines, retries/idempotency, event-driven architectures, consistency trade-offs
  • Experience with workload scheduling or batch/compute orchestration systems (e.g. Kubernetes schedulers, Slurm, YARN, Kueue, Ray, Airflow)
  • Experience with messaging/streaming systems such as Kafka
  • Working knowledge of NoSQL and time-series/SQL databases (e.g. MongoDB, PostgreSQL)
  • Experience with gRPC/protobuf or similar RPC frameworks is a plus
  • Strong Linux fundamentals and scripting (bash, Python)
  • Experience with monitoring stacks (Prometheus, Grafana, alerting) and comfort operating what you build
  • Demonstrated ability to troubleshoot across the stack from application code through Kubernetes to network and storage
  • Exposure to object storage (S3) or high-performance data formats (Parquet, Iceberg)

About Us

IMC is a research-driven trading firm where quantitative modeling, machine learning, and engineering shape how modern markets are traded. A stabilizing force in markets since 1989, we provide liquidity across trading venues, delivering the best outcome in value and risk management to investors. Using our own technology and capital, we build proprietary systems and algorithms that operate across global markets. Our researchers, traders, and engineers work as a collective, combining rapid experimentation, advanced infrastructure, and real-time feedback to turn insight into execution and execution into advantage.

ย 

Frequently Asked Questions

Is the salary disclosed for the Software Engineer - Java position at imc?
The salary for this Software Engineer - Java role at imc is not publicly listed. Click "Apply Now" to learn more about the compensation package on their official careers page.
Where is the Software Engineer - Java position at imc located?
This Software Engineer - Java role at imc is based in Mumbai, India. The position is listed as on-site or hybrid. Check the full job description or apply directly to confirm the work arrangement.
Which team or department does the Software Engineer - Java at imc belong to?
This Software Engineer - Java position is part of the Development (Group) department at imc. See the full job description for more information about the team structure and responsibilities.
How do I apply for the Software Engineer - Java position at imc?
Click the "Apply Now" button on this page. You will be redirected to imc's official application portal hosted on greenhouse where you can submit your application directly.
When was the Software Engineer - Java job at imc posted?
This Software Engineer - Java position at imc was posted on Sep 16, 2026. Apply as soon as possible โ€” early applications are often reviewed first.
Software Engineer - Java
imc
Apply for this role โ†—

You'll be redirected to imc's official application page on Greenhouse.