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.)"

7 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.

  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.

  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..."