I've spent a lot of time thinking about what it is that bothers me so much when I see job postings that are looking for a "rock star programmer". It's an easy thing to mock, and clearly not meant to be taken literally. Nobody actually thinks that there's a rock star way to make pull requests or estimate stories, nor will having Bret Michaels committing code take your team to the next level.
Yet, I couldn't let it go as a joke. I’m here to tell you that after countless hours, I think I know why. It’s because asking for a “rock star programmer” means you have no idea what you’re looking for. The person you think you’re looking for is so far detached from reality, you’re actually looking in the wrong direction. Allow me to illustrate with a few examples.
the coolest math teacher
That's right, the cool math teacher. What is programming besides applied math? And cool math teachers make learning math fun! I can guarantee that most people working in technology have had a cool, guitar-playing, Tom Waits-loving math teacher at some point.
There's a lot to admire about the teachers that will explain the same material from a different angle to help drive the point home. I've always seen teaching as an investment. The teacher doesn't get anything new out of it; they're spending their time to help the kids expand their own breadth of knowledge. As programmers, we do this all the time. Onboarding, knowledge transfer, documentation, testing: we invest time in the people work with so that we can all have a better time together sharing a codebase.
an even cooler librarian
I'll be the first to admit, this isn't catchy, nor exciting, nor is it something I would take seriously before reporting it as spam faster than you can say "iPad giveaway". But it works. A library wants to hire a responsible librarian. The librarian has to keep track of everything; libraries are full of stuff that gets taken away and returned on a regular basis. That doesn't happen with magic or robots (although I'm sure there's a surprising amount of robot librarians), a real human person does it. Someone that cares about the integrity of the institution. Compare this to being an actual rock star. Did Freddie Mercury interview to get into Queen? No he did not.
What is a codebase besides a library? Repositories aren't haphazardly named and deployed on whatever servers are lying around, they're managed and kept in check by diligent, responsible people. I'd rather listen to Ozzy sing about trains than have him writing a deployment script.
the session musician
In case it's unclear, I have no grasp of how the rock music industry actually works. But there are some things I've picked up watching the occasional documentary. One such thing I thought was interesting was the role of the session musician .
Let's say I'm jamming on GarageBand on my work laptop (because Friday night is party time) and I make something that I'm actually insanely proud of: the deepest of house with a chiptune funk groove and Nico-esque backing vocals that would make Brian Eno’s skin crawl with excitement.
If I were motivated enough to spend money to see this hit the masses and do it right, the first thing I would do is find a recording studio. The second thing I would do is find some good session musicians to record the different instrument parts because it turns out I'm not a very good drummer. Or keyboard player. My vocals are fine but I’m sure a professional could do it better (ed: this is what people have told me, I humbly disagree but that’s beside the point). Sure it's in perfect time and key because the modern computer is a miracle box, but it doesn't sound right.
The session drummer will hear what I tried to do and give it some heart. They'll probably add some fills I never thought to add that make the song pristine. Not for the fame or glory, they enjoy playing a fun song. If it’s not a fun song for them to play, they’ll make it fun.
I can't think of a better metaphor for good code reviews. A great engineer doesn’t say "this sucks", hop on the keyboard, and say "do this instead, and forever". They'll say something like "I like this part but it would make more sense structured like this". A good code review will teach and give everyone a sense of confidence that there won't be a 4am call saying "everything's on fire".
sometimes science is more art than science, a lot of people don't get that
wrap it up
It's obvious that writing code could never amount to the thrill and excitement of a life of rock. But that's ok. As engineers, we are driven by a pursuit of constant knowledge and relentless improvement.
At the end of the day, I like Trunk Club because the people I work with exhibit these qualities. They teach me something new every day (often the same thing for multiple days because I can never remember how to provision a server) They're an invested bunch that take ownership of what they make, and love seeing projects through.They'll motivate me to work on a project I mentioned awhile back that might make our lives a little easier. Even if it goes nowhere, they'll encourage me to fail because that's the best way to grow. It's inspiring, and makes me want to constantly improve. That's the energy that keeps it from feeling like I'm getting up for the grind, but more like I'm heading into a library to focus on some projects.
Wanna show us your metaphorical guitar solo? Give our Engineering Page a look and send us a message
Actually, I recently found out many of my coworkers record rock music. Now that I think about it, maybe there is such a thing as a rockstar developer.