I don't know how to build software and you don't either

submited by
Style Pass
2024-12-01 05:30:03

Are microservices better than monoliths? Should teams set their own technical direction, or is it better to have that dictated by some external architect? Should you write long-term complex projects in an untyped language? If you’re on the internet for ten seconds, you’ll see many engineers who argue about these topics as if the answer was obvious.

The longer I work in tech, the less confident I get about any of these big questions. I’ve seen enough things work that I thought were terrible ideas, and vice versa. In fact, I’m not convinced it’s even possible to be justifiably confident that there’s a right answer to these questions. Nobody knows!

In my experience, you only start to see long-term consequences at the three-to-five-year mark at a company. That gives you at most four different perspectives into how software development gets done at different places (for instance, you might see a doomed monolith-to-microservices refactor at one workplace, and a more successful one at the next workplace). I don’t think four data points is enough.

If you instead job hop every two or three years, you’ll see how things are done at a lot more companies (~8-10), but you won’t have enough depth to be confident on whether a decision had good or bad consequences in the long term.

Leave a Comment