This is an article about principles, so it’s fairly high-level and lacks implementation detail.
I thought there was a nice overlap between this article, how I feel about platforms, and (at a high level) what I imagine for the future Monty Platform.
Some of the points map well to the Monty Platform, and others might be more applicable to those who build on top of it. But, considering their context can also be helpful.
Key Takeaways
Great platforms deliver an intuitive experience by hiding complexity and appearing magical; they operate so seamlessly that users take them for granted and never need to think about the underlying infrastructure.
Platform builders must balance the “three Ss” (stability, security, scalability) as non-negotiable requirements while maintaining an evergreen approach to continuous updates and patching.
Success requires being opinionated about what to build and saying “no” frequently; it’s better to do fewer things exceptionally well than many things poorly.
Open source has been instrumental in building modern platforms at scale, providing community innovation, portability across environments, and the ability to read and extend the underlying code.
Building the right culture with empowered teams and diversity of thought is the foundation; great culture drives great teams, which, in turn build great products.
Thank you so much for the link, I’ll read it first thing tomorrow morning. I’ve been sketching out a vision for the architecture, it is mostly done as a rough sketch, should I start writing an RFC or should I try to wire it up together first? I’m leaning towards the second because it doesn’t necessarily make sense to involve others unless I know it can work in the first place.
The reason I’m doing this right now is precisely because of the habitat/MuJoCo issue: it’s bigger than just that, there’s a whole host of other things that are going to need to be solved in the same fashion, and we might as well prepare the codebase for these changes now than make these shifts as painful in the future.
It kind of does, but overall it’s much more high level than that. Also now I’m curious about all these environment types and why they’re all needed, that’s an interesting implementation detail. Okay I’ll come back with something soon then, thank you again!
As someone whose code runs on multi-million dollar equipment in power stations and research labs, this article definitely resonates with me. Good to see you’re thinking far ahead.