Position Title: Senior Software Engineer
Team: Indexes Technology, Morningstar India Pvt Ltd
The Area
The Morningstar Indexes Team leverages its expertise in equity research, manager research, asset allocation, and portfolio construction to create innovative investment solutions. It uses Morningstar’s intellectual property to create indexes that empower investors to achieve their goals at every stage of the investment process—market monitoring, benchmarking, and asset allocation. The fast-growing business offers a broad suite of global equity, bond, commodity and asset allocation indexes.
The Indexes Technology team builds and operates the data platforms that power Morningstar’s index and mutual fund products — including large-scale financial data pipelines, survivor-bias-free historical databases, and cloud-native services on AWS. We process terabytes of market and fund data with strict correctness, auditability, and performance requirements.
The Role
We are looking for a hands-on Senior/Lead Software Engineer with deep Python expertise to design, build, and operate high-throughput data services and APIs. You will work across the full lifecycle: data ingestion and transformation at scale, service design, performance tuning, and production operations. Strong Java engineers with solid working Python experience are also encouraged to apply — our stack includes Java services, and polyglot engineers thrive here.
As a Lead, you will additionally drive technical design reviews, mentor engineers, own delivery of multi-quarter initiatives, and raise the engineering bar across the team.
Responsibilities
Design and build production-grade Python services and REST APIs (FastAPI/Flask) powering index and fund data products.
Build high-throughput data processing pipelines using Pandas/NumPy and Python concurrency (multiprocessing, asyncio) over large financial datasets (tens of GBs to TBs).
Own microservice design end to end: API contracts, error handling, idempotency, retries, observability, and deployment.
Write well-tested, maintainable code with pytest (unit, integration, and data-quality tests) and modern dependency tooling (Poetry/uv).
Work with relational databases (PostgreSQL) for schema design, bulk loading, and query performance on large datasets.
Operate services in AWS (S3, RDS, ECS/Lambda, IAM) with a focus on reliability, cost, and security.
Leverage AI-assisted development tools (GitHub Copilot, Claude) responsibly to improve team productivity.
(Lead level) Lead technical design, conduct code and architecture reviews, mentor SSEs, and partner with product and data teams on roadmap and delivery.
Requirements
Completed bachelor’s or master degree in engineering, Computer Science, or a related field.
5–8 years of backend development experience for Senior level
Python (expert level): Idiomatic, production-quality code; strong grasp of the language internals (GIL, memory model, iterators/generators, context managers).
Web frameworks: Hands-on experience building REST APIs and microservices with FastAPI or Flask, including auth, validation, versioning, and error handling.
Data processing: Pandas and NumPy on large datasets — vectorization, memory optimization, chunked processing.
Concurrency: Practical experience with multiprocessing (and ideally asyncio/threading) — when to use each, and the failure modes.
Engineering fundamentals: Strong data structures and algorithms, robust exception handling and failure-mode design (retries, timeouts, idempotency, graceful degradation).
Testing: pytest — fixtures, parametrization, mocking, coverage discipline.
Tooling: Modern Python packaging and dependency management (Poetry or uv), virtual environments, reproducible builds.
Distributed systems: Solid understanding of REST API design and microservices patterns (service boundaries, inter-service communication, observability).
Good to Have
AWS: S3, RDS/Aurora PostgreSQL, Lambda, ECS, IAM, CloudWatch; infrastructure-as-code exposure.
SQL / PostgreSQL: Query tuning, indexing, bulk loading, working with multi-GB tables.
Kafka or other event-streaming platforms (MSK, event-driven architectures).
AI-assisted engineering: Effective use of GitHub Copilot / LLM tooling; interest in agentic AI, MCP, or RAG systems.
Java / Spring Boot: Ability to contribute to our existing Java services (strong Java engineers with working Python are welcome).
CI/CD and containers: Docker, GitHub Actions/Jenkins, deployment automation.
Domain exposure to financial data — market data, indexes, mutual funds, or securities reference data.
What Sets Lead Candidates Apart
Track record of owning system design for services handling large data volumes or high throughput.
Experience mentoring engineers and driving engineering standards (code review culture, testing discipline, observability).
Ability to make and defend architecture trade-offs (build vs. buy, sync vs. async, cost vs. performance).
Incident ownership experience — triage, RCA, and driving permanent fixes.
Why Join Us
Work on financial data platforms at genuine scale, with real correctness and performance challenges.
Modern cloud-native stack (AWS, PostgreSQL, Python 3.12+, Kafka) with active investment in AI-assisted engineering and agentic AI tooling.
A team culture of technical depth, ownership, and continuous learning — including sponsored executive education and AI upskilling programs.
EOE Statement
Morningstar is an equal opportunity employer.
Morningstar's hybrid work environment gives you the opportunity to collaborate in-person each week as we've found that we're at our best when we're purposely together on a regular basis. In most of our locations, our hybrid work model is four days in-office each week. A range of other benefits are also available to enhance flexibility as needs change. No matter where you are, you'll have tools and resources to engage meaningfully with your global colleagues.
I10_MstarIndiaPvtLtd Morningstar India Private Ltd. (Delhi) Legal Entity
