Computerworld

Rock star coders

For rock star programmers, it's not only just about brains but how you use them and get along with others

"You sound great singing in the shower, but there's a rock star inside you!" So read the first line of a job posting placed by Viget Labs in December, in its attempt to fill a junior-level position for a Ruby on Rails "would-be rock star programmer."

Meanwhile, Web-based marketing service Emma asks, "Are you a PHP rock star?" And it goes on. Online brokerage firm Redfin seeks an AJAX rock star, social network BrightKite is looking for a Ruby rock star and software developer Backstop Solutions Group, a Java rock star.

So when did programmers become equated with rock stars and all that they entail -- fame, ego, phenomenal talent, single-minded passion, brilliance to the point of self-destruction, absurd employment terms and crazed groupies? Some say it's the surge in Web 2.0 start-ups and the resulting demand for talent. "The innovation engine is cranking at high speed again, and that means more start-ups and more venture capital money," says David Hayes, president of recruiting firm HireMinds. And there's nothing like a hot job market, he says, to bring out the egos. "The employment rate for technology professionals is extremely high, and that gives some people the sense that they're now and forever in charge of their own destinies."

Others say the phenomenon has roots in the growing fanfare and big winnings of code competitions, particularly those hosted by TopCoder, which offers up to US$50,000 to first place winners and now hosts its annual TopCoder Open in the entertainment Mecca of Las Vegas. "It's an entertainment ethos that's taken over a small area of the programming world," says Paul Glen, an IT management consultant and author of Leading Geeks. One frequent winner of these competitions, Tomasz Czajka (known in competition as Tomek), actually has enjoyed celebrity-like status in the Polish media and has been featured on a billboard in his native downtown Warsaw. He's even had a song written about him by MC Plus+, a "geeksta" rapper (yes, there is such a thing). Another, Derek Kinsman, who uses the handle "Snapdragon" and lives in Canada, says he gets recognized from time to time, once while dining in a restaurant.

Jim McKeown, director of communications at TopCoder, says he has seen the social status of frequent winners grow significantly in the last four to five years, especially because of the "incredible search for talent from companies with deep pockets," he says. "They used to just be guys who were brilliant but not very well known."

Still others point to the ease today of developing a following and a level of fame, however small, thanks to both online and physical world venues, such as blogs, open-source software sites, content-sharing sites like Digg and conferences designed for avid programmers, such as invitation-only Foo Camps, an annual hacker event sponsored by O'Reilly Media.

Developers who lead major software projects, such as Linus Torvalds, have always attained rock star status within their community, points out Dan Helfman, a longtime developer and founder of Coderific, an employee rating site, who recently wrote a diatribe against arrogant coders. And while he doesn't think that kind of reputation is recognized by the greater public, it holds tremendous sway within the IT community itself.

"Some developers base their careers around eventually becoming rock stars," Helfman says. "Others practically worship at the virtual altar of software rock stars, hanging on every word of their blog or mailing list posts."

But the difference is striking between those who became popular before 2007 and those who've gained their celebrity since then, says Clinton Nixon, a senior developer at Viget Labs, a Web design, development and consulting firm. All you have to do, he says, is visit the Web sites of older-style programming gurus such as Joel Spolsky or Paul Graham,/a> and compare those to the likes of Obie Fernandez, who used a commercial photographer who works with modeling studios to help create his Web image.

Then there's Zed Shaw, whose profanity-laced blog is filled with arrogant retellings of his greatness -- perhaps just an act, but in any case quite a show. Another programmer who comes across as ego-filled (whether authentic or not) is Kyle Brady, who literally calls himself a "rock star programmer" and admits to having a huge ego "but not without good cause."

Page Break

A bit quieter in approach but still wildly creative is a programmer by the bizarre name of why the lucky, who blogs about his love of hacking code and a wide variety of other things, including his involvement in a band called the Thirsty Cups.

Some of what accounts for this change in style, Nixon says, is simply the changing culture of the Internet, thanks to the rise of social networks. The new generation of programmers grew up in an age in which it's de rigeur to create an image of yourself online. "We live in an age of individual, self-promoted celebrity within niche markets, where some programmers really work at promoting their expertise, eventually becoming recognizable to anyone who spends time reading weblogs and Digg-style sites," he says.

Nixon also points to a trend he sees of more people entering the development world with Web design backgrounds. "Image is now part of what makes a well-known developer, much like a designer's image is a major part of her portfolio," he says.

Rock stars resonate

Perhaps it's this new breed of image-conscious developer that is resonating with employers, particularly those of the Web 2.0 start-up variety. The combination of talent, passion, creativity, confidence and fearlessness about exposing their code and ideas to the rest of the developer community are traits that companies say they're seeking when they place those rock star ads. And when you get past the wackiness of some of these sites, you see that their authors have published books, started up companies, written downloadable code and spoken at conferences.

For instance, according to Viget CEO Brian Williams, Nixon's qualities approximate what he's looking for in a rock star programmer. In addition to working at Viget, Nixon, who is 31, writes and publishes role-playing games; is co-founder of the Forge -- a role-playing game community; has maintained a blog since 1999; and is a presenter at conferences such as the O'Reilly Open Source Convention and participates in Rails Rumbles. He's self-taught, having started programming as a preteen, and is currently pursuing his bachelor's of science. He's as interested in learning about Ruby as teaching others about it. And he performs publicly with his ukelele.

