Last Wednesday I had this meeting with our developers that we conduct every once per two weeks, chatting about case studies, technologies and just about life. Our main subject was “Legacy Code” but in between of the two case studies I’ve decided to ask the audience a simple (as it may seem) question:

What is a Rockstar Software Developer?

It might indeed seem a question just for the fun of it. But it is not really. First of all “Rockstar” is intensively used in recruitment language, most often of course in order to attarct people to a position (which in fact not necessarily requires a rockstar). It is also part of managerial language. And it is eventually a goal for almost any computer software engineer … Others think it is an exaggeration.
Here’s what Twitter “says” about rockstardevs:

thecwlzone If I see one more “Rockstar Developer” job description, I’m gonna hurl all over the keyboard…

EngageSeattle Searching for a rockstar Flex Developer.

gracesmith The Secret To Becoming A Rockstar Web Developer: Embrace IE6: *Read it, it’s not what you think ;-)

snookca I am not a rockstar. I can’t play music and I can’t dance. I am a software developer. I write code while in my underwear.

adamkmiec Anyone looking for a rockstar developer in Chicago let me know. Have a few people to recommend.

dantondrobot I just killed a Rockstar software developer on GTA IV!

sherod @michaelg sometimes I think the rockstar developer/ego thing is a bit OTT.
What we have realized during our discussion was that the entire concept is extremely subjective and depending on a context. Nevertheless there’re common features to Rockstars:

  • Has to be passionate. No way to be a rockstar if you can’t be ignited to do terrific job.
  • Relatively disciplined. What we realized is that rockstar has to be able to keep that passion ignited for some considerable while and not to lose interest. On the other hand all of us agreed that we know real rockstars who have this passion for a short time just enough to complete what they’re good at (develop a prototype, invent a feature or algorithm etc) and then you need some new challenging piece of work for them. But indeed you want to call a person a rockstar when his/her prototype developed in two weeks helps you raising venture money, for instance.
  • Skillful.Seems trivial, although it ain’t 100% trivial. Yes, rockstar has to be skillful but I know rockstars that you wouldn’t actually call a skillful software developer. Instead they could invent things and verify them using some ugly perl scripting techniques that no human being could then read. On the other hand there’re rockstars whose code is really a masterpiece.
These were the only three things we all agreed upon. Everything else caused more questions then answers. Especially there’s a considerable dependency on the project and the team. Almost everyone said they knew rockstars who used to shine on one project and then almost fail another one! Another point was when you want to hire (real) rockstars you need to think of them as a whole, as a team. This led us to another concept of a rockstar team… which BTW doesn’t need to necesseraly consist of rockstars… Another point was merely managerial – you do need a manager to uncover the potential and fully utilize a rockstar.

But the bottom line is: rockstars really important on the project, often they’re relevant to the overall success of the software development process, sometimes it’s easy to recognize a rockstar on the interview, sometimes it’s not possible really, once you got a rockstar onboard make sure he or she is properly utilized and motivated and the results will be extremely rewarding!
Alex Yakima
Paul is a software architect for Luminis Technologies and the author of “Building Modular Cloud Apps With OSGi”. He believes that modularity and the cloud are the two main challenges we have to deal with to bring technology to the next level, and is working on making this possible for mainstream software development. Today he is working on educational software focussed on personalised learning for high school students in the Netherlands. Paul is an active contributor on open source projects such as Amdatu, Apache ACE and Bndtools.