TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Do you have real-world experience of technical debt killing a project?

3 点作者 hugorodgerbrown将近 11 年前
Explaining the impact of technical debt to someone non-technical who hasn&#x27;t experienced it first hand is almost impossible (e.g. &quot;why didn&#x27;t you just do it properly the first time?&quot;).<p>It would be great to get a thread here detailing real-world examples of debt killing a project, or more, that we can all point people to when they claim it&#x27;s just developers complaining.<p>Sample experiences worth sharing include:<p>* Have you been part of a project that ground to a halt because of technical debt?<p>* Have you ever had to abandon a project&#x2F;product and &quot;start again from scratch&quot; because of problems in the previous codebase.<p>* Have you ever left a job because the overhead of servicing technical debt made the job impossible?<p>* Have you ever worked for a company that went under because debt was holding them back?<p>I know it may not be possible, but real company names would definitely add value.

3 条评论

jdubya将近 11 年前
I worked for one of the largest load balancer&#x2F;application delivery controller company for a grinder of a boss on a security team there.<p>My job was to hack shit, find vulnerabilities and write automation for attacks that our systems could prevent. There were 4 pretty big code bases (&gt;100k lines) that were used for the same thing. There was no inter-team effort, everyone wanted to roll their own rather than working together because the bosses had huge egos and wanted their name in the brick.<p>I was tasked with building a new framework!<p>So yeah, five different automation frameworks, one for automating attacks against devices and servers, one for smoke testing (pound the box with traffic) etc. Mind you all of this shit could be done with a single framework because many of the tasks were similar. So I created a way to build test profiles from our test plans and consolidated the code bases. I learned a shitload about dealing with existing code during this effort. It was awesome in that respect, I learned how to deal with poor management decisions - execute better than they ever did.<p>Long story short I refused to scrap everyone elses hard work even though my boss told me to &quot;build it from scratch and use it for the security team only&quot;. The reason being is because starting from scratch would have incurred more technical debt than the consolidation effort took. Mind you every other department in eng could have used said framework. Anyhow, under the radar I went about consolidating the other four frameworks and I gave my boss the timeline without his knowledge of what I was doing.<p>Three months later every eng department was using this new framework using the tools that they were used to using for deployment and verification, just a new ui and a lot of code that was cleaned up and everyone was pretty happy with it to be honest. Everyone that actually used it that is.<p>My boss, who never used any of the frameworks, got pissed off that I did not build a sec. team only framework and asked me to build a version only for the security team for &quot;security reasons&quot;. This was the proverbial straw that broke the camels back. This fucking moron wanted to satiate his own ego at the expense of my peers time, health and the company. I don&#x27;t really care too much for the company but everyone I worked with was very competent and I did not want to just throw the baby out with the bathwater. That would be stupid.<p>Long story short, I was interviewing at places at the time and got an offer that very day so I decided to take the offer.<p>Moral of the story:<p>Don&#x27;t have your engineers build 4 different automation frameworks and then ask an engineer to &quot;rebuild&quot; a custom version for a bullshit reason. Don&#x27;t build shit from scratch unless you are learning&#x2F;experimenting and at large companies, they rarely reward experimentation.<p>I get that this might not exactly be technical debt but 4 frameworks and the effort I had to put in to the consolidation was brutal at times. Improperly used technology, poorly deployed interface supporting services and solutions for transient failures of tests being &quot;just reboot the test box&quot; was too much bullshit for me.<p>God I fucking hated that job. I will never work for a large, well established company again if I can avoid it. My startup might be getting picked up soon by a conglomerate and I have 6 months left on my vest. If we end up at the conglomerate I am going to quit and take a few years off working.<p>That is my experience.
wikwocket将近 11 年前
The best way to explain technical debt is by analogy: Technical debt is what happens to your entertainment center when you buy a new Playstation. To do things properly, you should buy another HDMI cable, run the cable through your cabinet around to the TV, on a dedicated input.<p>But that&#x27;s not how it happens. When you bought the Playstation you also got a copy of Call of Battlfield Honor Brothers, and your friends aren&#x27;t going to wait half an hour while you do that. So you steal the AV cords from the Wii, run them in front of the DVD player, and plug them into the XBox&#x27;s TV port.<p>So now, the system still works, but it&#x27;s not ideal. You have to move some cords if you want to play a DVD. You have to unplug the Playstation if you want to play Minecraft on XBox. And heaven help you if you want to play Wii Bowling.<p>Now imagine this happens many times over several years. You get a new XBox. And a Bluray player. And a new sound system. Each time you do what it takes to get things working, and no more. Pretty soon, just to watch Netflix you have to rewire a whole switchboard of cables.<p>At some point, you need to pay off your technical debt. In this case, by taking a whole Saturday to unplug everything, buy some new cables, and re-route all the connections in a clean, logical way. It&#x27;s the last thing you want to do while your friends are playing Band of Duty-bound Heroes IV, but if you don&#x27;t, you&#x27;ll be rewiring Ethernet cables in order to watch Hulu until the end of time.
评论 #8118711 未加载
G_rupture将近 11 年前
I haven&#x27;t heard of any company going down because of technical debt, but here is a study that has some quantitative analysis of technical debt in the beginning: <a href="https://medium.com/building-bowery/e5a006f7b724" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;building-bowery&#x2F;e5a006f7b724</a>
评论 #8118729 未加载