8 ms·
It is hard as a new employee to not say "stop everything and let's rewrite this" when something is broken. New engineers are not only the ones to say it either
by excerionsforte 7y ago
It is hard as a new employee to not say "stop everything and let's rewrite this" when something is broken. New engineers are not only the ones to say it either as the craze and popularity of what's hot captivates longer tenure employees. If something vibes with the problem you are solving then it is only natural to want to use it. Proving the usefulness and viability is the part no one really wants to do as it is a long slog that is against the need of getting a promotion. Why not just use in a new app to prove it? and that will be the basis for let's use this everywhere (aka generalize it!)
It is very nice to try new things though because without that we can't move forward, but how much forward is enough seems to be the troubling part as investing time learning the "new unproven thing" every year or so is taxing.
> As an aside: the founding software team at Etsy didn't get nearly enough credit for building a thing that worked and that grew from nothing. If they had focused on the "right" architecture, none of us would have ever have heard of Etsy, and we certainly wouldn't be debating the rewrite. That founding team didn't get enough credit, neither in equity nor in history. But that's another story.
Very unfortunate reality here.
- pixelmonkey 7y agoIndeed. And, to be clear, I don't think rewrites are always wrong. I just think they are very, very dangerous, and need to be treated as such. I wrote about a successful rewrite I presided over in this essay, "Shipping the Second System". But anyone who was on my team when we did that rewrite will tell you: we were far from optimistic about it. We only did it after exhausting ALL other options, and it was a risk-managed project all the way through. https://amontalenti.com/2019/04/03/shipping-the-second-system https://amontalenti.com/2019/04/03/shipping-the-second-syste...
- excerionsforte 7y agoInteresting read. > “the second system is the most dangerous one a man ever designs” Never thought about it that way. Feature creep and aversions to what you thought went wrong from the last time get tested here. > So, all in all, we did several “upgrades to stable” that were actually bleeding edge upgrades in disguise. I can relate. Being burned by certain upgrades can push one to veer on the side of caution even if the previous version had bugs. Software is never finished as they say.
- lazyant 7y agoI'm having a Baader-Meinhof effect; I recently read about this "Second system syndrome", I think in "The Unicorn Project".