A great post by Erik Dietrich on how poor knowledge sharing is unintentionally rewarded.
Although certainly intentionally not sharing knowledge can be unintentionally rewarded I don’t think the author’s issue is with poor knowledge sharing so much as unintuitive code that requires knowledge sharing.
Well, you’re right in that it’s a bit more than just “poor knowledge sharing”. But I’d say it’s more specific than unintuitive code that requires knowledge sharing, too - it’s code that is unintuitive primarily because its main reviewers are blind to the exactly how unintuitive it is, and thus a vicious circle persists. We can see this in the author’s recommendation to have such code be reviewed by newcomers as well in order to break the loop.
Good article. I have worked as a dev for over 10 years and have seen a LOT of really complicated spaghetti code that was only maintained by individuals in silos. Some used to joke about “job security” but I would rather my life not be a living nightmare unable to take vacation without keeping my work phone on me at all times because I’m the single person that knows how to fix a mission critical system. I’ve been there. It sucks for new people but it also sucks for the keepers of the tribal knowledge. It’s exhausting.
Training, documenting, refactoring and replacing to eliminate that is good for everyone. If you are a good dev you won’t have to keep tribal knowledge to stay employed.