• 0 Posts
  • 4 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle
  • I absolutely agree, but you’re talking about a situation where we already have 10 different ways and 20 EC2 instances. When you get to that point (or start approaching it), yeah, do the complex thing - no argument at all. The challenge is to wait until the last responsible moment to make that pivot and to not dive deeper into the complexity than you need at the current time and place. I’ve worked with countless small companies and teams in the past that have created whole K8s clusters, Terraform provisioning plans, and the whole kit for a single low volume service because “we’ll need it when things scale out later” and later never arrives.


  • This is great until

    I think that’s the point. Don’t jump to the complex right away. Keep it simple and compose the capabilities you have readily available until you need to become more complex. When the task requires it, yeah, do the complex thing, but keep the simplicity mandate in mind and only add the new complexity that you need. You can get pretty far with the simple, and what about all of the situations where that future pivot or growth never happens?

    The philosophy strikes a cord with me - I’m often contending with teams that are building for the future complexities that they think might come up, and we realize later that we did get complexity in the problem later, but not the kind we had planned for, so all of that infrastructure and planning was wasted on an imaginary problem that no only didn’t help us but often actually make our task harder. The trick is to keep the solution set composable and flexible so that if complexity shows up later, we can reconfigure and build the new capabilities that we need rather than having to maneuver a large complicated system that we built on a white board before we really knew what the problem looked like.


  • I sort of agree with you, but not in the way I think you meant it.

    Vista’s problem was that it’s hardware requirements were too high for it’s time. Operating systems have very long project development lifecycle and at a point early on they did a forward looking estimate of where the PC market would be by the time Vista released, and they overshot. When it was almost ready to release it to the world Microsoft put out the initial minimum and recommended specs and PC sellers (Dell, HP, Gateway) lobbied them to lower the numbers; the cost of a PC that met the recommended specs was just too high for the existing PC market and it would kill their sales numbers if they started selling PCs that met those figures. Microsoft complied and lowered the specs, but didn’t actually change the operating system in any meaningful way - they just changed a few numbers on a piece of paper and added some configurations that let you disable some of the more hardware intensive bits. The result was that most Vista users were running it on hardware that wasn’t actually able to run it properly, which lead to horrible user experiences. Anyone that bought a high end PC or built one themselves and ran Vista on that, however, seemed quite happy with the operating system.