Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming

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

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:
  • Translation: (Score:3, Insightful)

    by Anonymous Coward on Wednesday September 11, 2013 @04:58PM (#44823359)
    My coding is mediocre at best, and I know it. I still want to feel useful. Please say something nice to me. Please make me feel better.
  • Relative (Score:5, Insightful)

    by CrzyP ( 830102 ) on Wednesday September 11, 2013 @04:59PM (#44823369)
    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.
    • Re:Relative (Score:5, Funny)

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

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

      • His 1-10 ranking of task difficulty & how he correlates it with task analysis is reductive and omits several behaviors in work that demonstrate competence.

        Lets assume you *can* assign some sort of 1-10 number on the 'difficultly' of a task.

        If it requires a 7 why have someone who can do more?

        Intelligent people work smarter *and* harder. They find ways to automate time consuming tasks where lesser workers just put their head down and do it individually.

        They find ways to overlap work.

        They have better habit

    • I can't be a rock star because I like folk music.
    • Re:Relative (Score:5, Insightful)

      by ZahrGnosis ( 66741 ) on Wednesday September 11, 2013 @05:20PM (#44823653) Homepage

      Agree with parent (CrzyP)...

      Specifically, though, if they are "difficult to work with", then they probably aren't the best programmers. In that case, "Rock Star" may actually be a good term... people that are extremely talented at doing something, but do so by their own rules, frequently high, often attention grabbing and lacking focus or team spirit. (Not that there aren't great real rock stars, but you get my point). Okay, maybe that's an exaggeration, but still...

      What you do need are top tier developers, forget what you call them. You can get to the top tier by having raw talent, or by being well disciplined. Working well with others is a boon; building code that is reusable, well factored, documentable and maintainable. If you have five team members each with five different strengths but no one-developer-to-rule-them-all, you can still build a fantastic team and great software. You need programmers who can mentor so that the rest of the team can improve. Toss the people that don't work well on a team, and while you're at it toss the managers that prefer hard-to-work-with people, or that can't manage teams of normal people. This is particularly important if your software is going to grow... individual "rock stars" don't scale.

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

        • That's sort of the problem
          whether you're a 1 or a 10 level programmer, ego has nothing to do with that.
          I knew people who wrote spaghetti code who had bad attitudes. I know people who were quiet and nice and wrote great code. There really is no correlation besides someone who wants to classify incorrectly.

          The assumption is that all great programmers are a pain to deal with. That assumption is totally incorrect. Different people have different skills, personalities and abilities to work with others.

    • "The term "rockstar" is subjective and only douchebags use it. "

      I just signed with a major label you insensitive clod!

    • Re: (Score:3, Interesting)

      by Anonymous Coward

      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 en

      • Re:Relative (Score:5, Informative)

        by MrBandersnatch ( 544818 ) on Wednesday September 11, 2013 @06:19PM (#44824341)

        Heh, I spent a year cleaning up after the last "10x" developer. 10x the productivity, 10x the bugs.

        • Re:Relative (Score:5, Informative)

          by crunchygranola ( 1954152 ) on Wednesday September 11, 2013 @06:30PM (#44824463)
          Mod this guy up. There are lots of programmers that can crank lots of code that meet functional requirements. Code that is convoluted, inefficient, incomprehensible - code that instantly becomes an enormous burden on the organization trying to use it. If enough technical debt is added by a programmer, his output is strictly negative and you can't "make it up in volume".
          • 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 AmiMoJo ( 196126 ) *

              Sounds like a huge build-up of technical debt. One day you find an obscure but important bug, and some architectural issue blocks you from fixing it and suddenly you have to pay it all off with some massive re-engineering.

              At lot of places the prototype code often becomes the production code. The moment the PHB sees something that works it's already being sold to customers. In fact I know of one place where someone did a sketch of what a product might look like, then six months later it was on sale. At that

    • everyone knwo what they mean:
      Guru,(80s)
      Then prima donna,(early 90s)
      Then [insert made up name] (97-2000)
      now it's rockstar.

      Next week it will be 'earwig' or some other nonsense.

    • Re:Relative (Score:5, Funny)

      by Darinbob ( 1142669 ) on Wednesday September 11, 2013 @08:29PM (#44825275)

      I got a recruiter email that said "We're looking for rock stars!" which was pretty much the dumbest thing I've ever seen in a recruiter email (and they're all dumb).
      I was tempted to respond with "I'm a 75 year old Mick Jagger, I can only work 20 hours a week between naps and my speech is so slurry that it's best I don't interact with customers or investors."

  • by Bill_the_Engineer ( 772575 ) on Wednesday September 11, 2013 @05:01PM (#44823407)
    If Rockstar had no developers then how would Grand theft Auto V be completed? ;)
  • by seebs ( 15766 ) on Wednesday September 11, 2013 @05:02PM (#44823427) Homepage

    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.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      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 thi

    • 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 Kjella ( 173770 )

      All other things being equal of course you'd take a more competent developer over a less competent one. But exceptionally good people don't come easy or cheap so the question was if they're worth it for everyone. I'd say no, for example in some business applications you're just constantly chasing that new input form or business rule or workflow or report the business side wants, there's no telling where they'll go next and there's really little room to make grand improvements unless you want to try to creat

  • Rockstars beget and cultivate other rock stars, sometimes through obvious mechanisms like apprenticeships but many times passively by simply raising the standard of what is considered acceptable code. I'm amazed at the number of times I've worked with engineers who wrote poor code simply because they've never seen what good code looks like. This is especially true for our compatriots arriving from overseas, where code construction is not taught at the university and where they had no peers/rockstars to set
  • by Endophage ( 1685212 ) on Wednesday September 11, 2013 @05:08PM (#44823487) Homepage

    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.

    • Re: (Score:3, Interesting)

      by Anonymous Coward
      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".
    • by geekoid ( 135745 ) <dadinportlandNO@SPAMyahoo.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 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.

    • "My experience with typical rockstar developers has been similar to yours, they work poorly with others, communicate poorly, and often write inscrutable code."

      There's only one problem. You just described the exact opposite of a rock star developer.

    • by Zordak ( 123132 )

      often write inscrutable code

      Which can lead you to acquire legendary status on Usenet if your name happens to be Mel and you use a MAXINT rollover and flag bit to address a jump instruction.

  • A good "rockstar" coder in my books is one that you can ask reference questions to and get fast concise answers. "How do I do foo?" - " Lookup bar and baz on google" The quick redirection to useful information is super helpful to a large group of programmers.
  • Yes (Score:5, Insightful)

    by msobkow ( 48369 ) on Wednesday September 11, 2013 @05:09PM (#44823509) Homepage Journal

    The "rock start" developers are absolutely necessary, because in a *real* project they contribute the majority of the *tough* code for a system -- the code that is "greek" to the rest of the team, but which works.

    I don't consider myself a "rock star"; rather I am dedicated and stubborn and hammer away at tough problems until I find a solution. But sometimes I fail to find a solution, especially with complex prioritization and queueing algorithms that have just too many special cases (one recent project in particular comes to mind.)

    But I have great respect for the "rock stars", and I think it's worthwhile to deal with their idiosyncracies. But I'm good enough at my job that I can *talk* to them, and I'm egotistical enough to get in full-bore arguments with them and *demand* their respect in return.

    Team efforts have never been for the faint of heart, chip-on-the-shoulder personalities. Your ego will be bruised and crushed if your teammates are worth working with, because *good* people have opinions, and will often disagree with you. Be prepared to defend your own opinions with vigour, and stop crying that people aren't being "nice" to you. The road to success in this industry is littered with the bodies of "nice" people.

    Kaplah!

  • ...but if you can get someone who's really good, and can also play nice with others, then I think it's well worth it. That's a pretty rare combo though.. Sometimes just because "others" sometimes won't play nice with people that are better than them because they're threatened..

    If you ever have a problem of difficulty 8, and you've got a programmer of skill 7, don't even bother trying.. You're just gonna get a mess..

  • Define "Rockstar" (Score:4, Insightful)

    by EMG at MU ( 1194965 ) on Wednesday September 11, 2013 @05:12PM (#44823547)
    In my experiences as a C++ developer our challenges are mainly architectural. None of us are C++ wizards, we all have many C++/STL books on our desks and are frequently scouring forums when we don't know something. C++ knowledge or the lack of it has never been a problem. Chances are that one of us knows how to do that whacky thing you want to do but can't remember how to do it. If we don't know, its really not that hard to experiment a little and figure it out. Worst case were posing on stack exchange or some other forum.

    Knowing how to develop a piece of software with an OO architecture in C++ is the skill that we find to be more important and harder to find in new devs. We have a few open recs right now and although we get many guys with years of C and C++ experience, few if any know anything about OO. Out of the current employees, less than half are 'good' at OO design.

    I have worked with guys who can crank out thousands of lines of real time, embedded code for industrial applications. Globals everywhere, no understanding of encapsulation or data hiding, nothing even resembling an interface. That sucked.

    Give me a good designer over a "rockstar" programmer any day.
    • by geekoid ( 135745 )

      Just so you know, every company have worked with that goes on about OO and no one 'really does' OO were places where people bowed to Booch and didn't do any real thinking about their architecture.

      I know OO, but I also no that with OO you can start to gather to much overhead; which can be important with certain kinds of work. Such as moving data byte by byte with a tiny footprint, where time is critical.
      When I say time i'm talking milliseconds.

      13 levels of indirection might be fine for a banking teller app,

  • No. Your question has too many variables and attempts to assign an absolute to it. If you don't need a 10 and only need up to a 7, then ask yourself if you'd fire the 7 who is an egotistical narcissist. Having said that, you may find that the 10 can look at your 7 problem and say "but if you do it this way, your 7 problem is now a 4 problem".
  • Define "Rock Star" (Score:5, Insightful)

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

    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.

  • by gander666 ( 723553 ) * on Wednesday September 11, 2013 @05:15PM (#44823593) Homepage
    As a product manager (yep, go ahead and rib me), I see the same thing. Companies are "looking" for rockstar talent, and they often find:
    1. What makes a rockstar at one place doesn't mean that stardom transfers. Unfortunately it will take 18 months or so to figure out that they may be brilliant, but intolerable to work with
    2. Rockstars are rare. You will probably overlook 10 or 20 very competent team players to find one, and you will likely be disappointed in the results of the one you do find
    3. Rockstars in general are miserable people to be around. Many people commented on this, but it really is true
    4. Rockstars are near impossible to manage. They believe they know more than anybody else in the room, and that they deserve to be god.(FWIW if you ever have to work with a graduate of MIT, you will experience this too, even if they are a wanker)

    In short, even if they are brilliant, if they are an asshole (and many are) they will be miserable to work with, you will lose team members who will not put up with their shit, and in the end, your projects will not get completed. Oh, and they hate to document their code, because they don't think anybody else but themselves could maintain it, and they often whitewash error handling (their code is perfect and elegant afterall).

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      Rock stars are the opposite of what you describe them. Rock stars demand people to write good code, they demand good programming style, they demand documentation. Other programmers are pissed at them because they don't want to do these tasks. That's where the conflict starts.

  • Start up willing to take the risk of 1 person building and controlling the code and possible the direction of the company? sure. I wouldn't but like I said weigh the risks.
    A high paid specialist? absolutely.
    A salary employee and an entrenched company to routing development ? absolutely not.

    My rule is:
    You can act like a prima donna, but you damn well better be a prima donna.

  • Since different companies make different products, they need different skills at varying levels.

    More importantly, a "rockstar developer", as commonly understood, has only a very limited skillset; boundless technical creativity.
    Sure, they may be awesome at thinking up solutions, designing algorithms and turning it into code.
    That does not mean they have the right character traits to create solid testcases, hunt for all the bugs, tie up all the loose ends, write documentation, understand end-user needs, etc. A

  • by a2wflc ( 705508 ) on Wednesday September 11, 2013 @05:24PM (#44823695)

    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.

  • There are three things that people really care about in an employee, quality work, meeting deadlines, and a pleasant attitude - and you only really need two out of those three. If you do good work and it's on time people will put up with how unpleasant you are, if your work is good and you're easy to get along with people will put up with missed deadlines, if you're on time and always a pleasure to be around people will put up with work that's not as good as everyone else. Ideally you want to shoot for thre
  • by Shados ( 741919 ) on Wednesday September 11, 2013 @05:26PM (#44823729)

    If you don't have anyone who has handled a 10, how do you know you're really dealing with a 7?

    I worked in consulting for a few years, and at some point i worked with a company where PMs felt they could do with only ever hiring college people and work on retaining them for 5-10 years+. So the majority of people in the department had never seen another company.

    They ended up with fairly complex project, but had no clue they were complex.

    A (much simpler but extreme example, this is a discussion forum, there were actual hard problems involved...) was when they had a database with products and prices, and to handle promotions, would add/substract the promotion from the ACTUAL PRICE. So if the base price changed between when a percentage promotion started and ended, the base price would be completely hosed.

    Now that's a big "Well, DUH!" moment, but imagine the same situation with deep architectural problems.

  • by euroq ( 1818100 ) on Wednesday September 11, 2013 @05:26PM (#44823731)

    I am considered a pretty good developer (the word "rockstar" is stupid to me - maybe I am, maybe I'm not). I came in at a startup almost 2 years ago, and to this day I am still fixing problems that the original developers left.

    If the code had been written correctly in the beginning, we would have saved millions in man-hour-dollars. Millions.

    No, you don't need them all the time, but when you are building a foundation, you need it done right.

    • Agree. I have a similar perspective. I was once hired to do the work of half a dozen people. I had to once explain to my boss's boss's boss that my negative productivity (as measured by "metrics") was because I was *undoing* the work of half a dozen people. The negative productivity programmer does exist, and can be lethal in quantity.
  • > 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 think "rockstar" is overused, but never mind.

    It's important, I think, to have a few rockstars around if your environment is even moderately complex. It takes someone with serious skills, experience and insight to foresee what would otherwise have been "unforeseen consequences". Odd interactions with other apps, race conditions, initial condition

  • "Engineers are now starting to get paid for their true value, which arguably has not been case for a long time, but it is now, and Google is at heart of this. Google discovered an algorithm change can generate another $100 million in revenue. So now companies are more willing to have superstars, and there are engineers at Goggle making tens of millions of dollars."

    http://www.eetimes.com/document.asp?doc_id=1319417 [eetimes.com]

  • You never know you ever needed a Rock Star developer
    until you find out what they can do for you.

    Frequently it boils down to cost. They find a way to do
    something with half the resources, or they find a way to double
    your throughput with the same resources.

    Either way, the bigger the company, the more it means.

  • they want people who can do the work of 3-5 people as in areas that may need 3-5 different people covering each area. They want 1 person to do that work OT with no added pay and be a super star in all areas.

  • Each school is different but some a overloaded with theroy also CS is not really the desktop / sever / networking side of stuff.

    Also 4 years pure classroom is to long / to big of a block.

  • so you can tell VCs you have a rockstar.

    guh.

  • I think pretty much any opinion on the primary question already been offered. However I would add that whether or not you feel that your needs are challenging and/or require great programmers, a great programmer may very well be worth every penny they cost you and more.
    Take a look at the daily wtf or other similar sites to see the huge cost a mediocre programmer can be to a company even in very simple applications. Even a minor change to a system can be done well or done poorly, and too many items done po

  • I work by myself on small projects assigned by the company which I am wholy responsible for. I have complete freedom of language, frameworks, data formats, etc... I get a job, give a time estimate and do it.

    It's cool having that amount of freedom but the lack of peers hurts my growth, I'm sure many times I've reinvented the wheel. Then after some thought I reinvent it again in a better way.

    How does one to about rating someone's programming abilities on a 1 to 10 scale in a somewhat objective way? Peer group

  • The value-add is that the rockstar developer does a task in like 1/10th the time of a normal developer. So the task is doable by others, but granted that first-mover advantage is frequently everything from the business perspective, managers loved that rockstars where I worked because they solved problems overnight where other developers would take weeks.

    Now, while the rockstars were doing that they were also crapping all over the codebase with broken interfaces, undocumented functionality, completely gibber

  • I'm not even going to pretend to know what the op means by rockstar except a really really really good developer.

    One of the interesting problems is should you hire people just good enough to do the job?

    On first glance, many people would answer yes.

    But this brings a structural problem. There are 'hard' problems that need to be solved. That might be a new architecture, optimization problem, integrating a new product...

    But all you have are people who are 'good' enough to do the basic problem.

    Whenever you run i

  • In my book a "Rock Star" is somebody who *thinks* he is good and has actually convinced some group of people that he IS good. It's all about appearance and has little to do with performance. Many of the "rock stars" I've met and worked with (Some of whom where REAL live Rock stars (Van Halen, Amy Grant)) where so full of themselves it was hard to take them seriously. I've worked with developers who where the same. Some are all about the showmanship, not about the art; all about taking credit but care less

  • I don't like the "rockstar" label, but excellent software developers are more than worth it, as Fred Brooks knew years ago...

    Study after study shows that the very best designers produce structures that are faster, smaller, simpler, clearer, and produced with less effort. The differences between the great and the average approach an order of magnitude.

    I don't have the book in front of me, but there is a reference at http://en.wikiquote.org/wiki/Fred_Brooks [wikiquote.org].

    That book is worth rereading every few years.

  • If you think that none of your problems require a solution that exceeds 6 or 7 on a 10 point difficulty scale, then you simply lack anyone able to see a 10-point solution.

    There are always solutions that are more elegant, more intuitive for end users, require less effort, etc. The fact that you can't see them doesn't mean you shouldn't hire someone who can.

  • Whether or not those rockstars are also assholes is irrelevant. Mediocre skills will get you mediocre results. You need visionaries, and people who think outside the range of 3-7. Their ideas often fall outside the range of acceptability, and as a result aren't always implemented, but thats where part of the arrogance you're talking about comes from. They may come up with 15 ideas to solve a problem -- none of which get implemented. If they didn't have any self confidence they'd be discouraged (much like yo

  • There's no room for rock stars in my tightly organized classical and jazz ensemble.

    I let go of 2 rock star developers in May. Their stars were so bright they did not seem to understand what they were actually being asked to do. I helped them on their way to finding challenges suitable for their skills and have been cleaning up after them ever since.

    I completely respect people who take the art of application development seriously and do want to attract that kind of talent. What rock star implies to me is som

    • I dunno if you can be a "rock star" without a business sense, I think you're more thinking of the bookies group. Those are typically a PITA to work with and are best avoided unless absolutely necessary. I was glad to see ours go.

  • Yes: Sheeple have no business designing architecture, if only for that reason.

  • If the company you work for is terminating people, you may want to think about leaving ;-)

    And if these 'rock stars' are so bad, why are the other companies offering them more money?

  • Rockstar developers are the one you use to build an A-Team to create an innovative piece of software from fairly abstract requirements.
    Once the proof of concept is done, you then move it to average developers for polishing and maintenance.

    That's how R&D works in most companies.

  • two issues (Score:4, Insightful)

    by Tom ( 822 ) on Wednesday September 11, 2013 @06:51PM (#44824683) Homepage Journal

    Do you think so called 'rock star' developers are necessary at every company? [...]
    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?

    Those are two entirely different problems you mix there. No surprise you are confused.

    "rock star" is mostly an attitude, not a skill level. Some of the very best are not famous, and many of the famous aren't all that good. That is true in all areas, not just music or coding.

    So on that question: A "rock star" developer is necessary if and only if he adds value for the company. If you are selling your technology, say you are id software and your main business is selling your game engine to other developers, then a rock star can help you a lot to sell more licenses. Otherwise, no you probably don't need him.

    But on the other question: Absolutely yes. Unless your company is tiny, you really, really want at least one brilliant guy on the team. You think in a simple, linear way. The real world rarely works like that. You may be perfectly able to solve that standard problem, but your 10 coder may be able to solve it faster, better, or in a more generic way that can be applied to other problems. Or he may be the one to ask the right questions to make everyone understand that you've been solving the wrong problem all along. If nothing else, he provides a benchmark and an aspiration for everyone else.

    If you've never worked with a real pro before, you should. The difference between someone competent and someone brilliant is staggering, and it goes way beyond the difficulty levels of problems he can solve.

  • by Karmashock ( 2415832 ) on Thursday September 12, 2013 @06:36AM (#44828057)

    If your company doesn't innovate or do anything game changing... If they don't even do anything especially well but their job is to do something very consistently, then they might not need the rock stars.

    I'm not being insulting here. There are companies like that. A good example might be a power utility. They typically aren't doing anything innovative. They buy power plants from companies that make them... possibly they install and maintain them entirely themselves. But they don't have to do anything innovative. Just follow the instructions and do the regular maintenance. That sort of business can survive pretty much indefinitely so long as they provide a high quality of service through rigorous reliability.

    The rockstars are selling their ability to come up with things others won't. To come up with great ideas and then implement them in new ways.

    Lets say you don't have that. Well, do you have something else? It might not be worth as much but it is probably very important in other situations. In the above example, I talked about reliability.

    Another thing that is important sometimes is a near autistic attention to detail. Some jobs require EXCEPTIONALLY anal attention to detail. You'll find this in many scientific, financial, engineering, and of course computing fields. Situations where the details are everything and there are a LOT of details.

    So long story short, I don't think rockstar developers are always required. That said, it is nice to have at least one around or one you hire on contract. The reason is that some times you need to change the way you do things and the rockstars are going to be better at that then the people that mastered the old way.

    In any case, best of luck to you. As much as the various trolls here will beat you up for your question, the reality is that pretty much none of them could qualify for the rockstar position themselves. That's the case for most of us. I'm not a rockstar either.

    I'm good at what I do. But I win more through being extremely cautious, very patient, and pathologically non-conventional. When I do things differently, it isn't because I'm innovating or trail blazing. I do things differently because I deal with security a lot. And the systems that get hacked are the systems that the hacker understands.

    My systems are inscrutable to anyone that hasn't been briefed BY ME on them. Which means my systems have never successfully been hacked. Ever.

    Now is that because my systems are unhackable? Or because I'm so amazing? None of the above. I'm worse at a lot of this stuff then other guys that have been hacked over and over again.

    No. My systems are unhacked because the hackers literally don't understand them well enough to hack them. They're weird. They're weird on purpose. I do things in a odd way and don't publish how they work. My systems are obscure and strange. I do get lots of people TRYING to hack my systems. I can see the logs and you can tell the difference. But their automated attacks either fail or their manual attacks are given up on. Why put in the effort to hack some weird system when there are a dozen others that you can break into right now? And so they leave me alone and hack someone else.

    I take my ques on defense from nature. Nearly all creatures make use of disguise, misdirection, or obfuscation to hide themselves. That is what I rely upon.

    That isn't genius or a sign of my rockstar nature... because I'm not one. It is a product of my inherent paranoia and methodical approach to security.

    I like to think I'm not smarter then other people... I'm wiser then them. Who can say.

    If you're not a rock star, find something else you're good at doing that they cannot or will not do... and do that instead.

    Remember what old darwin said. Survival of the fittest doesn't go to the strongest or the fastest or even the smartest. It goes to the most adaptable. The lowly cockroach in the scheme of things is a better specimen then the mighty lion.

    I don't need to walk around with ins

One man's constant is another man's variable. -- A.J. Perlis

Working...