3 ms·
I worked at this project where a very smart developer started working on a certain very important product. He fixed bugs, added features, etc, but he was kind o
by dyingkneepad 4y ago
I worked at this project where a very smart developer started working on a certain very important product. He fixed bugs, added features, etc, but he was kind of a pain to deal with, so over time the previous developers left him alone handling everything. Eventually other people joined to try to help the efforts, but they all always ended up being 'slaves' to this developer: they needed him in order to understand the code, anything they implemented had to follow this dev's desires, otherwise he block them on code review. That product became his baby, everything was bound to his will.
Over time, the codebase started getting more and more bizarre (to his taste) and eventually people stopped trying to help him: he was too much of an asshole and the codebase was too impossible to understand. We got to a point where we needed very significant changes to that product do be done in 1-2 years, and as technically brilliant as this person was, he would never be able to do it alone. We tried to put people to help, but they had no chance: the new features were full of bugs and deadlocks. Our projects got super late and we delivered some very shitty products to our customers.
Then a team of people started working on a replacement for this product behind this developer's (and his manager's) back. Everybody except he, his 'slaves' and his manager got super excited for it. We're still building it and recently announced it to him and his group. We're going to spend 10-20 man-years to replace this product. Management expects this developer to keep maintaining the legacy product, nobody wants him to join the replacement project.
Yet, management still doesn't even consider the possibility of firing him!!
PS: I hope nobody gets offended by the term 'slave' here.