4 ms·
Duck tape programmers also produce code only one or a few persons can patch. The result is technical debt that lead Netscape to do a full rewrite to produce M
by rfreytag 6y ago
Duck tape programmers also produce code only one or a few persons can patch. The result is technical debt that lead Netscape to do a full rewrite to produce Mozilla/Firefox.
The truth is in the middle with better tooling to make it easier to design good code and get it working faster with fewer bugs even while at the bleeding edge.
- amrox 6y agoyeah sounds a lot like the fabled "10x engineer" to me
- KaiserPro 6y agoNot really. You're assuming that ductape == bad. What your describing is someone writing bad code, not someone gaffertaping a bunch of modules together to make the _more important_ code work. (instead of re-writing a whole bunch of things to make stuff more "idiomatic" ) This is where innovation tokens come in. You have one innovation token per project, you can spend it on the thing you actually need, or some pointless part of the system that you're bored with maintaining.
- rfreytag 6y agoI mostly agree. This is why I come down on the truth being in the middle.
- xnx 6y agoNetscape might be the worst example for your claim. Read why here: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-...
- rfreytag 6y agoQuoting from that article (which I remember reading when it came out): "It’s important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time." Mozilla and Firefox are better products. Many other solutions use their code (e.g. TOR). All bets are off when competing against a monopolist. Netscape maybe died because the technical debt forced them to bet the company on making a better product...which they did.
- xnx 6y agoNo doubt the Mozilla-based Netscape was ultimately a better browser, but's hard to think there wasn't a path to a better browser though incremental updates that wouldn't have taken 3 years of stagnation.
- SomeCallMeTim 6y agoI think the extremes are straw men. The choice isn't between "duct tape" or "oven-engineering." It's between poor and good design. A well designed solution doesn't feel like duct tape, nor should it be "too clever" with a crazy multiple-inheritance architecture that no one but the author can understand. In fact, it sounds like the extremes described in this article are both crap developers, with different flavors of crap on the menu. I insist on solid engineering. Nothing that feels like duct tape, but nothing that approaches over-engineering either. Easy to understand and easy to extend to the point of "OF COURSE this makes sense!" It's not so much "in the middle" as "robust design vs one or another flavor of garbage." A strong designer is needed to get to that point, and maybe duct tape is better for shipping product than over-engineering, so if you HAVE to choose, the duct tape end of the spectrum is better. But even better to have a solid software architect who can come up with a good solution that people can use and extend and understand.
- Uhhrrr 6y agoI would say the extremes are between no design and some "perfect" design.