I talk a lot about how you can’t be a great developer without great communication skills, but I don’t think people grok how _directly_ your communication skills are reflected in your codebase. Let me give you an example.
-
Show this thread
-
Let’s say you’re working in a legacy codebase that, in places, resembles a house on Hoarders (BEFORE they clean it out).
3 replies 5 retweets 124 likesShow this thread -
These types of codebases are distressingly common. They’re so full of STUFF that you can hardly move around. To get your work done, you’ve got little goat trails of understanding running through it, like the narrow space between piles of junk in an overcrowded living room.
1 reply 6 retweets 165 likesShow this thread -
There are whole sections that you don’t go near, for fear that touching them will disturb the fragile equilibrium of the junk pile & it’ll fall over, trapping you underneath.
1 reply 5 retweets 131 likesShow this thread -
How do you get out of a situation like that? If you just call a junk hauler to take it all away (the grand rebuild, aka “we should rewrite it as services!”) you don’t fix the real problem - which is the organizational incentives that put you in that place originally.
1 reply 20 retweets 191 likesShow this thread -
Do you know why Hoarders isn’t on the air anymore? It turns out that hauling everything away and cleaning up the house doesn’t fix people’s habits that led to the hoarding. Most of the show’s partipants, after the show was over, slowly went back to a hoarded house.
5 replies 7 retweets 167 likesShow this thread -
A much more successful treatment for hoarding is to work intensively one on one with folks, changing their habits slowly over time, & having THEM clean up the house - one little area at a time. Unfortunately for the creators of Hoarders, this makes very boring reality tv.
4 replies 13 retweets 181 likesShow this thread -
Our hoarded codebases work the same way. If you don’t change the habits and incentives that led you to that point, you’ll end up with a tangled mess of services mirroring your tangled mess of monolith code.
1 reply 43 retweets 227 likesShow this thread -
And at that point, all you’ve accomplished with the money & time they gave you for the rebuild is to shift your problems to the network layer, where they are way harder to see, analyze, test, and fix. That is not progress. IMO that’s engineer malpractice.
2 replies 16 retweets 162 likesShow this thread
BINGO!!! I was beginning to think I'd never see anyone who shares this point of view.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.