Software Engineer – Python Java (Spring Boot)
Position Title: Software Engineer 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 Role The Indexes Technology team is looking for a hands-on backend engineer with strong Python skills and working Java experience. You will build and maintain REST APIs, microservices, and data processing components that power Morningstar’s index and mutual fund data platforms, working in an Agile team alongside senior engineers who will invest in your growth. Our stack is Python-first (FastAPI, Pandas/NumPy, pytest) with established Java Spring Boot services, running on AWS with PostgreSQL, Kafka, and Docker.
Responsibilities
- Develop backend applications and REST APIs using Python (FastAPI/Flask).
- Contribute to enterprise applications built with Java Spring Boot.
- Build and maintain RESTful APIs and microservices with clean, maintainable, well-tested code.
- Write unit and integration tests (pytest, JUnit) and participate in code reviews and Agile ceremonies.
- Debug, troubleshoot, and resolve application issues across the stack.
- Collaborate with cross-functional teams — team lead, business analysts, QA — to deliver high-quality software.
- Learn and adopt modern development tools and engineering best practices, including AI-assisted development.
Requirements
- Bachelor’s or master’s degree in computer science, Information Technology, or a related field.
- 3–5 years of backend development experience.
- Python (primary): Strong proficiency in Python 3.x with FastAPI or Flask; REST API development and a solid understanding of microservices.
- Pandas and NumPy for data processing.
- Multiprocessing or multithreading fundamentals.
- Robust exception handling; strong data structures and algorithms.
- pytest for unit testing; dependency management with Poetry or uv.
- Java (required secondary): Java 17+ (Java 21 a plus) with Spring Boot / Spring MVC, REST API development, Maven or Gradle, and JUnit.
- Object-oriented programming, basic design patterns, and SOLID principles.
- Git, debugging and troubleshooting skills, and Agile/Scrum experience.
- Strong problem-solving ability, eagerness to learn, and good communication skills.
Good to Have
- AWS fundamentals (S3, Lambda, ECS, RDS).
- PostgreSQL / SQL.
- Docker; basic Kubernetes knowledge.
- Apache Kafka or other messaging/streaming technologies.
- CI/CD (GitHub Actions or Jenkins).
- GitHub Copilot or other AI coding assistants; exposure to AI/LLM applications or automation tools.
- Redis.
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 advantages 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
📌 Software Engineer (Mumbai)
🏢 Delhi
📍 Mumbai