Hacker News new | ask | show | jobs
by bokohut 1555 days ago
After decades of software development experience inclusive of 24/7 on call support while also being the person of which ALL bucks stopped I personally have lived that "hurt" too many times to count. If time can be invested prior by designing out those problems, looking back now, then this is something only experience could bring since one does not know what they do not know.

"Getting it right the first time is a very hard game to win."

I cannot disagree if it is one's first time yet this is my sixth and I have no losses to date. I have nothing but time and so in that time I will see how this game plays out.

1 comments

Irreversible decisions are a very small subset of all decisions you will make. If you don't do those at the beginning (or write your code to be agnostic to them, ie, by leaving out feature sets that would surface that decision), then you will be in pain. Experience will tell you which those are, and beginners often have to learn this the hard way. Some never do. Yes let's add localization and security on to the application after it's already 100kLOC and shipped to paying customers. That'll be fun.

Everything else is just annoyance, and lumping those in with the others ends up pulling attention away from the ones that really matter, meaning those solutions get compromised on quality.

Leaving space for a solution is not the same thing as creating an abstraction for a solution, and most people don't get that. Architectural astronauts elevate this blind spot to performance art, and none more profoundly than J2EE architects, as lampooned by Enterprise FizzBuzz: https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...

I wonder sometimes if some of my former coworkers' cognitive dissonance ends at the office door, or if at home they hang empty picture frames on their walls as placeholders for when they eventually find some art they like, put armchair-shaped boxes labeled "Chair" in their living rooms, dolls in empty cribs and stuffed animals in empty pet beds.