'Cause we all just wanna be big rockstars
And live in hilltop houses, drivin' fifteen cars
-- Rockstar by Nickelback
Have you been to see rock bands perform live? There are a lot of subtleties to their performance that you might not have noticed. And it is relevant to software development. (Really!)
You've seen the "Diva Rockstar" on stage? Basically, they take the main spotlight, everyone knows them and has no idea who the rest of the band are. In fact, you might even think the other guys are not very good, really.
In some cases, there may be two, maybe a lead singer, and a guitarist competing against each other, making each other look bad to make themselves look better? Oh and those other guys, merely decoration, not even worth learning their names.
You have a big problem in both scenarios. As a whole, the music they are producing is terrible. Sure that guy can sing or that woman can play, but as a whole, it sounds unpleasant, and off somehow. Not enjoyable.
But a real proper performance? It just sings. And here is why. Teamwork.
Pay close attention and you can see some true signs of polish that produce an amazing performance. First, the lead singer and lead musician share the spotlight. The guitarist lets the singer's voice shine, and the singer takes a break for a sweet, sweet guitar solo. But more than that. They introduce the rest of the band. Bongo on drums with a smashing drum solo, Rip on bass with his fast fingers, and Gill on backing vocals etc.
But it isn't even just the guys on stage that are slick. The crew are so good you barely notice them. Where did that acoustic guitar come from? I'm sure he was holding a Gibson before... He starting this song holding a guitar now he is just carrying the mic around... He keeps throwing away the picks into the audience but never seems to run out...
If you look closely, you will see very well choreographed and rehearsed handoffs during and between certain songs that the stage crew sneak on and off to assist with. The support crew are as important as the band themselves for a successful outcome. And again there is more. These guys set up the stage before, help to pack up the gear to get back on the road for the next gig after. You have sound engineers that are tuning the sound system to keep a clean and consistent output of sound.
That lead singer is standing on the shoulders of a whole crew of people. And makes sure to shine the spotlight on the rest of the team playing the tunes.
You: Hold on, this is a software development blog...
Ok was that too subtle? If not then I'll just repeat myself to reinforce the point.
Don't aim to be a Rockstar developer. Aim to be an amazing team. And especially don't be a Diva.
If you are trying to outshine everyone else, you are actually being detrimental to the aims and goals of the team. And you don't want to be competing with the other Rockstar wannabes on the team either. You want to spend less time fighting for control and more time shipping solutions, right? Right.
The other big point of this analogy was to point out how critical the whole team, and a wider team, actually play a part. If it wasn't for the PM, PO, BA, Strategy Manager, Customer Support crew, not to mention Guild leaders, Evangelists, External trainers, CTO, Sales, Finance, Payroll... you wouldn't still be here.
It takes more than just a Rockstar to deliver software. You need a team of team players that work well together, practice their handoffs with each other, practice their craft together and put on a good show as a team, not a single spotlight with everyone else hiding in the shadows. No one wants to listen to that mess.
And if you really want to be a Rockstar developer, I leave you with this this: