Slashdot Mirror


Ask Slashdot: Are 'Rock Star' Developers a Necessity?

An anonymous reader writes "Do you think so called 'rock star' developers are necessary at every company? Personally, I don't think so, and I equate it to not needing a college degree to work at Walmart. If you give every problem a complexity value from 1 to 10, and your problems never get higher than a 6 or 7, do you need people capable of solving the 10s? I work for a large software company and I'd rate myself a 7. There are more technically proficient developers, but I don't have an ego about my work, I work well with coworkers and customers, and I bring people up around me. Most 'rock stars' I've seen have been difficult to work with. Most of them are no longer with the company because they were terminated or quit for more money. Is this usually the case? Is it worth the trouble? (Note to any managers reading this: if you have a rockstar who is a pleasant person, pay them well; they are very rare.)"

17 of 356 comments (clear)

  1. Relative by CrzyP · · Score: 5, Insightful

    The term "rockstar" is subjective and only douchebags use it. You could be considered a rockstar because you say you are bringing those around you "up" and are probably doing that by learning and training others about what you learn. You may not know how to develop something in a way when you start but you can learn and apply it when you do. I f-ing hate terminology like that.

    1. Re:Relative by Anonymous Coward · · Score: 5, Funny

      1 - 10? 6 or 7? I'm a Rockstar developer! I go to 11.

    2. Re:Relative by gbjbaanb · · Score: 5, Funny

      Alice Cooper is a rockstar, and his Python skills are legendary.

      Not sure what his Perl's like though.

    3. Re:Relative by intermodal · · Score: 5, Funny

      I can't tell you much about Alice Cooper's Perl, but I do know that back in the day, Lionel Richie was amazing with Commodores.

      --
      In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
    4. Re:Relative by WaywardGeek · · Score: 5, Interesting

      I've known a lot of top programmers, and consider myself among them. Personally, I like to hire rock-star coders right out of college, before they have a chance to develop all those bad anti-social habits. I love it when a team of awesome programmers all work together effortlessly.

      Unfortunately, the typical experience for an awesome coder is to find that he's carrying the load by himself and getting help from coworkers that's slightly worse than no help at all. There's no mentor to show him how to work with his team, and he quickly becomes a lone wolf coder. Once a lone wolf coder develops his style of coding all by himself, it's pretty darned hard to ever get him integrated into an efficient team.

      The "best" coder I ever met, and this by the way is the only person I have ever met I have to admit can code circles around me, is Ken McElvain, founder and genius coder behind Synplicity's rapid IPO. The guy has an amazing mind. He's not only a Mozart with code, he's brilliant in business, and if he has an ego at all, you'd never know it from talking to him. He is definitely a lone wolf coder. There was simply no other path for him.

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
  2. Necessity, no, but... by seebs · · Score: 5, Insightful

    You're conflating two unrelated things: Competence and attitude. You might find The No Asshole Rule an interesting source. People who can't cooperate with other people are not a necessity, no matter how amazing they are.

    But... When all you have is a hammer, everything looks like a nail. The thing that makes exceptional developers exceptional isn't their very specialized ability to solve weird problems no one really needs to solve. It's their ability to spot an opportunity to replace a hard problem with an easy one, or to massively improve performance by solving a slightly harder problem. And that really is that useful, even if you don't directly see the benefits. You can do nearly everythign with plodding, methodical, mediocre work. Doesn't mean you won't be happier with the results if you have someone better available.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  3. Rockstars are never necessary by Endophage · · Score: 5, Insightful

    I'm a tech lead at a startup and have worked at mid-size companies (I've avoided large corporations). Even if your problems are difficulty 10, you don't need a "rockstar" to solve them. My experience with typical rockstar developers has been similar to yours, they work poorly with others, communicate poorly, and often write inscrutable code. I firmly believe that nobody is invaluable. No company can afford to have a person that were they hit by a bus, or just left, the company would fail.

    There are plenty of developers out there that wouldn't be considered "rockstars" in the stereotypical sense but when given a problem, I know they will produce good, well thought out, performant code within a short period of time. During development they will seek out criticism from their peers (and they see the rest of the team as their peers) and the final solution will be respected and understood by the team. I think of these people as seasoned engineers, not rockstars and certainly not developers. Engineers break down problems and build a solution before they ever write a line of code. I also believe you can become a seasoned engineer rapidly, possibly even straight out of college. It's about perspective, not necessarily experience.

    One of the most important things in an engineering group, in my opinion, is the ability to walk into a room, argue out a solution, possibly admit you're wrong and somebody else's solution is better, but know when to fight your corner, then leave the room as friends and colleagues, ready to build the solution together. The ego rockstars carry makes that scenario impossible.

    1. Re:Rockstars are never necessary by geekoid · · Score: 5, Interesting

      "My experience with typical rockstar developers has been similar to yours, they work poorly with others, communicate poorly, and often write inscrutable code"
      Based on that, you're experience is with people who aren't rockstars, but claim they are.

      I worked with a guy who shaved 3 months off a year long project. This guy could sit down and just code.

      Good, clean code the he documented. I learned a shit load, and not just about the language, but all the ancillary bits as well. like comments , documenting, and how to get clarification from users and deal with stakeholders.

      Programming is a lot more than just coding. the sooner more people realize that the sooner we can move forward with actual computer engineering.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  4. Define "Rock Star" by Anonymous Coward · · Score: 5, Insightful

    You need to define your question better.

    If you mean "A coder who is very good at solving problems," then yes. Every project develops problems that brute force and more manpower can't accelerate. Someone who can break the logjams is useful everywhere.

    If you mean "someone who is super-smart but also an ass," then no. I'd rather have a solid team beat on a problem for a week then allow a morale-killing ass to poison the environment.

  5. there are different types of dev and rock stars by a2wflc · · Score: 5, Insightful

    Many development project don't need a 'rock star'. They can be done with "typical" architectures, existing frameworks, and just need "assembly-line-type" workers for all of the steps. I'd even say "most" projects are like this and any project can survive without a rock star.

    There are also different types of 'rock stars' and they can help on even the most basic project. In general, the 'rock star' can do any/all of these things, but what do they do on a day to day basis varies based on their individual "specialty"

    * some can architect the "difficulty 10" projects so it can be implemented in assembly-line fashion by "typical" developers

    * some can implement the "difficulty 10" projects that wasn't architected well (when a team of N "normal" developers would end up with a late and buggy implementation)

    * some can debug like nothing most people have ever seen (they don't usually create difficult-to-find bugs but are a huge asset to the team when the bugs come up which can happen on even the most trivial project)

    * some just implement so well (speed of development + lack of bugs) that they literally will be cheaper than a team of N people (so, to the manager they aren't necessary but would be preferred)

    * some can mentor, and find other people's strengths, and reorganize efforts on the fly. they can help everyone else be more productive, and can adapt the process/team as requirements change and can be critical to delivering on time and above requirements especially when things go wrong.

    * some can help where ever needed (front-end, db, back-end, sysadmin, security, build, etc) and can step in without losing a beat when another member of the team is out (sick, vacation, left for another job).

    * some can find bugs in 3rd party libraries or system components (without the source code). find workarounds and/or patch those libraries to continue development quickly while sending the bug fix and appropriate level of explanation to the library developer to get a permanent fix. If you've ever been on a "difficulty 5" project which found a show-stopper bug in a critical 3rd party library during QA, you'll really appreciate this skill. I have seen one case on a "trivial" project where this skill was necessary and a few other cases where it really helped.

    I've worked with a very small number of "rock stars" over 30 years. They all had multiple of the above skills. I've worked with 3x as many people who were considered "rock stars" (by themselves and sometimes others) but weren't. In almost all cases, the "fake rock stars" slowed the project down more than they helped and the team would have been better off with one less member.

  6. Re:the same in any job by hedwards · · Score: 5, Insightful

    I dunno, I think the guys in the band without a rockstar make a lot less money.

  7. ROCK STAR DEVELOPER NON-EXISTANT by Jeremiah+Cornelius · · Score: 5, Insightful

    No definition provided.

    The concept of "ROCK STAR DEVELOPER" is a fiction invented by professional recruitment outsources. All developers are "Side Men" - even if some are in the "Musical Director" category.

    --
    "Flyin' in just a sweet place,
    Never been known to fail..."
    1. Re:ROCK STAR DEVELOPER NON-EXISTANT by Proudrooster · · Score: 5, Interesting

      From Urban Dictionary: Rock Star Programmer - A computer programmer with such strong skills and so much specific experience that they are the equivalent of a rock star in the domain of software. Many people play guitar pretty well, but only a few become rock stars. These programmers can develop more software than 5 - 10 newly hired regular programmers because they know what needs to be done and how to do it. They also might set the architecture of the product that dozens will build upon. Usually associated with dot com websites.

      Usage: Jeff was the guy behind ebay.com He's a rockstar programmer.

      Yes they exist, typically large IT organizations have a few of them just in case. Many are like the fictional TV personality, House. If you can tolerate them, they are nice to have around for large, unsolvable problems that need to be fixed now. Many can deduce, diagnose, analyze, and fix things before your standard programmers can even formulate the problem. I have witnessed this on several occasions. If time is money, they are great insurance but be prepared for arrogance. The one I formerly worked with brought his dog to work and forced a fortune 500 company to give the dog a swipe badge. It was pretty hilarious.

    2. Re:ROCK STAR DEVELOPER NON-EXISTANT by Anonymous Coward · · Score: 5, Interesting

      Here's the bitch about that definition. Rockstars are not the best guitar players. They're the most famous ones, from successful bands. There used to be a commercial on TV for Taco Bell, I think, or maybe Doritos. It featured Brian Setzer, a rockstar, talking about/showing this dream where he was playing in a concert and suddenly a little old lady in a rocking chair appeared and made a derisive comment about his guitar playing, and then to demonstrate, she whipped out a guitar and let rip. That little old lady, it turns out, was played by a real life little old lady who was in Guitar Magazine's top 10 guitar players - above notables like Eric Clapton and such. But you'd never heard of her unless you were super serious about guitar playing or certain genre's of country music.

      Rock Star =/= Great Musician

  8. Re:Translation: by Zero__Kelvin · · Score: 5, Funny

    Clarification of who you are. You are a mediocre to below mediocre programmer with an inferiority complex. Your code is always bug ridden because you can't even review a simple Slashdot post properly before you hit submit. You regularly apply commits to the repo that pull the rug out from under the true developers, and you often screw the commit up because you just learned about revision control in the last year and still think SVN is where it is at. You have heard of git, but it is too complicated. You need antacids because you can't get the sour grapes out of your mouth. Did I miss anything? Oh yeah. That's right ... you are going to create a Slashdot account just as soon as you figure out how to do it.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  9. Re:Translation: by Anonymous Coward · · Score: 5, Funny

    And it is a constant challenge to make sure I am not talking down to people, or seeming to snotty.

    Try this method:

    "If the next thing you might say is douchey, skip it and think of something else. Repeat as necessary."

    As a programmer, you'll immediately think of improvements to this algorithm, but if you are a good programmer, you'll understand the pitfalls of premature optimization. Keep it simple.

  10. Re:Assholes are like opinions by rwa2 · · Score: 5, Interesting

    Yep. I've worked with a few people I would consider "Rockstar" programmers in the "non-asshole" sense. They were fun to be around, considerate, polite, knew their shit inside and out, and tutored / mentored me and others to become more effective at the parts of the project we worked on.

    These days, the first interview question I throw at new candidates is "Tell me a story about a time you had a technical difference of opinion with another person or group, and describe what you did to resolve your conflict and move forward". It's a behavioral interview tactic I picked up from a former big employer, and it tends to be fun to note how much they squirm while recounting past bad blood. Now, no one has really ever totally bombed this question, but making them talk through some of their uncomfortable scenarios provides some good insight into how much experience people have when they inevitably have to deal with conflict resolution... and the mere fact that we ask it kinda prompts them with the expectations we have of our employees for cooperating with others in our environment.