About the Role At Morningstar, we want to help more people build long-term value through investing, leading them to independence and, eventually, giving them the financial freedom to live their lives as they choose.
The keys to achieving our goal are useful, high quality software and data products. As a Principal Software Architect, you will be responsible for designing and refactoring Morningstar's software systems across products and engineering efforts we undertake.
You will work with teams and application developers globally. You will be a catalyst partnering with large engineering efforts and being a software and systems guardian to not only provide architectural direction, but align it with long-term strategic technology and product goals.
You won't be afraid to get your hands dirty. You'll help both visualizing our applications and systems as well as reviewing code quality through code reviews, addressing technical burden, and spinning up proof of concept research for best fit solutions in untried territory.
Job Responsibilities Provide holistic oversight of software development and product architecture especially at the integration points Partner with senior product and technology development management to build tactical and strategic roadmaps for technology Be a catalyst for Application Architects, Software Engineers, DevOps / SRE and all roles to evaluate and deliver engineering efforts across Morningstar Facilitate discussions and resolve conflicts involving technical approaches, designs, and tradeoffs - especially drawing from lessons learned Provide technical guidance to harmonize and ensure the consistency of all engineering efforts for products and solutions with an eye towards creating paved roads Advocate / enforce best practices for performance, reliability, scalability, security, and reusability at a global scale Evangelize successful approaches as well as lessons learned to increase the engineering organizations ability to learn and adapt to changing requirements Qualifications 12 years of proven experience developing commercial quality software products and solutions particularly focused on distributed and real-time systems Demonstrated experience defining, refining, and maintaining application architectures for sophisticated end-user software products Deep knowledge of a variety of technology components and stacks Experience in agile development practices including scrum and scaled agile Deep understanding of performance, reliability, scalability, security, and reusability tactics and strategies Excellent verbal and written communication skills Experience leading multiple teams of various sizes in different geographies Deep understanding of cloud platforms and SaaS architectures Nice to have Wide experience across programming languages (.