As the Chief Software Officer of Morningstar, one of the world's leading independent financial research technology companies, I spend my time tracking and identifying software platforms and development practices we should adopt from the field, and where we can be thought leaders sharing techniques that fit our needs.
I'm going to try posting weekly links and commentary on the important software events and trends that interest me, have applicability to Morningstar, and likely many other companies with software needs like us—anyone building data intensive, mathematically complex experiences that integrate easily with partners, capture, process, and surface volumes of data, all while managing to delight our users around the globe.
Given the software development world is so complex and moving so fast, my topics will jump around, but I'm likely to cover:
- lean/design thinking/agility, emergent design patterns, and hypothesis-driven development;
- evolutionary architecture, distributed systems, microservices;
- user-experience, natural language, and machine-learning technologies;
- integration, performance, and scalability techniques;
- capabilities in the public cloud that help us innovate faster;
- and, innovation in the disciplines that surround software engineering like quality assurance, product management, and operations.
Also, I'll likely sprinkle of shoutouts about cool stuff going on here at Morningstar and throw in some Chicago-pride, as a happy recent transplant.
Before we get started, what exactly is your job?
Good question. What's a Chief Software Officer? We think it's an important way to express the gravity we place not only on being an industry-leader in financial data and research, but in delivering that data and research through software-based products and experiences.
Inside of our organization, we use a highly federated, distributed product development model. Teams are broken down into small 'squads', and they are organized into various distinct business groups representing the products they are building. This works great for a focus on results and alignment to our strategic business goals. My goal is to make sure teams are taking advantage of our collective knowledge within Morningstar.
With our distributed team environment, we have to extra hard to make sure we communicate across teams, share best practices, and efficiently integrate our software across teams. Its critical that our teams come together to build a product portfolio that's cohesive and integrated for both professional and consumer investors to get their jobs done.
What five links are holding my interest this week?
- AWS Organizations - we really like the idea of many accounts across our distributed organization. It limits the ‘blast radius’ of any issue that might arise, helping enforce strict levels of isolation, makes billing and cost accountability easy and transparent, and gives teams a lot of flexibility without lots of central control. The downside is the maintenance and likelihood for configuration drift. With 50 accounts created so far, we are excited to see Amazon Web Service’s Organizations product go GA. Of course, there are people recommending caution with this approach too.
- AI is for real (for real this time) - Good high level article on WSJ on the rapidly advancing AI front. Having 'robots' capable of taking on increasingly advanced tasks will have major impacts on many areas of life, from self-driving cars, to virtual assistants, to automated financial management. We should all be thinking about the mundane tasks we perform, and looking to outsource them to robots, who at least for now, don't seem to mind.
Please share the stuff you found interesting this week as well, suggest a better title for my posts moving forward :-), and let me know where I'm missing the boat.