Hacker News new | ask | show | jobs
by mumblemumble 2165 days ago
Let it thus be observed that a truly intelligent designer understands how to live comfortably with technical debt.
2 comments

If I was all-knowing and omnipotent, I'd be OK with that in my code as well.
Isn't tech debt a sign of not being all knowing and omnipotent?
There's always tech debt. It starts to day you build something and ends when it stops being used. How many thousands of python 2.7 programs had "no" tech debt when developed bit now have tons. Tech debt isn't binary, it's a sliding scale.
Seems like a classic-style omnipotent god could write anything conceivable in some eternal Lisp dialect that he maintains personally. If he’s really capable of violating thermodynamics he should be able use knowledge of the future to ultra-waterfall the design and implement it flawlessly thereby completely avoiding accumulation of technical debt.

It’s fun to imagine Jesus returning in 30xx AD but this time instead of absolving the world of its accumulated sin he wipes away the accumulated technical debt of 1.5 millennia worth of corporate IT

If you were "all knowing", you would've known that Python 3000 would not be backwards compatible and waited until it is released (assuming that you don't have a deadline, such as 7 days).
Even if you had a deadline, you'd know all tech debt and could anticipate it beforehand.
The joke is (and it is a joke, mind you) that an omnipotent and omniscient entity could have written a perfect program in, say, 2005, and it would have no tech debt now, because it's never needed to change since it was written to anticipate every need for the program in the first place.

Hell, since the writer was omnipotent and omniscient, the code was even built with the ability to perfectly modify itself when the company changed the DB on September 12, 2011 at 3:24 in the morning.

You mean all the Python programs started before 2008, right? Because that's when it was announced that they were sunsetting Py2.

So any projects started since 2008 that were written without Py3 compatibility had known tech debt they were choosing to take on.

Yes. Why does it matter than the particular example I chose had a cutoff date 2008? It's the same issue with any language, program, platform, OS, etc. Even if you implement the latest stable version of any of these things for any project, tech debt begins immediately. In fact if you're dealing with established enterprise software, you know right away what the roadmap & minimum end-of-life is from the day it's released. (as side topic, that's part of why mediocre enterprise software is often chosen over newer better options: because predictability is valued over the newest/best/fastest that may be subject to disruption if the vendor goes away or gets acquired-- something I've seen happen a few times. A vendor gets acquired, we get a "Hey Great News!" message from them along with an "Oh by the way our new parent company is transitioning everyone off our platform to their own completely different offering over the next 6 months, hope you have the capacity/bandwidth to deal it #sorry-not-sorry"
> over the next 6 months

My point is this is a very different situation from the Python 2->3 transition.

If you have 12 years' notice to make some changes, I don't consider that technical debt: that's the normal price of maintaining software in a changing world. It's not "debt" that costs "extra interest" to pay back for questionable choices made previously.

No. Tech debt, like money debt, can be taken on in purpose to be able to take advantage of a short term business opportunity.
The joke is (and it is a joke, mind you) that if you're all knowing and omnipotent, there's no such need to take on tech debt. Because you will have already known about the short term business opportunity and coded it (without tech debt since you also know all of the requirements, pitfalls, and corner cases perfectly) before it was needed.
I don't know.
Let me introduce you to the fall of man.
"How did we justify this whole 'cancer' thing being SEV-1? I really don't see the urgency."