Re:Three Paths in the Tech Industry: Founder, Executive, or ...
by kevan on Thursday September 28, 2017 @07:12PM
(#15361545)
Spaghetti code and cumbersome integration methods are just forms of tech debt. Tech debt in any form isn't inherently good or bad. Just like financial debt it's a tool that can be used to achieve a desired business goal. When misused it often harms the company but won't be fully realized for several months or years.
Things taking a week when they could take 30m is your company paying interest on that debt. To determine if taking on that debt was a good idea you need a lot more context. e.g. the Cobol mainframes that run the financial system are difficult and expensive to maintain, but it's still cheaper than the alternative: rewriting those systems.
Most startups take on massive amounts of tech debt because it helps them move faster and the company not failing is way more important. Once a company is out of startup mode it should balance goals a bit more thoughtfully.
Re:Three Paths in the Tech Industry: Founder, Executive, or ...
by hohenheim on Friday September 29, 2017 @04:51AM
(#15363742)
"Tech debt in any form isn't inherently good or bad. Just like financial debt it's a tool that can be used to achieve a desired business goal."
We should print this and hang it on every wall of every room in which a piece of code is written. It is the most misunderstood and misused concept of Software Engineering.
This'll probably come across as depressing to most of the engineers in the audience, but I don't see this as an example of a company that did anything wrong. Rather, it's a company that did everything right but did it too early. They followed the fad of the early 2000s; there was no way to know then that a better fad would come out in the mid 2000s. And they're still around (and a "large corporation") now, which indicates that from a customer & business POV, they've actually been more successful than ~99% of other technology companies founded in that era.
If you're successful, you too can get to have the kindergartners of today complain about what an idiot you are. That's the best-case outcome, though: more likely, nobody will use your code or it will be thrown away a year later for the newer, shinier fad.
(The more positive spin on this is that our industry actually is making progress, and quite rapidly. What other industry can you look at the best practices of 15 years ago and say "What idiots we all were back then!"?)