3 ms·
More often than not, the code I have to write needs to be written fast, and I (mostly) won't have time to look at it again once deployed. I've mostly worked at
by AYBABTME 6y ago
More often than not, the code I have to write needs to be written fast, and I (mostly) won't have time to look at it again once deployed. I've mostly worked at fast growing companies, so that's been the case everywhere.
What I've learned is that making stuff as simple and stable/low maintenance as possible is the only way to be sane. I can't afford to deploy code that then requires me to hold its hand with a team of 3-4 engineers for the upcoming years. It needs to run itself and be forgettable. And it needs to be written fast.
This has become much harder in recent years with the switch to things like Kubernetes. Kubernetes moves so fast and needs constant nurturing, even for casual users. Running old versions of it is painful and dangerous, so you're forced to update. And the ecosystem is still so early in its life that all the paradigms change and flip on their head every year. Odds are that something you deploy in it today, will need to be looked at in 18 months. And the whole thing will need a team dedicated to keeping it healthy.
Anyhow, that's my angle on the author's rant. Things need to last, IMO, mostly because I don't have time to go back to them later.
- vbezhenar 6y agoI'm using completely opposite approach. I'm trying to define a strict requirements to a given task and then I code assuming those requirements. If any small detail changes, my code will break. So I'm trying hard to break it as soon as possible (using asserts and similar patterns) with enough information to understand the reason of this breakage. So my code definitely requires maintenance in a changing world. But more than once those breaks actually identified a bug somewhere else and fixing that bug was essential. If I would try to self-fix wrong data, those kinds of bugs could be missed. Sometimes I need to fix a code to adapt to a changed format or something like this. But that's not a big deal, because change is simple and something like exception stacktrace allows to instantly find a code which is to be fixed.