If you write code for a living, or have ever read recruitment ads for those who write code for a living, you'll probably be familiar with the phrase, "rockstar developer."
It's a phrase used by recruiters to describe the kind of people they want to hire. They're looking for very best of the very best. The kind of engineering gods who can perform the tasks of ten mortals, thundering away on keyboards like Rick Wakeman jacked on amphetamines.
Amongst the engineers themselves, the phrase "rockstar developer" divides opinion. Some think it's a reasonable way to describe the best in the business, while others think it's utter nonsense, a phrase used by unrealistic companies to overwork the underpaid... and they're beginning to fight back.
It started with a tweet.
To really confuse recruiters, someone should make a programming language called Rockstar.July 3, 2018
With the internet being the internet, it was only a matter of time before someone took up the challenge. And that someone was developer and musician Dylan Beattie. Within a couple of weeks he'd created Rockstar, a programming language.
"I’ve dealt with more than a few unscrupulous recruiters in my time," says Beattie. "So when I saw Paul’s tweet, I thought this was a great opportunity to have a bit of fun and maybe even make a few people think twice about using ‘rockstar developer’ in their job adverts.
"Plus, it means anybody who can write even one or two lines of Rockstar code is allowed to legitimately call themselves a rockstar developer, which I thought would probably go down rather well. We might even give out certificates - who knows?"
Can you explain Rockstar? Imagine we're idiots who know nothing about computers or programming.
"OK - so, trying to explain Rockstar to somebody who doesn’t know anything about computer programming is a bit like trying to explain Steel Panther to somebody who doesn’t know anything about hair metal… but let’s have a go!
"There’s all sorts of different ways to program a modern computer. The earliest computers were basically glorified calculators, and so the earliest programming languages were basically just mathematics, but since the 1980s we’ve developed a range of languages that borrow some words and grammar from English, which makes them easier for us humans to learn and to use. Because computer nerds like me tend to have a weird sense of humour, there’s a long tradition of trying to create jokes or poetry in these languages - little snippets of code that are valid programs, but which also raise a smile once you realise what you’re looking at.
"Some people have taken this idea further and developed what are called “esoteric languages” (or “esolangs”), which are entire languages created for comic effect or to make a point. Some of them are daft - there’s a language called Ook, in honour of the orangutan librarian from the Discworld novels, in which every single statement is the word ‘ook’ followed by different punctuation. (Ook! Ook! Ook. Ook? Ook! Ook.) But some of them are genuinely creative.
"Way back in the early 2000s, a guy called Damian Conway created a language called Perligata that let you program computers in Latin, where he actually used Latin grammar to represent programming concepts.
"There’s also a language called Shakespeare, which was designed to make your programs read like Shakespeare plays, and one called Chef that encourages you to write programs that look like recipes - and they’re all based on this idea of combining the technical conventions of programming language design with stylistic conventions drawn from an unrelated field, to create something that works both as a computer program and as a piece of creative writing.
"Rockstar is one of these esoteric languages. It’s basically a set of rules that gives you enough creative licence to write lines of code that look like rock song lyrics, but imposes enough structure that your ‘songs’ can be translated into something that will run as a computer program."
Does Rockstar have any real benefits as a programming language?
"No. Programming in Rockstar is like building a matchstick model of Tower Bridge, or riding across Canada on an unicycle - you’re not doing it to actually solve a problem, you’re doing it for fun, and to see what you can achieve within a set of artificial constraints. It might be a good way to learn about programming language design, but as an engineering tool it’s about as much use as a cardboard spanner."
Where will Rockstar be in ten years?
"Everywhere! Stickers. T-shirts. Swag. We’ll have our own Rockstar Developer Convention - part music festival, part software conference, where we all get together and talk about programming language design while we’re rocking out to Europe and Bonnie Tyler...
"OK, I actually have no idea - this is the internet, and it’s probably only a matter of weeks before everybody gets bored of Rockstar and moves on to whatever the next shiny thing is. But I hope that it gets enough traction that people stop talking about ‘rockstar developers’ because they realise how completely daft that sounds. If we can get it so that everyone who Googles that phrase for the first time finds the Rockstar language at the top of their search results, that would be a good start."
You're a songwriter. Tell us about that, please.
"I’ve been into rock and metal most of my life - I moved to the U.K. from Zimbabwe when I was nine; a couple of kids at school were into Bon Jovi and Guns N' Roses, I started listening to The Friday Rock Show on Radio 1, and I’ve been a rock fan ever since. I started playing guitar, and spent my teenage years playing covers in various short-lived bands.
"I’ve always found it easier writing lyrics than melodies, and a few years ago I started writing software-themed parodies of classic rock tunes and performing them at conference parties. People asked me to put them online - so I learned how to make some pretty basic music videos and put them on YouTube, which in turn has led to me getting more recognition and invitations to perform live at software conferences.
"Apparently I've ruined You Give Love a Bad Name for an entire generation of software developers [see below - Ed], so at least I’ll be remembered for something!"
You can find out more about Rockstar at GitHub.