development leadership

Bad change : The rock star developer and dealing with unexpected change

Have you ever worked with a developer who knows everything? The one who does a bit of tinkering in the evenings and weekends, and when the rest of the team come in, they can’t find anything in the code?

Yes, it’s a bit neater, but it’s a lot more broken, because it’s less readable, because it’s using a beta version of a library rather than the previous stable version. And one project in the solution uses different conventions to the rest.

I also tend to find the tinkered code is proof of concept with minimal testing, and little documentation. So the software diva who developed to the limit of their ability can’t tell you how it works 1 week later. They got bored and moved on. After all, there’s another Javascript framework to learn.

It’s great if you write throwaway code. If no project lasts more than a month. But that’s not the software I’ve been building. I enjoy the challenge of nurturing code that’s got a lifespan of 5, 10, 25 years or more. Not necessarily the same code, modules get rewritten, tests get added, dead code is removed, but it has to remain readable and maintainable all the time.

If you are a lead with a diva on your team, use them for research, because they will chase The Precious whenever something shiny comes into view. But when they need to get code into production, enforce your coding standards strictly. They will moan. They will sometimes throw a tantrum. If they do, you know they’re wrong, otherwise they’d have a convincing argument for doing it their way.

Standards are universal. Divas are occasionally useful idiots. Learn to spot them, and use them to your advantage without disrupting the rest of the team.

2 replies on “Bad change : The rock star developer and dealing with unexpected change”

Always a challenge, and 100% agreement that “production code must be protected”. Sandboxing, Special projects, etc. can all help. Coaching the person on the impact of their actions may also help.

With the exception of the “who developed to the limit of their ability” category, these people are often extremely valuable in specific areas. As an example, when doing some real-time audio work a few years ago, there was one developer who had amazing abilities. We were pressing the limits of the current generation (back when 200MHZ was blinding fast) and this person was the only one who could write code keeping track of where the compiler would place each variable (register level) and the state of the pipeline along with the instructions that would trigger a flush. He made the project possible…..But outside of the time critical portion his approach was deadly – as virtually nobody could understand what he wrote.

ps: I disagree with the usage of Diva in this particular case, but I get your point; there are many other causes other than “One who demands that attention be paid to his or her needs, especially without regard to anyone else’s needs or feelings.” where this symptom occurs, often the person honestly believes that are helping the team.

Liked by 1 person

I was struggling to find a good word for the developers I’m thinking off. Partly rockstar, partly lone wolf, and partly diva. Not every rockstar is a diva, but there is a large overlap. Rockstars always think they’re making things better, and are often attracted by shiny things, but Divas are the ones who make a scene when it’s pointed out to them that they didn’t make things better. Ideally, you can turn down the diva tendencies, so that they can focus on the tasks they’re good at.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.