Forgot your password?
typodupeerror
Programming

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

Posted by Soulskill
from the smashes-keyboard-after-every-performance dept.
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.)"
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • by Anonymous Coward on Wednesday September 11, 2013 @05:14PM (#44823581)
    You've confused "Rockstar" with "asshole". "Rockstars" are actually capable of "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 sticking point is usually when poor or mediocre developers are incapable of doing the same, then they blame the "rockstar".
  • Re:Relative (Score:3, Interesting)

    by Anonymous Coward on Wednesday September 11, 2013 @05:38PM (#44823863)

    I've most commonly heard "rockstar developer" from HR people who want to flatter candidates. They then proceed to hand me a pile of shit resumes of engineers who can barely code fizzbuzz. But it's common knowledge that engineers can vary in productivity by more than 10x (IIRC, IBM studied this), so I think we all know what they're referring to, even if the term is obnoxious.

    The thing about those engineers is that there's probably 2-3 times as many engineers who think they're in that category as there are engineers who are actually in that category and those false positives are way more trouble than they're worth. But the true "rockstars" are definitely worth it, even if they're annoying to deal with. It gets even more annoying given how often they're right about points of contention. Still, if you can swallow your pride and simply try to learn from them and, to the extent possible, get them to explain their thought process whenever you hit one of those situations where they draw a conclusion that's different from the one that you do, you can get a lot better at your job.

    And even if you think the problems you're doing are only 6s and 7s, you won't know if there's a 10 solution that's significantly better unless you've got someone that can come up with 10 solutions. That better solution can make everyone's life easier, even if you could have solved the problem differently.

  • by geekoid (135745) <dadinportland@@@yahoo...com> on Wednesday September 11, 2013 @05:40PM (#44823889) Homepage Journal

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

  • by Anonymous Coward on Wednesday September 11, 2013 @05:41PM (#44823893)

    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.

    +1. I've had the good fortune to work with some very good developers. My experience (or luck) was actually the opposite - they were quite nice to work with. Sure, they would get frustrated more often and more easily, would not tolerate inefficiency, and would get bored more easily, but never in obnoxious or unreasonable ways. You also automatically improve your own performance and make more of an effort to keep your foot on the pedal. That's some good stuff there!

    But most of all, as OP said, the hardest thing to do in pretty much anything is to re-imagine a problem, and not just in an abstract way but in a practical way, and quickly solve the problems. Really good developers get good ideas and act on them quickly - and sometimes even without being told. Very often, it results in ah-ha moments for other users and for the rest of the team. This is not because someone did something esoteric, but because someone just went ahead with an idea of solving a problem in a different way and got it done in a proverbial weekend.

    I've always imagined that this is the "hacker way" so I've never associated this mindset or set of behaviors with being a "rockstar developer" so I may very well be wrong.

  • by PhrostyMcByte (589271) <phrosty@gmail.com> on Wednesday September 11, 2013 @05:42PM (#44823927) Homepage

    I just read the book Multipliers [amazon.com]. It is targeted towards managers, but I think it is useful information for just about anyone. This dev (who has so far shown no interest in joining management) certainly took it to heart. The book compares "diminishers" and "multipliers".

    Diminishers, like your company rockstar. They need to know everything and have the last word. They can appear to be a team player when they're really just using people around them to prop themselves up. They strike fear into people who challenge them. They make large decisions by themselves, or take input from a small inner circle of people. They are at their A game, but diminish other people's output and potential. When people work with diminishers, they feel like they're giving 50%. It is a net loss.

    Multipliers create an environment where people can give input with confidence, make mistakes, and learn from them. This doesn't mean they are soft. In return for this they expect greatness and weed out those who can't give it or who can't work with the team. They identify genius (described in the book as an innate, exceptional ability which someone may not even realize they have) and try to flourish it. A multiplier can still be at their A game, but puts emphasis toward helping others grow. When people work with multipliers, they feel like they're giving 150%.

    It sounds a lot like some management BS and I'm sure I'm not selling it well, but it really is a great read. It has a lot of studies within tech companies, so it was generally very relateable. It helped me identify areas of improvement in myself, not just in my attitude but also to find opportunities to help others grow where I otherwise may have just taken control and pushed someone out.

  • by rwa2 (4391) * on Wednesday September 11, 2013 @06:06PM (#44824221) Homepage Journal

    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.

  • by Proudrooster (580120) on Wednesday September 11, 2013 @06:25PM (#44824405) Homepage

    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.

  • Re:Relative (Score:5, Interesting)

    by WaywardGeek (1480513) on Wednesday September 11, 2013 @06:25PM (#44824409) Journal

    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.

  • Re:Relative (Score:5, Interesting)

    by JaredOfEuropa (526365) on Wednesday September 11, 2013 @07:27PM (#44824825) Journal
    I produce such code, and while I do not consider myself to be a rock star, I do work faster than most other developers, let alone project teams. Way faster. (Compared against project teams on smallish tasks, I'd say the factor is not x10 but exceeds x100)

    What I discovered is that there is a need for crappy throwaway code, far greater than I thought. Prototypes, proof of concept products, budget solutions, anything people want to play with until they are happy enough to turn it over to a professional developer team and say "build me this". I even build production code from time to time. My boss understands that if the code needs fixing or updating, he can hire someone like me to fix it on the cheap (fast and small teams equal €€€ saved). Doing the math, he finds that building solid, supportable code and getting it into support with he regular teams looks a lot more sustainable on paper, but in practice is less flexible and vastly more expensive.

    Of course this doesn't apply to every situation. Luckily I have a clever boss who understands this and knows what kind of coder is called for. Good work if you can get it.
  • by Anonymous Coward on Wednesday September 11, 2013 @07:46PM (#44824935)

    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

  • by Terje Mathisen (128806) on Thursday September 12, 2013 @05:18AM (#44827811)

    At the risk of getting a lot of flames: I've been in this category a few times, but never consistently over many months or years.

    I.e. getting a challenge at work: "Mobil Oil left the meeting when we said you guys could develop this (safety) system in 3 months, with just one month to the first deployable version. They had calculated that it would take at least a calender year independent of the number of developers!"

    My coworker and I hid away in a meeting room for three days, at which point we had written the entire first version, including a separate machine with a full sw simulation of all the missing hw parts, with programmable (Monte Carlo) error rates for all components and tracking of any resulting errors in the user output.

    If I could do this day in and day out I would deserve that "rock star" title, but I know very well that I cannot.

    Most of the time I'm quite happy working out interesting algorithms, shooting the breeze over at comp.arch or just spending my time figuring out why a given application/system doesn't work (or perform too badly).

    I'm actually getting paid for that last part, so that is good.

    Besides, I also want time for my wife & kids, my hobbies (orienteering, xc skiing/snowboarding, windsurfing/kiting, rock climbing etc), so I limit my work hours to the regulation 40h/week.

    OTOH I have known/met a few real "rock stars", John Carmack is way up on that list and so is Anders Heijlsberg (who I first met way back when here in Scandinavia when he was a young punk who had just sold Turbo Pascal to Borland). Mike Abrash isn't quite as bright as Carmack, but he is incredibly persistent as well as consistently good.

    All three of these come across as really nice guys.

    Terje

Never say you know a man until you have divided an inheritance with him.

Working...