During one of my interviews in late 2023 - early 2024, a person asked me: “Who cares about the language we choose or frameworks or type system… all that matters is a working product”. I wrote about it already, but I used a clumsy analogy with building a house. Recently, however, the internet (or at least, the algorithms that take care of my YouTube feed) started buzzing with news about the problems at Boeing.
- ColdFusion: Boeing’s Downfall (Greed Over Safety) feat. Mentour Pilot
- Boeing: Last Week Tonight with John Oliver
Clearly, Boeing’s business is selling aeroplanes, which result from high-bar engineering practices applied to making aeroplanes. You would disagree with me if I told you that putting engineering on the back burner is a good idea, wouldn’t you? Because, you know, you may fly one of those aeroplanes. The same goes for cars, elevators, websites, apps, etc.
There was another video The Harsh Reality of Good Software by Awesome in which the author suggested why engineering practices in making software matter. Although I agree with that person, I don’t think the arguments were compelling enough. That’s why I decided to write about these two pieces of puzzle.
If your business is about selling a product of an engineering process, you want that product to be good. Salespeople can sell anything. But there will be a backsplash from the customers, who paid money and expect things to work. All the poor choices and all the cut corners will remind of themselves, slow down feature and bug fix releases and lead to losing to the competition. Remember the fable about the race between The Tortoise and The Hare? We can apply this idea to crafting products we want to sell. We may go fast, cut corners, promise we’ll fix it later, choose a quick language, skip writing tests - because, who cares? - whatever it takes to release the product and sell it. While the competitors may go a bit slower, pay more attention to good engineering practices and stay more flexible, in the long run, they will stay faster. Their software is still soft, not tightened by the fixes and backstops that make every change scary.
And by the way, as I write this, the internet is buzzing with a new kid on a bloc - Gleam. A language inspired by Elm, OCaml and Rust. If nobody cares, why do new languages pop up? Clearly, somebody cares about getting past the initial release.
Anyway, the story of Boeing was the last drop (or rather splash) for me. My experiences, the conversations, the interviews and the stories told by others resulted in this post as a conclusion. I strongly believe that there’s a balance to watch for. Engineering enables business, and business makes engineering worth the effort.