Skip to main content
← Back to search
IT

Software Engineer (Java) - Global Research Platform

IMC Trading

Salary undisclosed

Mumbai, IndiaFull-timeOn-siteIntermediate

Need a reasonable accommodation to apply or interview? Contact us.

JobMinglr uses automated technology to recommend jobs based on profile information and job preferences. Match Score does not determine eligibility for a position, prevent a user from viewing or applying to a job, or make hiring decisions on behalf of an employer.

Description

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.

 

About this role

IMC's research platform team in Mumbai is building the infrastructure that powers quantitative trading across the firm—a large-scale Kubernetes cluster, distributed job scheduler, and data services that run research workloads globally. You'd own the Java backend of the job scheduling system, designing the controller, state machine, failure recovery, and resource tracking that keeps research at scale. The role spans the full stack: building gRPC APIs for Python and C++ clients, developing event-driven services on Kafka, operating Kubernetes in production, and supporting research users in the India office. You'll collaborate across regional teams in Amsterdam, Chicago, and Sydney, and spend significant time troubleshooting and optimizing live systems.

This role demands depth across multiple domains. You'll need 3+ years of professional Java experience with strong concurrency and JVM performance knowledge, plus hands-on Kubernetes and Docker expertise. Equally important is fluency in Python—you'll work on both sides of the API—and solid grounding in distributed systems (state machines, event-driven architectures, consistency models). Experience with workload scheduling systems, Kafka, and database technologies (SQL and NoSQL) is expected. You should be comfortable operating what you build, with experience in monitoring stacks and the ability to debug across application code, infrastructure, and networking layers.

This suits engineers who thrive in high-complexity, production-critical environments and want to see their infrastructure decisions directly impact trading operations. If you're strong in Java and Kubernetes but have gaps in scheduling systems or Kafka, the core skills are there—the domain knowledge can be learned on the job.

How this employer is doing

solid

  • Hiring Mentioned

This role's local market on JobMinglr

Pay for this role

The employer didn't post a pay range for this role. That usually means pay is set in negotiation, which favors whoever arrives with numbers. Check ranges on comparable Software Engineer (Java) - Global Research Platform postings in Mumbai, and analyze any offer before you accept it.

How JobMinglr reads this job

Every listing here is scored against your profile before you apply: skills overlap, experience level, location and work arrangement, each weighted and explained. You see the score and the reasons, not just a list. How the matching works.