How to Keep Your Best Programmers (2012)
&quot;[...] and make fewer demands on management; even if they find the workplace unpleasant, they are the least likely to be able to find a job elsewhere. They tend to entrench themselves, becoming maintenance experts on critical systems, assuming responsibilities that no one else wants so that the organization can’t afford to let them go.&quot;<p>So basically, they are people willing to do work that is needed and doing it responsibly. The work you are not willing to do and doing it without throwing temper tantrum over being too good for the work. That is why they ended up having responsibility - leadership does not have to worry that boring but needed work wont be done. He does not even have to motivate them, they just work.<p>I mean, I get that it is possible to asleep and not to continue learning, becoming mediocre. But if you are too good for work on critical system that needs to be done, then you have less merit then them. Merit should not be about coolness points, but about how useful you are. I agree that all this probably means leaving is a good idea for you, but the resentment towards people responsibly doing important work you are not willing to do is absurd.<p>Also, once you have to maintain the code for longer (or worked on old codebase), you might find that your opinions about what is clean code and what is important change - some of the stupid things if you people used to small projects routinely do are actually things that allow you not to loose sanity and control on big projects.