Senior Software Architect
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 Senior 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 architects globally in Shenzhen, Mumbai, Sweden, UK, and the US. 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.
- 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, Systems 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
- Bachelor's degree in Computer Science or a related field is preferred.
- 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
- Wide experience across programming languages (Java, JavaScript, C#, C++) and platforms (Tomcat/Netty/Jetty, Node/Express, IIS,
- Understanding of OLAP, OLTP, and Data Warehouse solutions and implementations specifically MS SQL, postgresql, and Amazon's RDS
- Familiarity with the financial services domain (accounts, portfolios, holdings, returns, performance streams, traded instruments, etc)
- Familiarity with the Open Web Application Security Project (OWASP) secure coding practices