3 ms·
3. Sunk costs and egos get in the way of good software Egos are what drive people to throw away their entire codebase and start over.
by ctide 15y ago
3. Sunk costs and egos get in the way of good software
Egos are what drive people to throw away their entire codebase and start over.
- pyre 15y agoDepends on the angle. The person that wrote the codebase is usually the one holding onto the old codebase due to ego. On the other hand, new people that come in and don't like things can be full of ego in the sense of, "I could program this better without any limbs!"
- ctide 15y agoEgotistical engineers always think this time things will be different, because they're smart enough to do it right. The reality is that every rewrite brings a new and different set of problems that need to be addressed. You don't escape problems by scrapping it all and starting over and this is one of the most valuable lessons to learn as an engineer.
- andrewflnr 15y agoYou don't need to be egotistical to see that you can do things better the second time around because you've learned stuff along the way. In this case, the writer provided multiple examples of how they were able to use the lessons they'd learned from the old codebase to improve the new one. They did, in fact, escape some of their problems. Did they introduce new problems? I'm sure they did, but they're probably still better off overall. Sometimes ego is involved, but sometimes rewriting is just the rational thing to do from a cost/benefit standpoint.
- rickmb 15y agoEgos and lack of skill. It's so much easier to write from scratch than it is to refactor. So many programmers have no idea how to tackle an existing codebase, even if it's one they've wrote themselves.
- ctide 15y agoVery important clarification, you are quite correct.