Good Enough to Ship

AndrewKemendo1 pts0 comments

It's good enough to ship Direction.Blog

Blog 1 June 1 2026

It's good enough to ship

The last two decades of "software engineering" was never a craft discipline. The Clean Code and Practical Programming movements were always aspirational at best, much like Formal Verification was a generation before. The people who rallied around these ethos' endlessly point to how bad most software is, and how enterprises rarely spend time to build rigorously because of business pressure (and they are right). While disappointing, these aspirational goals are not what drives 99% of technical products.

The vast majority of "engineers" writing code are not improving the Shannon entropy of a process, or solving some edge case of a graph traversal algorithm. The vast majority are migrating the analog world into digital form, to get money to feed and house themselves. I mean, this is well documented. People joining FAANG a decade ago had to solve some complex topology problem in the interview. A year later as a "senior staff engineer" they are spening 60 hours a week running experiments with font kerning, in order to optimize render boxes across 17 mobile screen sizes, so that "doggy hairbows" and "teeth whitening" ads would never bleed over the edge of the window. For that you get $300,000 a year, plus millions in options

The incentive for the vast majority of "software engineering" has never been about correctness, durability, or privacy. The incentive was and remains profit at maximum velocity. You might recognize a trend here: velocity hates engineering rigor ; as Feynman so eloquently described in his testimony about the Challenger disaster.

So we got what we were paid for: "Good enough" enterprise and consumer software everywhere.

Look at the evidence

Facebook ran on a PHP monolith so famously wobbly that they had to invent the HipHop for PHP transpiler just to keep it from breaking. For a decade, that was the technical engine of one of the most profitable companies in history.

Microsoft Active Directory is one of the largest attack surfaces on the planet. It's almost a joke at this point, that the first place to look during a major security breach is AD. This is the backbone of enterprise identity for most of the world, and it was designed in an era when "security" meant a firewall and a pager.

And then there's the TensorFlow vs. PyTorch story:

Google, with all its might, all its god level talent, ships TensorFlow. It's well built, beautifully documented and it came from a pair of hardcore engineers that happened to be best buddy geniuses; these stars of the computing world. TensorFlow totally changed the game, and made deep learning accessible to regular engineers, not just AI experts. The industry loved it and every tutorial used TensorFlow. Google was the king of AI engineering, unquestioned. Shortly thereafter, inside Facebook, another small team of hardcore engineers takes a scrappy project called Torch and iterates it quickly into PyTorch, knowing that there's a massive growing place for deep learning tooling. It shipped faster, iterated more quickly, was easier to reason about, and took off in research. Today, almost nobody starts a new project with TensorFlow.

That's the reality. Professional software has never been about engineering purity. It's about what works well enough to get velocity and attention, until something works a little better, and then everyone switches.

The 1990s were pumping out shovel-ware and "freeware" that would BSOD your computer a few times a year. The number of video games that were fundamentally broken when shipped, was probably a good quarter of the market. I think the Windows 98 pipe screensaver had more active users than most of those games. The 2000s were ripe with all-you-can-host websites, platforms and enterprise Java factories, trying to move entire industries from analog to digital. By the 2010s desktop bloat finally gave way to GIANT CLOUD MONSTROSITIES and surveillance capitalism so you didn't even own your software once you purchased it. Nobody wanted to slow down the profit machine long enough to implement real engineering so that's what we live with now.

People need to stop pretending there was some golden age of bespoke hand crafted homegrown software that works great and benefitted the people building it

"Good Enough to make profit" has always been the bar

For a brief window, maybe from 1995 to 2019, the ability to write "good enough" code was scarce enough, and had so much demand, that people could command increasingly outsized wages. Enterprises have always looked at products as commodities and have constantly searched for labor with the lowest price to build something "Good enough."

"Oh yeah, we're gonna bring in some entry-level graduates, farm some work out to Singapore, that's the usual deal"

a direct quote from Office Space (1999)

So, again, not new, the economics are precicely the same in 1996 as they were in 2026, but now you have a global...

enough good software engineering people from

Related Articles