"For us, a rock star developer really boils down to two things: talent and passion," Williams says. In other words, you either "got it" or you don't. While you can become a better creative thinker or problem-solver, he says, "ultimately you either have the raw talent to reach 'rock star' status or you don't."

Without passion, he adds, talent is useless. "Exceptional developers are passionate about their code, company, clients, co-workers and the community at large," he says. "They're ambitious about growing in their profession and strive to earn the respect of their peers simply by doing innovative work and sharing it."

According to Patrick Reagan, development director at Viget, the company is "looking for the 20% -- the people who, when they're unfulfilled at their day jobs, spend after-hours learning new languages [and] frameworks and hacking on open-source projects."

While Nixon doesn't bill himself as a rock star and maintains a blog that's more humble than flashy, he says he understands what his employer means by the term. "They're obviously not looking for Mick Jagger's cousin who knows Ruby," he says. Rather, they're looking for someone who has technological depth and a desire and ability to be something of a public figure, interacting with other programmers and, as Nixon says, "dazzling clients with their brilliance."

As he sees it, his employer wants the sort of people who organize BarCamps, speak at conferences, and publish their findings and code for others to see.

"To be blunt, we don't want the stereotype of a dirty programmer with a scraggly beard in a pizza-stained threadbare conference T-shirt, no matter how good they code," he says. "We want someone who is a well-rounded human, and driven to excel in their chosen field."

Will Weaver, president of Emma, echoes some of these ideas. "We want someone who pushes past good, or better than average, and does something incredible -- someone who approaches development as an art form, not just a means to an end, and wants to create something memorable, not just make something work."

Page Break

As for ego, however, leave it at the door. "We would rather have someone with decent skills that can get along rather than a genius who has to have everything his way," Weaver says.

The argument against rock stars

Weaver's caveat brings up a good reason why plenty of people warn employers to know what they're getting into when they look for rock stars. For one thing, this type of developer may be more interested in the exciting work of creating code than the routine stuff of debugging, maintaining and understanding business requirements, Glen says. "Many are junkies for creation," he says. "When you're trying to incrementally improve or stabilize a system, they'd slit their wrists."

Many developers of this caliber might also be ambitious, hoping to someday start their own company and sell it for millions. "So the idea of working at a company for a lowly US$100,000 a year is not their idea of fame and fortune," says J. Strother Moore, who heads the department of computer sciences at the University of Texas at Austin.

Kinsman, who now works at Google Inc., acknowledges that his real-life work is more tedious and less challenging than the abstract problems he sees on programming contests. "It's very important for them to be offered challenges that are worthy of them," McKeown says.

Another issue is the arrogance that often accompanies brilliance, which can demoralize an entire staff. "There are hazards that people run into when they're that smart," Glen says. "They start to believe their own PR." In fact, he says, he's had to fire rock star developers because their net impact on projects was negative. "Instead of using their talents to raise everyone up, they used it to diminish everyone," he says. "It's not about the raw horsepower of your intellect but how you use it."

Moore adds that companies may be better off hiring someone more akin to a symphony conductor than a rock star. "The world needs excellent designers who work well with a team," he says.

Helfman agrees. "Companies, hiring managers and developers who seek out rock star developers often ignore other important issues like how well they play with others and follow software engineering best practices," he says. Too many of them, he says, are wed to one particular programming language or area of expertise, disdaining all others.

This really becomes a problem when the employer sees the star developer as doing no wrong, he says. On his blog, Helfman contends that the best and brightest developers are not rock star programmers at all. "If it isn't something that takes every ounce of clever in their body to do it, it won't get done," he writes.

Indeed, plenty of people find the rock star nomenclature and culture distasteful. In fact, Hayes contends, really good developers wouldn't answer job postings that used the term. And, he says, the ones who do might be the most self-delusional. He cites a recent example of a job candidate he interviewed with just four or five years of experience who gave himself a top score of 10 on a self-assessment test. "Clearly, he thinks he's a rock star, but that kind of attitude doesn't work well with a lot of our clients," he says.

"I almost think of the term pejoratively," Moore agrees. "It implies a sort of arrogance that I don't actually see among the best programmers I know, who know their limitations and program with 'the other guy' in mind. If you have to call yourself a rock star, you ain't." Or as one blogger puts it, "I'd rather be a jazz programmer."

And perhaps the tide among employers is changing, according to Viget's Reagan. "We've been thinking that the rock star label has been overused in Rails job posts," he says. "Next time we might try 'Rails pirate' or 'Ruby MMA warrior.' "

The bright side of stars

But it's not all bad, says TopCoder founder Jack Hughes. The increased celebrity among prominent developers -- even if it never infiltrates the public's consciousness -- will only elevate the perception of the profession, in a 'rising tide lifts all boats' kind of way. "Could Microsoft or Google be where they are without star programmers?" he asks. "I don't think so."

And even while Nixon agrees with those who say the phrase 'rock star programmer' is silly, he says it doesn't reduce its usefulness. "Right now, we're in a place where the popularity of ideas and people matters as much as their technical merits," he says. "That's not the best criteria for technology or hiring decisions, but people aren't rational."