Senior Software Engineer
The Group:
Morningstar’s Quantitative Research Group creates independent investment research and data-driven analytics designed to help investors and Morningstar achieve better outcomes by making better decisions. Our aim is to develop methodologies backed by rigorous statistical analysis of large datasets. Our research encompasses hundreds of thousands of securities within a large breadth of asset classes including equities, fixed income, structured credit, and funds. Morningstar is one of the largest independent sources of fund, equity, and credit data and research in the world, and our advocacy for investors’ interests is the foundation of our company.
The Role:
As a Senior Software Engineer, you will be responsible for Morningstar’s Risk Model code base with a global developer base with wide ranging programming skill levels. The Risk Model is currently implemented in Python and Spark and executes on AWS EMR. Deep and expert experience with all three is a must. You will be expected to be an authoritative resource for both Risk Model contributors, and, on occasion, the wider Quantitative Research group, in all areas, including code architecture, code performance, design patterns, best practices, testing frameworks, and code review.
Responsibilities:
• Develop and deploy production applications that incorporate numerical techniques such as linear algebra, machine learning, statistics, and optimization.
• Collaborate with methodology experts to build out a comprehensive risk modelling solution.
• Design clear system specifications and maintain a robust development environment via strong documentation and version control.
• Find creative solutions to complex development problems using all technologies at your disposal, especially big data and cloud technologies.
• Recommend improvements to existing development practices and processes.
Requirements:
- Minimum 5+ years of full-stack development experience with one or more general purpose programming languages such as Python, Java or C#.
- Experience in software engineering working in a mid-sized-to-large team.
- Minimum 3+ years of AWS (Lambda, EC2, EMR, and DynamoDB) or other Cloud Computing development experience.
- Solid engineering and coding skills. Ability to build, QA, and maintain high performance production quality code.
- An advanced degree in STEM or related field.
- Familiarity with common data cleaning, data modeling, data warehousing and munging techniques.
Preferred:
- Working knowledge of finance and quantitative methods.
- Amazon web services solutions architect/developer certification.
- Experience working with statistical or machine learning libraries: pandas, scikit-learn, numpy.
- Demonstrated experience in Big Data (Hadoop, Spark) applications, API, machine learning, and related technologies.
- Demonstrated experience with DevOps or Continuous Integration/Continuous Development tools – Splunk, Git, Jenkins, Code Pipeline, Infrastructure as code (Terraform/Cloudformation).
- Experience working with Agile software engineering.
- Experience with iterative, test-driven development.
- Excellent debugging skills on Unix/Linux and Windows based operating system.
- Experience working/leading development efforts with both onshore & offshore dev teams.
- Ability to learn new technologies or programming environment.
- Experience in building and productionizing machine learning applications using distributed frameworks.
001_MstarInc Morningstar Inc. Legal Entity