Slashdot Mirror


How Do You Find Programming Superstars?

Joe Ganley writes "You are a programming superstar, and you are looking for work. I recognize this happens relatively rarely, which is part of my problem. But stipulating that it happens, how do I, as a company looking to hire such people, connect with them? Put another way, how do you the programming superstar go about looking for a company that seems like one you'd like to work for? The company I work for is a great place to work; we only hire really great people, we work on hard, interesting problems, and we treat our employees well. We aren't worried about retention or even about how to entice people to work here once we've found them. The problem is simply finding them. The signal-to-noise ratio of the big places like Monster and Dice is terrible. We've had much better luck with (for example) the Joel on Software job boards, but that still doesn't generate enough volume." What methods have other people used to find the truly elite?

612 of 763 comments (clear)

  1. Uh by iONiUM · · Score: 5, Funny

    I'm right here.

    1. Re:Uh by MLopat · · Score: 1

      So true. You are truly amazing.

    2. Re:Uh by temugen · · Score: 2, Insightful

      I agree. I know first hand that there are many programming superstars out there, but the majority of them aren't looking for jobs. You may very well know some of them from various projects you see online - whether they be mere mentions in a blog or full sites devoted to their projects. If you really want to hire a programming superstar, find one of such projects and contact the creator. If you do not know what type of project I am referencing, you shouldn't be hiring a programming superstar. These projects include such new developments as touch interfaces, infra red tracking, and any open source application that you've used that's made you say "wow."

    3. Re:Uh by Abedneg0 · · Score: 1

      http://www.topcoder.com/tc They are pretty good at finding superstars and matching them to employers.

    4. Re:Uh by Jarik_Tentsu · · Score: 1

      Just open notepad and say:

      "Dear God. Please help me program a project."

      and whatever uber-hacker is currently looking at an identical window to yours will soon reply.

      ~Jarik

  2. Simple answer... by Dusty00 · · Score: 5, Funny

    Be Google.

    1. Re:Simple answer... by flannelboy · · Score: 5, Interesting

      I have to say that I've had some people hired away from me to go to Google, and they have been hiring the people who can quote chapter and verse of some coding standards doc. But they haven't been my superstars. They have been "A" players. But not "superstars". I'll qualify that in one second.

      The superstar is more than just somewhat hard to come by.

      First, they are only going to be 1 out of every 100 programmers you work with. And that is only if you are lucky, and if you are good at hiring. If you hit job boards, you aren't good at hiring. (with apologies to the job board advertisement that is almost definitely above this post :)

      Second, they can almost never identify themselves. Lots of people THINK they are the superstar. But then they get very little actually accomplished. These are the people I've lost to Google. But the superstar does much more than just know the tech details. They actually get stuff done. And their code really really works. And it is highly reusable. And they change others around them. The always make sure the best tools are in place, and they get others to use those tools, not just themselves. In this sense, they are also quite good leaders, although most do not want to manage large teams (and you'd be wise not to have them do so).

      I've probably worked with 1000-2000 programmers in my lifetime, and I think I would give only about 10 of them the "superstar" status.

      The superstars produce 2x to 10x what a very good programmers can produce in the same amount of time.

      As far as finding and hiring them, the biggest problem is that they are very rarely on the market. So job boards are a bad place to start.

      Just about all (maybe even 100%, actually) of the superprogrammers I've hired have come from friend referrals.

      Go to your current employees, and give them very big checks if they can attract other programmers to your firm. Make sure this is worth their while (ie: $10,000 or more for bringing in someone). This will almost always be your best bet to find these guys.

    2. Re:Simple answer... by AKAImBatman · · Score: 1

      FWIW, I'm having the same problem you are. The Chicago-based company I work at right now has done a bang-up job of separating the wheat from the chaff. The people who work here are extremely smart, and our interviewees always have positive things to say about us to their recruiters.

      Unfortunately, I don't think we have any magical formula for finding the right programmers. As Joel says in his articles, all the best developers are already working. All you can do is wait patiently and try to lure them in when they decide to switch jobs.

      Speaking of which, if you are a kick-ass programmer in the Chicago area, we have plenty of openings! My email address is right above. ;-)

    3. Re:Simple answer... by inKubus · · Score: 3, Insightful

      "Superstars" (which is the fluffiest word I've heard in a long time) are attracted to two things you didn't mention:

      Number one, extremely dedicated and intelligent people are looking for more than money. They want to change the world. They are driven. If they are after money, they want to be a part of the project, financially. That means stock. That means board positions. That means respect.

      Number two, they want to know that you are a good person to work for. What is the company's goal, mission, vision, idea, et al? What career prospects are there? What can a "superstar" programmer expect to be doing in 10 years at your company? Hopefully not still programming.

      You are referring to things that aren't necessarily associated with programmers, but with CEOs, CIOs, etc. Attention to detail, actually caring, etc. Well, ask yourself, why should anyone care about your company? Also, and lastly, these skills (pride in one's work, strong desire to learn and teach others, etc.) seem to be the type of skills taught in church (or synagouge)......

      --
      Cool! Amazing Toys.
    4. Re:Simple answer... by naoursla · · Score: 3, Insightful

      I like this answer. Maybe you cannot find superstar employees because you are not a superstar employer. Self-identification is prone to error.

    5. Re:Simple answer... by AuMatar · · Score: 4, Insightful

      Board position? Hopefully not programming?

      Every superstar I've ever known would run at either of those two thoughts. Cash is nice, but superstars are superstars in part because they love programming. So yes, they do want to be programming in 10 years. They may want to be lead programmer and be paid more, but that's about it.

      As for the religion part of your comment- well, it shows your bias, but its absolutely not true.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    6. Re:Simple answer... by lgw · · Score: 4, Insightful

      Second, they can almost never identify themselves. Lots of people THINK they are the superstar. But then they get very little actually accomplished. These are the people I've lost to Google. But the superstar does much more than just know the tech details. They actually get stuff done. And their code really really works. And it is highly reusable. And they change others around them. That's it in a nutshell. You can't distinguish the top 1% from the merely arrogant in an interview, but if you do your interview wrong, or your working environment is clearly borked, then the top 1% will defintiely self-select away from your company. Ask hard programming questions, but not language trivia questions or mathematical parlour tricks. Don't force programmers to use tools that they consider inferior. A superstar programmer who's been around a while will ask about the build environment, version control system, and bug tracking system that you use, as the answers to these questions are great warning signs of a broken shop (and managers haven't been trained to lie about these questions the way they lie about typical work hours, project planning, and what your responsibilities will be once hired).

      If anyone knows how to locate superstar programmers in the first place I'd love to hear it. Once I have one on the phone I have a fighting chance to hire him, but you certainly can't spot them from their resumes.
      --
      Socialism: a lie told by totalitarians and believed by fools.
    7. Re:Simple answer... by mkiwi · · Score: 3, Insightful
      Summary mentions: What methods have other people used to find the truly elite?
      Along with what you said:

      Job sites are a bad place to go. I looked at the discussion forums on Dice.com one time and from all the complaining I knew I wasn't going to find anything good there.

      Referrals are really the way to go. There are so many people in this world who can, given a normal task, write a program for it. However, there are very few people who can actually think up a new project from start to completion, lead everyone through the project, and help push it through management. It takes a lot of confidence and ability to do that.

      Something I've noticed is that the best programmers tend not to think of programming as just a big math problem that they need to solve- they consider what they do to be an art. Having meaningful assignments is crucial to attracting and keeping new people. The best programmers want to be a part of something bigger than themselves and are great enablers for your other employees. Their good character rubs off on everyone else and creates a really positive working environment. Make sure you look for people who are fairly optimistic and upbeat.

      Offering money will only get you so far. You have to offer good projects to expect people to want to work for you. If you can make a fulfilling work environment for the best you are halfway there. The great programmers can go anywhere, and it should be considered a privilege if they decide to stay with you. Let them know they are appreciated in this way.

    8. Re:Simple answer... by EnglishSteve · · Score: 1

      What can a "superstar" programmer expect to be doing in 10 years at your company? Hopefully not still programming. In my experience, that's exactly what the really, really good programmers want to be doing - to people that good at what they do, management and responsibility are something of an anathema - they'd rather leave that to the empty suits with MBAs.

      FWIW, I'm no superstar, I just want to do my 8 hours, do a good job and go home - the really interesting stuff for me happens outside the workplace.

    9. Re:Simple answer... by mikael · · Score: 4, Insightful

      From the people that I have met (who have architected international specifications and written books on their area knowledge), the superstars are the laid-back and chilled out programmers, while the arrogant programmers are the wannabes - if they really knew as much as they thought they did, they wouldn't be so insecure.

      The original poster of this disussion hasn't specified what the nature of the work is - is it user-interface - is his company designing the next killer application. Then they would need someone who knows how to design and implement really polished application UI's.

      Are they looking for someone to implement highly computational intensive core libraries - then maybe a programmer with Matlab experience or someone with a mathematics background would be more suitable.

      Or are they looking for someone to write general purpose libraries that can be reused - then someone with good object-oriented design experience would be best.

      If they are just looking for a programmer to implement specifications, then looking a someone who has done similar ework in a final year project or thesis would be a good place to look.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    10. Re:Simple answer... by networkBoy · · Score: 1

      I have to agree with you on this one.

      I *can* manage, but I won't. I turned down a promotion on the grounds that it set me up for direct reports. IANASSprogrammer (I'll write code to get a job done, but can't vouch that it's production worthy). I am a decent validation/engineering guy.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    11. Re:Simple answer... by dwater · · Score: 3, Interesting

      > I have to say that I've had some people hired away from me to go to Google, and they have been hiring the people who can quote chapter and verse of some coding standards doc.

      I've noticed this too in my own interviews with them (no they didn't hire me). Their interviews seem to largely test for people who can a) remember stuff, and b) think on their feet in high pressure situations (like interviews). They seem to completely ignore previous experience, references, and other stuff. Being able to perform well in an interview is often not a good reflection of a person's potential.

      On more than one occasion, I told the interviewer/screener that I didn't know the answer to a question and they proceeded to ask if it were "a" or "b" where it was so obvious that only one of them could be correct (ie "a" = !"b"). Them telling me the answer to their question is disingenuous and I had already said I didn't know so they should take that as my answer - I felt like they were asking me to cheat.

      In many cases, the answer to a question could be found out in a couple of seconds by looking it up in the manual - or a web search (knowing how to find answers is still a skill). Those of us not still in our 20s have learned to select what we remember and forget what we can easily find out again when necessary. One of the principle things we remember is what problems various technologies can be used to solve, and so we can build systems using different technologies in order to solve bigger problems. We learn how to learn new things. We build intuition not a database.

      Selecting only specialists with good memories and high confidence under pressure is fair enough, if those are the sort of people you want (ie they remember all the nitty gritty details of all the technologies they've worked on), but I wonder what it would be like in a company full of such people. I've heard some stories about Google, for example, that make me think that they could do with people who actually just 'get on with it' - ie not everyone has to be 'a superstar'.

      Why do companies want people like this? Are these people 'superprogrammers'? Do they actually get work done in real life?

      What about people who have demonstrated that they can solve problems by selecting from, learning, and using various technologies that are available? People who are engineers rather than programmers.

      Also, do companies only want specialists these days? Is there no place for a generalist? It seems to me that generalists are quite valuable for startups and small companies, but large companies want teams of specialists, with each a specialist in a particular area. I the larger companies, I guess a generalist might be a reasonable manager or system designer, with the specialists doing the bits of the system they are specialist in...or something.

      --
      Max.
    12. Re:Simple answer... by HeelToe · · Score: 2

      To reiterate what others have said, they almost always come on a personal recommendation. Someone good to great themselves seeing an opportunity to hook up two parties that each has the pieces of the employer-employee relationship the other wants.

    13. Re:Simple answer... by mad.frog · · Score: 2, Insightful

      The superstars produce 2x to 10x what a very good programmers can produce in the same amount of time.

      Actually, I'd say it's more like "the superstars produce what the very good programmers can't produce, ever".

      It's not just about productivity, but insight.

    14. Re:Simple answer... by papna · · Score: 1

      He didn't say that he meant ten times as many lines of code. Great solutions to problems are often those that are the most quick, elegant, and simple. It is fair to say that someone who can pump those sorts of solutions out regularly is producing many times what others are.

    15. Re:Simple answer... by mad.frog · · Score: 2, Insightful

      What career prospects are there? What can a "superstar" programmer expect to be doing in 10 years at your company? Hopefully not still programming.

      If this is what you think, then you have never, ever met an actual "superstar programmer". Superstars live to code. Most would suck at management, and hate it too.

    16. Re:Simple answer... by Pulse_Instance · · Score: 1

      I'm going to go ahead and assume that he meant it would take 10 hours for someone to get piece x to production and the superstar would do the same in 1 to 5 hours.

      Production in this case meaning ready for general consumption i.e. not having bugs of its own, not creating bugs in other pieces and handling bugs from other pieces nicely.

      That is what all of the "superstars" in my company can do. I'm fairly certain most reasonable definitions of superstar have very little do to with actual amount of code written and more to do with quality of code and what I like to call the WTF factor (where people say, "WTF, I worked on that for hours and couldn't get it working" or "WTF, you can do that").

    17. Re:Simple answer... by Swampash · · Score: 1

      In my experience you can always spot the superstar, because he's the only person in the team flatly denying that he's a superstar.

    18. Re:Simple answer... by korbin_dallas · · Score: 3, Interesting

      "A superstar programmer who's been around a while will ask about the build environment, version control system, and bug tracking system that you use, as the answers to these questions are great warning signs of a broken shop (and managers haven't been trained to lie about these questions the way they lie about typical work hours, project planning, and what your responsibilities will be once hired)."

      Amen brother, preach it. If a shop is using PVCS RUN dont walk to the exit, do not wait to get your parking ticket validated.

      PVCS is what we use and we call it a BDPOS. Broke Dick Piece of Shit.

      And the IT dept. Do they support the programming staff, of merely say NO to everything. Our IT is worse than useless, they are IN THE WAY of progress.

      Sorry had to vent, today I was told by IT they didn't have memory for the computer they gave me. Repeat, did not have memory for the computer hardware they give to every employee. No spare parts? WTF kind of IT dept is that? I meant to say no parts for the computer they LEASE the software dept. IT thinks they are a cost center, making money for the company. Oh I wish the original owner was still here, he would have fired all them dam useless SOBs in a microsecond. Getting in the way of a BILLION dollar contract, get the F*&^ out of my company. Right now!

      As you can tell no superstars work for us...

      --
      They Live, We Sleep
    19. Re:Simple answer... by complete+loony · · Score: 1

      I speak programming, I don't speak HR very well. I doubt you'd spot me as a good programmer from any resume I'd write (which I haven't for a long time). You might be able to find me based on how I have helped people on public news groups.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    20. Re:Simple answer... by kellewic · · Score: 1

      From the book "Beautiful Code":

      "I once heard a master programmer praised with the phrase, "He adds function by deleting code." Antoine de Saint-Exupéry, the French writer and aviator, expressed this sentiment more generally when he said, "A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away." In software, the most beautiful code, the most beautiful functions, and the most beautiful programs are sometimes not there at all."

    21. Re:Simple answer... by adrianmonk · · Score: 1

      A superstar programmer who's been around a while will ask about the build environment, version control system, and bug tracking system that you use,

      A couple more you could ask about: (1) the release process, and (2) if the company uses its own software, the configuration management process.

    22. Re:Simple answer... by Metasquares · · Score: 1

      True story: I went through the Google interview process for months, answering every question they threw at me correctly, but failed in one of the last round interviews because I couldn't recite the CYK algorithm from memory. It really hurt my view of the company and its hiring process - I don't think what they're looking for is actual programming ability.

    23. Re:Simple answer... by TekPolitik · · Score: 3, Insightful

      the superstars are the laid-back and chilled out programmers, while the arrogant programmers are the wannabes - if they really knew as much as they thought they did, they wouldn't be so insecure.

      True to an extent. An arrogant programmer may well become a superstar some day, but to get all the way they need to lose the arrogance. A superstar is going to be somebody who has learnt enough to know that he doesn't know everything and that new ideas of merit can come from surprising sources. If they don't, they stop learning. A superstar doesn't have to go around putting down people as incompetent - a proto-superstar might still be doing so, but must outgrow it before they become a real superstar.

    24. Re:Simple answer... by mpaque · · Score: 1
      What career prospects are there? What can a "superstar" programmer expect to be doing in 10 years at your company?

      Maintenance programming for all the stuff he/she wrote in the first 5-6 years, because, after all, who understands it better than the original author?

      Most companies, for better or worse, tend to put programmers on the same lifecycle as the products/projects the programmers are hired to work on. The star programmers are hired in to design a better widget, and once they are all fired up on the design, they lead on the implementation. Some of the really cool stuff doesn't make it into the 1.0 version, so, since they understand both the 1.0 version and the concepts of the really cool stuff, they stick around to do the really cool stuff for version 2.0. Marketing and some other dependent projects need some additional changes beyond the 2.0 version, and of course nobody understands this better than the original programmers, so they are given incentives to stick around and do the 3.0 version.

      This is called the programmer life-cycle. The programmer life-cycle is comprised of phases that directly affect and predict productivity, rather than the activities of the product life-cycle.

      http://portal.acm.org/citation.cfm?doid=986710.986720

      The sequence of phases is: euphoric, productive, irreplaceable, resentful, bored, and unproductive. Overall productivity is characterized by an initial six month period of intense interest, at which time productivity rates are often an order of magnitude higher than the oft-quoted 500 LOC/month average. After a short period of volatility, the programmer then enters a prolonged phase of steadily dwindling interest, resulting in productivity rates that mimic the average.


      The sequence of phases can be successfully reset by departing from the current employer, to embark on a new project, career, or lifestyle.

    25. Re:Simple answer... by ShakaUVM · · Score: 1

      I was lucky enough to have a superstar as my mentor when I started working during my freshman year of college. He wrote some code on his lunch breaks that ended up becoming a software product that earned about a quarter of all the company's income. He could do stuff in an afternoon that would take me all week to write. The only edge I had was in math, so that whenever something needed a mathematical solution, I could solve it, when he would just approximate it, but that was about it. The best part is, he was an awesome guy, and taught me a lot. I still play racquetball with him.

      It kind of rubbed off on me after a while, and definitely led to me being able to write code faster, and more cleanly. Eventually, when I got around to writing CustomTF (which has been one of the largest mods for Quake for a while now), it basically was just two days of solid effort, and the thing ran more or less perfectly right out the gate.

      I haven't been writing code much recently, as I've move on to more business-running stuff, but he's still in the thick of things 13 years later... I think his previous project was writing Cars for the Wii. I dunno what he's doing now though.

    26. Re:Simple answer... by kramulous · · Score: 1

      Such is the way of the force.

      --
      .
    27. Re:Simple answer... by kramulous · · Score: 1

      What? Did you need more than 640K?

      --
      .
    28. Re:Simple answer... by Jynx77 · · Score: 1

      In case you forgot to read the question, he wants *programming* superstars, not MBA wannabes. Board positions? Not programming in 10 years? Are you kidding? You have no clue what a programming superstar is.

      --
      It's turtles all the way down!
    29. Re:Simple answer... by mscheid · · Score: 1

      "Hopefully not still programming."

      As someone already has said: It's a common misconception, but wrong. Very wrong.
      It's a common problem in traditional company structures: In order to advance your career you have to be promoted to management level (and hence stop programming).
      Make it possible for programmers to have a real career while still programming, and you're a good step closer to getting the 'superstars'.

    30. Re:Simple answer... by apt142 · · Score: 1

      I'd have to agree with you.

      If a person loves programming and has the skills and devotion to become a "superstar" at it (could someone define superstar distinctly). Then I would think they would want to continue doing it. I think that promoting them away from that would be both bad for the company and bad for the superstar.

      Most programmers that like their work would much rather gather more respect and more income than a higher rung on the corporate ladder. I can't imagine this would be different for superstars. I think that companies would be much better off giving them a voice and listening to them than promoting them.

    31. Re:Simple answer... by madboson · · Score: 1

      Are they looking for someone to implement highly computational intensive core libraries - then maybe a programmer with Matlab experience or someone with a mathematics background would be more suitable. Matlab experience is not going to give some one the ability to program in a computationally optimized way (which is the whole point of computational intensive libraries), in fact Matlab has a tendency to make people lazy because it takes care of too much for you. If you want computational programmers then you will definitely want some one with mathematics or physics (I will lump in the quantum chemists and molecular biologists in there too) in their background. These kind of guys are typically the ones who started off in their respective fields first and were found to be at least competent in programming.
      --
      Mo00o
    32. Re:Simple answer... by JamesP · · Score: 1

      Amen brother!!!

      But I would also add:

      s/PVCS/Clearcase

      And YOU BET I would do that, exactly as you say.

      --
      how long until /. fixes commenting on Chrome?
    33. Re:Simple answer... by pushf+popf · · Score: 1

      If this is what you think, then you have never, ever met an actual "superstar programmer". Superstars live to code. Most would suck at management, and hate it too.

      Eventually, "Live to code" wears off, and they discover that it's really nice to have a wife who loves them, maybe a dog or two and possible a kid or two, and that spending time SCUBA diving on small islands with warm sandy beaches beats the crap out of banging on a keyboard or discovering the perfect algorithm.

      Then you'll wish you had a whole raft of "really good" programmers that are actually replaceable, so when Mr. Superstar decides that having a life is more enjoyable than coding, you're not out of business.

    34. Re:Simple answer... by karbyn-aceous · · Score: 1

      > As you can tell no superstars work for us... f'ing LMAO

    35. Re:Simple answer... by bikin · · Score: 1

      Have we worked together in my previous company?
      In my previous company the development group had to configure an library in a server that was used for development (not production); since it was a new library we didn't know exactly what we needed, and since it used the lower ports (below 1024) we required root. However, development was NOT ALLOWED to have root access to any server, no matter if it was used only by development, so we had to give every configuration change (even if it was one line) to an administrator (who was completely overworked) who made the change 2 hours later.

      Superstars didn't stay long there either (not that I am one of them)

    36. Re:Simple answer... by DavidHumus · · Score: 1

      The question is hoplessly vague.

      It's like asking "How can I hire a superstar athlete?" without caring about the sport.

      A better question in this case might be "How can I hire a clue about what's really important for doing this job?"

    37. Re:Simple answer... by drew_eckhardt · · Score: 1

      >Number two, they want to know that you are a good person to work for. What is the company's goal, mission, vision, idea, et al? What career prospects are there? What can a "superstar" programmer expect to be doing in 10 years at your company?

      I think the goal is pretty much to be "retired" and working for fun as a hands-on CTO/chief software technology officer/technical founder in a different company (with some of their best co-workers) with some reasonable balance of business, technical leadership, research, and hands-on development not necessarily in that order.

      Some people have a passion and aptitude for painting or writing music; others do software and people don't get to be exceptional without the passion to get you there.

    38. Re:Simple answer... by dwater · · Score: 1

      I've heard some stories about Google, for example, that make me think that they could do with people who actually just 'get on with it' - ie not everyone has to be 'a superstar'.

      Perhaps it falls down to the interviewers.

      I think it does, yes. That's a good point. Some of the interviewers I've had do focus on method more than memory, so to speak, and that's got to be a good thing, and also some have a knack for making an interviewee more comfortable which, for me, is done by being more interactive.

      One interviewer I had was particularly quiet, and, after a while of attempting to solve some problem he'd given me, I asked if this was the sort of thing he was after, he said, "Some people don't like it when you ask that. Some people *really* don't like it." It seemed to me like he thought I was trying to cheat or something. It seemed he forgot that an interview isn't purely about the company assessing the candidate, but also the candidate assessing the company - ie it didn't give me a good impression of the sort of people who work there.

      On the other hand, I had another who was very good and encouraged me to explain what I was thinking/doing when I was coming up with some algorithm or other - he was the one at the end of the process too.

      I'm not just talking about Google either. I mean the attraction with Google (for me) isn't the pay or the people, or even the environment (though that's not at all bad, it seems); no, for me, it's the interesting projects. The people would vary depending on the projects you work on - same is true of anywhere. These same interview problems are true of other companies too, even those that don't really have anything much to offer.

      I applied for Google a few months ago, had a few intensive interviews, and nothing they asked for required any memorization beyond things that I would call "general CS knowhow".

      I guess that's true to some extent, but even *that* hugely biases those with Computer *Science* training, and *recent* computer science training too. Note that most of their positions are advertised as *engineering* positions and that's different to being a scientist. On a telephone interview, they were keen on me knowing algorithms such as this big-oh stuff. All well and good, and I had done my research so predicted they'd be asking me about that. I had no formal training in that (they didn't teach me that at school), but I read up on it, listened/watched some of the Berkeley classes they have online (very interesting/useful) and was able to answer all the interview questions correctly. However, I felt obliged to point out to him that I had only memorised the facts over the past week, and had no formal training - to not do so would be like lieing to him (IMO).

      Didn't get any offers though, can't say I'm not bitter about it but really I'm pretty impressed by their recruitment process, demanding as it may be. The only place where I think I tripped up was where my brain wasn't working that morning and was half asleep, and memorizing every single manual on Earth wouldn't have helped me.

      Yes, that was a problem for me too. My telephone interviews were either early in the morning, or late at night (time zone problems), and I had some jet lag for the ones I had on site (it's actually surprisingly tough doing 4 or 5 interviews in a row).

      I didn't have any brain freeze problem, but if I don't know something I'll admit it - I have no problem in having a go, but if it's outside my area of expertise, I don't see much point in trying something when I don't have access to the resources I would in a real situation. For example, I had to do some MySQL tasks at work recently. I've not done any MySQL so I went online and learned about it, and learned by asking (and answering) questions on the MySQL newbee forum. What value would there be in asking me to figure out a MySQL problem during an interview? No one has asked me that, but it's the same sort of thing.

      Pickin

      --
      Max.
    39. Re:Simple answer... by bjourne · · Score: 1

      ClearCase isn't nearly as bad as you or anyone else makes it out to be. A SuperStar programmer would rather see CC as an interesting opportunity to work with a VCS that takes a totally different approach than all other systems out there. Sure I prefer git too, doesn't everyone? But I'd rather work with nice friendly coworkers and CC than with git and arrogant morons who thinks VCS is the most important part of the job.

  3. One opinion by fyngyrz · · Score: 5, Insightful

    The first thing to do is remove arbitrary barriers. IE, "must" have X years of experience, X degree, held X previous positions, must move to our area. That's the sum of major mistakes most operations make. The best programmers in the world don't typically get that way by being just another college / job drone (though some do... just don't slam the door based on mundane requirements - you want the problem solved, not a title you can be proud of.)

    Secondly, market the job — make sure people can find out about it. That's perhaps obvious, but I know a lot of companies that try to stick to the back alleys of old boy's clubs, and it's no wonder they can't find anyone. Put an ad, a BIG one, somewhere programmers go a lot. Like slashdot. :-)

    Third, salary, salary, salary, and benefits (particularly insurance and family coverage). Move 'em if you have to. We've even bought houses outright for our programming team members. You can't expect to hire a superstar by treating them like a drone.

    The problem is almost always that really good programmers don't have to go looking, and if they do, they can - and will - turn their noses up at being treated like a commodity. Yet that's just what most companies do. Plus they throw up arbitrary and unrelated barriers to entry. Unfathomable, really.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:One opinion by Intron · · Score: 4, Interesting

      True. One of the smarter people that I know never finished his degree. He got bored and left school to start a successful company. However, its unlikely that his resume would ever go through an HR dept filter. The CTO or Principle Engineer would call him personally and make an offer.

      --
      Intron: the portion of DNA which expresses nothing useful.
    2. Re:One opinion by penix1 · · Score: 4, Insightful

      Overall a good post...I would add one more thing though...

      Attitude, attitude, attitude!

      I won't take a job where the person interviewing treats me as if they are doing me a favor in offering the job. They are after me, not the other way around. Even if I need the job, I'll never portray it like that. It is they who need me even then. Call it arrogance if you will but I'm not into indentured servitude.

      --
      This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
    3. Re:One opinion by jadedoto · · Score: 1

      Bill Gates, you say?

    4. Re:One opinion by onkelonkel · · Score: 1

      If you have a number of Principle Engineers, is the one in charge the principal Principle Engineer?

      sorry

      --
      None of them can see the clouds; The polished wings don't care.
    5. Re:One opinion by sigmabody · · Score: 1

      Marketing is important; I found my current job through Monster randomly, it just happened to be there when I found myself out of work. I'd say that's the exception to the rule, though... most of my current company's engineering hires have been through personal references, contacts, and recruiting through contacts. Sorta like the LinkedIn thing.

      As far as hiring people you find, it's all about benefits, environment, and matching what you have to offer with what the engineers want. Salary is not necessarily the most important consideration for people who are really good at what they do, although a high salary never hurts. Always remember that "free" (for you the company) benefits can go a long way too; eg: a company policy not to spy on their engineers, private offices, the right work environment, flexible hours / location, input on development methodologies, free drinks, etc.

    6. Re:One opinion by xoundmind · · Score: 1

      I won't take a job where the person interviewing treats me as if they are doing me a favor in offering the job.

      I'm had at least a half-dozen interviews in the last 20 years where I am expected to declare exactly why I want the job....My usual thought is, "Well, I won't know if I want it until I have a few weeks to reflect upon the idea."....Not that I actually say that.

      One needs to have a strong enough sense of self to remember: I'm interviewing them and not the other way around.

    7. Re:One opinion by Intron · · Score: 3, Funny

      No. He's just the one who has principles.

      --
      Intron: the portion of DNA which expresses nothing useful.
    8. Re:One opinion by PhrostyMcByte · · Score: 4, Insightful

      I'll add one more: no stupid Microsoft-ish riddles.

      Although I have heard one or two that were programming problems in disguise, I would argue that even in those cases your riddles are worthless to determine their skill, and anyone would be well within his sanity to respond "well, I'd look it up online. Why waste time figuring it out when the answer is done for me?".

      A great programmer will love to talk shop. Have one of your existing coders talk to him.

    9. Re:One opinion by tknd · · Score: 4, Insightful

      I don't necessarily agree with all of the points made because I've seen research show otherwise and have experienced otherwise myself.

      The first thing to do is remove arbitrary barriers. IE, "must" have X years of experience, X degree, held X previous positions, must move to our area.

      This part I agree with. Many hiring agencies shoot themselves in the foot asking for very specific requirements (must have 5 or so years experience with C++, must know domain specific but stupid tech with buzzword acronym, etc). The problem is you're always going to train an employee and there will always be some sort of lag time to start up. You're rarely going to get an employee who will be spitting out production quality work on day 1. If that was possible we'd all be contractors. What organizations should be after are highly qualified technical learners and a good foundation in software engineering practices.

      Secondly, market the job -- make sure people can find out about it. That's perhaps obvious, but I know a lot of companies that try to stick to the back alleys of old boy's clubs, and it's no wonder they can't find anyone. Put an ad, a BIG one, somewhere programmers go a lot. Like slashdot. :-)

      This in practice sort of works but not as well as you'd expect. If you post the job, the only people interested will be people actively seeking a job. Everyone else will just gloss over it because it is more of a waste of time than anything else. It's like commercials.

      Third, salary, salary, salary, and benefits (particularly insurance and family coverage). Move 'em if you have to. We've even bought houses outright for our programming team members. You can't expect to hire a superstar by treating them like a drone.

      There's a limit to how much you can bribe someone. Furthermore, just because you bribed them does not necessarily mean they will perform. You ideally want a match: you like them, they like you, for reasons other than money. For example what if you got paid to hack together open source linux code at home and you just happened to be a kernel dev? What if you got paid to work on your fancy game idea without any restrictions? Most people would rather do the job they enjoy for decent pay rather than get paid a boat load of money to do something they could care less about or worse hate to work with.

      The easiest, cheapest, and most reliable way for a company to find quality employees is by word of mouth and employee referrals. This makes sense. If you were to start your own company from scratch, what would you rather do? Dig into the back of your mind across every trust-worthy and awesome programmer you worked with or interacted with and convince them to join you, or go through a lengthy hiring process about people you know jack about? I would rather do the former because I have personal work experience with the people I know that I don't even have to ask for a resume or guess if they're lying or not. I also probably have some sense of their personality and quality of work. In fact, I can easily make a decision in the back of my mind without even contacting them. The only barrier is if they would be willing to accept the offer.

      I'm not surprised this is getting asked on slashdot, but I do think that slashdot lacks the expertise to answer it correctly. If you want a better answer to what truly works, you need to get in contact with an HR agency on a personal level rather than a business level. Yes, that's right, you need to know a friend that works in the HR or head-hunter business--if you come to them from the business front they will treat you like a customer rather than a friend so they'll skew everything they say towards supporting their business. But if they are more a friend they will easily be able to tell you things like success rates and employee turn over rates because that is what they deal with. People on slashdot often are just in front of their computers all day and don't g

    10. Re:One opinion by ehrichweiss · · Score: 1

      You hit the nail on the head. It has little to do with what you think you might like about the job but rather is more about what you actually experience in the job. I always look at these types of things as making a kind of deal with the devil: you might get all the things you want for the price they ask(your skills and knowledge), or you might discover they withheld information about some of their internal policies, or that the receptionist is overly sensitive to anything remotely "off-color", or that they don't dig you wearing open-toe sandals and cargo shorts during the summer(for me that is an absolute requirement over any other; even if they refuse to let anyone else do it since I make a very good living freelancing).

      --
      0x09F911029D74E35BD84156C5635688C0
    11. Re:One opinion by Arccot · · Score: 1

      Third, salary, salary, salary, and benefits (particularly insurance and family coverage). Move 'em if you have to. We've even bought houses outright for our programming team members. You can't expect to hire a superstar by treating them like a drone. One thing I would add to that. If you're willing to offer a high salary to someone who is a "superstar", advertise it. I only apply for jobs that clearly list their expected range of pay, because I don't want to waste my time or the employers if they're offering something below what I want/feel I deserve.

      That's also why I like good recruiting agencies. The good ones ask up front what the salary for the position is.

      For someone who is good at what they do, hiding the salary is like a slap in the face. It's like saying "you'll take what I give you, because you're desperate enough to go through 2 interviews to even get that information."

      If you advertise a high salary, you're going to get apps from good, mediocre, and poor applicants. If you don't advertise a salary, you're going to get the poor and desperate mediocre applicants. That's not who you want working for you.
    12. Re:One opinion by bzipitidoo · · Score: 1

      The S/N ratio on Monster and Dice is too low for those sites to be much use for "star" people looking for work. The complaint about long arbitrary skill lists is spot on. Employers will ask for the moon in "experience" (one reason of course being to filter out the noise at their end) while totally missing what really matters: talent. Then they offer cut rates on a contractual temporary basis so they can dump the hires if they want, then in saying what work they want done show they don't understand they only need an average, mediocre code monkey to take on some humdrum, tedious, dead end job, the scut work of programming. If a star even bothers applying for one of these jobs, he can't get past HR. HR is fantastic at throwing out the baby with the bathwater. Not one of them will dare take a chance on someone who has extensive C/C++ experience, advanced degrees, numerous victories in programming contests, great recommendations, but very little in the latest in language fads, Java or .NET. That's most of what I see on those job sites.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    13. Re:One opinion by Impy+the+Impiuos+Imp · · Score: 5, Funny

      I love stuff like "Must have 5 years of Java experience" -- 2 years after Java was released.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    14. Re:One opinion by NinjaTariq · · Score: 2, Funny

      In my experience, an additional prefix is added:

      Commander in Chief Lord High Lead Senior Principle Engineer, should be the highest non-managerial position.

    15. Re:One opinion by prockcore · · Score: 4, Funny

      I'll add one more: no stupid Microsoft-ish riddles.


      But they're so much fun to ponder in a non-riddle context.

      "Why does a farmer have a wolf? How can a 5lb chicken eat a 50lb bag of grain? How is he able to prevent the wolf from eating the chicken when he's present?"
    16. Re:One opinion by Starlet+Monroe · · Score: 1

      Here's my add to that:

      Don't play interview games; talk to me like I'm a person. How I'm treated in the interview is how I'll expect to be treated as an employee.

      --
      ++
    17. Re:One opinion by siriuskase · · Score: 1

      When's the last time he updated his resume? I suppose once your compensation is divulged and justified in the 10K's or you make a list at Forbes, you don't need a resume.

      --
      If you must moderate, please moderate as irrelevent, not something bad, because I'm sure someone will find this interest
    18. Re:One opinion by 22_9_3_11_25 · · Score: 1

      hahahahaha if I had mod points you would get +++ for hilarity!

    19. Re:One opinion by azrider · · Score: 1

      The first thing to do is remove arbitrary barriers. IE, "must" have X years of experience, X degree, held X previous positions, must move to our area. That's the sum of major mistakes most operations make.
      Also remove two other major mistakes:

      Asking for salary history (you don't need to know what I have made in the past)
      Asking for salary requirements (you need to tell me what my expertise and talent are worth to you)

      In the first case, as a consultant I may have been working on a multimillion dollar project with a short time frame. This is the sort of job that pays a significant premium. Or, I might have been working on something that just seemed interesting at the time. Past earnings have no bearing on present and future opportunities.

      In the second case, I will quote you what I want, not I will accept and definitely not what I will settle for.

      --
      And ye shall know the truth, and the truth shall make you free.
      John 8:32(King James Version)
    20. Re:One opinion by networkBoy · · Score: 1

      Actually an excellent example (not of a programmer, but of a marketing superstar).
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    21. Re:One opinion by Profane+MuthaFucka · · Score: 1

      Something else too. If a really good programmer working for you indicates that he wants you to give him lots of programming to do, plus steaks shoved under the door 3 times a day, then that's what you do.

      Don't try to "develop" the programmers who are doing fine and having fun thank you very much. Just give them what they ask for and stay out of their way. The best you can do is offer to mentor and develop anyone who asks. If nobody asks, don't take it personally.

      --
      Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
    22. Re:One opinion by silentbozo · · Score: 1

      "The first thing to do is remove arbitrary barriers. IE, "must" have X years of experience, X degree, held X previous positions, must move to our area."

      "Secondly, market the job -- make sure people can find out about it."

      "Third, salary, salary, salary, and benefits (particularly insurance and family coverage)."

      Dead on target. If you're hiring, and you're serious about bringing in quality talent, rather than another warm body, you should take these observations to heart.

      I'm currently looking, and everywhere I'm looking I'm seeing entry-level drone positions (or what I would consider entry-level) - java, IT, support, etc. I rarely see any pay ranges, and I'm not going to waste my time or take the risk of raising red flags by applying to a position where I'm going to get offered several tens of k less than my last job, and be bored silly. The recruiters I've encountered have ranged from mediocre to indifferent, and have not made me very enthused about applying - ie, here's the website, apply online (this includes Google, btw).

      My biggest problem is that I'm more interested in doing start-up work (I have background in multiple fields, with specializations in law and management), but apparently there's some super-secret recruiting network only known to VC's and their kin. Either that or their recruiters never bother to get back to you when you start asking questions about their super-secret startup. Too bad for them.

      If I may add an addendum to the observation about companies treating programmers like a commodity - if this is what your process is geared for (ie, generic online applications filtered and processed by HR), commodity programmers is all that you're going to be getting from your applications pipeline.

      And one more item. If you expect talent to treat you seriously, reply promptly to queries, especially if they're not coming through an internal jobs website.

    23. Re:One opinion by XPisthenewNT · · Score: 1

      "Why does a farmer have a wolf? How can a 5lb chicken eat a 50lb bag of grain? How is he able to prevent the wolf from eating the chicken when he's present?"
      Hahah great points. This is how I'm going to answer interview riddle questions in the future!
    24. Re:One opinion by SpaceLifeForm · · Score: 3, Informative

      The problem is that GP was not joking.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    25. Re:One opinion by gal1264 · · Score: 1

      I agree 100% that arbitrary barriers are worthless. More often then not, it's the developers who believe so (I consider myself a SW Engineer not a Developer), who don't get work done, because they can't just evolve around problems as they come up.

      Developer -> I've only ever programmed in (Insert Language Here), but I'm really good at it.
      SW Engineer -> I use C for my embedded projects because of code size and performance, mostly C# for my windows applications because I get to re-use all these great MS libraries, and Frankly pretty much any time I need a quick and dirty tool for generating test scripts, or helping with Cadence I use PERL.

      Look for people who evolve themselves to meet a problem, rather than try to make the problem fit their system. I'd say more often then not these people will have excelled time after time in seemingly unrelated jobs, versus the people who continue doing the same thing forever, 'til they become an obsolete commodity and are only good for complaining about outsourcing.

      Most of the people I consider superstars are really just regular old problem solving engineers. These people can take any problem, and either find or build components to make it happen. I've known a *FEW* superstars who were ONLY software engineers. I'm sure that even those guys need some variety and support too though.

      Honestly I'd say what's harder is retaining people like this, because they CAN always get another great job. It's probably more important that you give these people interesting, and varied work, make sure you don't overload them as they're already the most productive piece of your puzzle, and give them a strong supporting cast they can leverage to be even more productive.

      At least that's what I think makes me a superstar, and has exemplified the ones I've worked with before. What makes me feel like I can say these things?

      Some of my background:

      Started at AMCC as an intern, basically a lab tech.
      4 years at Qualcomm in my early days doing test.
      http://vesicle.nsi.edu/nomad/segway/ -> Neural Simulation/Segway based Soccer Playing Platform
      http://natural.uchicago.edu/~tgal/ -> Parsing and Analysis Tools for Affymetrix Gene Array Arabadopsis Sequencing
      http://www.ietf.org/internet-drafts/draft-ietf-speechsc-mrcpv2-15.txt -> IETF Speech Recognition Protocol
      Development from scratch and evolution of a couple of medical devices (Triage Wireless/Dexcom)

      Currently I'm a couple years deep working at a semiconductor startup, where I've done some Digital Blocks for our ASICs, Design and Layout of our basic Electronics, and ALL of the embedded firmware, along with PC Software for in house, and external use. I truly believe, and have yet to be disproved, that I can just about solve any problem. Usually it's the time -vs- desire for elegance that's my weakness. I guess that's what management is for....right?

    26. Re:One opinion by QRDeNameland · · Score: 1

      If you're hiring, and you're serious about bringing in quality talent, rather than another warm body, you should take these observations to heart.

      While I agree wholeheartedly with this, my concern is that so much of the IT industry is turning to the point where they truly only want "warm bodies" vs. "quality talent".

      It is my opinion that "quality talent" is what makes good software. Even if we're not talking about "superstars" (lord knows I'm not one), the things that make a development project succeed are largely intangible; interpersonal relations, good development processes, few ego conflicts, and people who are clever, creative, and adaptable. these people will become your "superstars" just by becoming the experts in the good work they've done.

      The problem is, especially at the larger corporations, that management is very uncomfortable with in-house "superstar". The more that crucial areas of their business structure become dependent on a single person's expertise, the more that person becomes a threat of either demanding more money, or leaving with your precious business process knowledge.

      The last large corp I worked was frantically trying to implement an MSF-based development framework, the purported benefits being faster, cheaper development with fewer critical issues. The more I read about their excessive pigeonholing of roles and endless layers of process cycles, I came to the conclusion that they were not trying to make their development any cheaper or faster or more reliable. Rather, the idea was to make it so that as long as you threw *some warm body/bodies* into any given role, and they could do any kind of mediocre job at it, that they wouldn't *need* to rely on expertise that could walk out the door at any time. Maybe this is personal, but much of what I've seen with outsourcing/offshoring reinforces this in my mind.

      --
      Momentarily, the need for the construction of new light will no longer exist.
    27. Re:One opinion by PCM2 · · Score: 1

      Here are some more for you:

      Is this the test now? Which desert? What's a tortoise? Do you think up these questions yourself, Mr. Ellison, or do they write them down for you? What do you mean I'm not helping? My mother?

      --
      Breakfast served all day!
    28. Re:One opinion by geekoid · · Score: 2, Funny

      Yep, I remember talking to someone about Powerbuilder 5. They want 5 year experience, and it had only been out for one.

      I mentioned that in the interview, and he said he had a stack of interviews with people the have over 5 years experience with power builder 5.

      I said, "oh, I have no doubt those pieces of paper say that, but it has only been out for a year."
      Then excused myself and left.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    29. Re:One opinion by Actually,+I+do+RTFA · · Score: 1

      I'll add one more: no stupid Microsoft-ish riddles.

      Some of us enjoy riddles as a pass time. I don't understand why it would matter if they were programming problems in disguise. In fact, thinly disguised problems from textbooks is the exact wrong type of riddle. The purpose of riddles is to show that you have a brain and it can work. Now, if the right answer to a riddle is considered necessary, that's a poor condition. But I see nothing wrong with asking a difficult question. Difficult problems will come up in the job, and how you deal with them (as well as how well you deal with them) is a vital question the interview seeks to resolve.

      A great programmer will love to talk shop. Have one of your existing coders talk to him.

      So, you want me to help one of your programmers do his job before hiring me? Just spending enough time thinking about a problem to be able to discuss a solution can lead to awkward pauses.

      --
      Your ad here. Ask me how!
    30. Re:One opinion by JavaRob · · Score: 1

      [...] or you might discover they withheld information about some of their internal policies, or that the receptionist is overly sensitive to anything remotely "off-color" [...] Hmm. I imagine that therein lies a story AND even not having heard it yet, I'm not sure I will be 100% convinced that the company and receptionist were in the wrong.

      Relevant SNL deep thought: "When you go for a job interview, I think a good thing to ask is if they ever press charges."
    31. Re:One opinion by fyngyrz · · Score: 1

      The real riddle there is why, when they pictures of all the replicants to show Our Hero, was mr interviewer bladerunner guy ignorant of the standard labor model he was talking to until he saw the pupils dilate in a specifically non-human manner? Never could work that out.

      --
      I've fallen off your lawn, and I can't get up.
    32. Re:One opinion by zerocool^ · · Score: 1


      I won't take a job where the person interviewing treats me as if they are doing me a favor in offering the job. They are after me, not the other way around.

      Well, if you're a superstar developer, you can probably expect red-carpet treatment. I'm not one; but I'd like to interject that an interview is a two-way conversation. You're interviewing a potential candidate, and they're interviewing a potential employer. Unless you really are the top 0.1% (of potential employees, OR of employers), don't go into the interview thinking the other party owes you. Both sides are interviewing the other.

      ~wX

      --
      sig?
    33. Re:One opinion by tyger430 · · Score: 1

      I'll readily agree with your second and third points, but your first depends on the marketplace the company is involved in. If it's ZYX Company that does systems for nationwide department stores, then the position should really require a broader range (I've done more development in 5 different languages/IDEs in the past 3 years than some do in 10+). The stickler comes in when you're working as a govvie contractor: most contracts have a requirement for education/experience that are immutable. Occasionally, you'll find someone tha the customer (government) is willing to waiver, but that hasn't happened often in what I've seen.

    34. Re:One opinion by Mongoose+Disciple · · Score: 1

      Yeah, I remember seeing a lot of job postings like that in that era.

      I'd often send them my resume with a very nice cover letter saying, in essence, "The person you're looking for does not and cannot exist because you've made this literally impossible demand. I suggest you consider my resume instead."

      Somehow I never got a call from one of those. I'm theoretically more diplomatic now.

    35. Re:One opinion by Snocone · · Score: 1

      Um, actually, that exact thing DID happen to me in 1997, I applied for a job that required 5 years programming in Java on Mac OS, and I pointed out to them in my cover letter that it hadn't been released for that long.

      Since I was the only one out of the entire applicant pool that called them on it, I got the job, too :)

    36. Re:One opinion by fyngyrz · · Score: 1

      I'll readily agree with your second and third points, but your first depends on the marketplace the company is involved in.

      What happens then is they have trouble getting great talent. That's almost always what happens. Because great talent has a strong negative correlation with the ability to endure 4, 6 or even 8 years of boredom.

      <HUMOR><HANDWAVING>
      ...and then you typically end up with exactly the kind of application we associate with the government. It costs way too much, is delivered way too slow, doesn't do what the spec said it was supposed to in the first place, is completely incompatible with everything else ever written by the hand of man or woman, and in the end, gives up your data to someone who walks in a backdoor or even a front door left open by default entry criteria. When the final version is released, the rocket misses mars because module A was metric, and module B was imperial. None of which will matter when the whole thing is stamped classified, though for years, there will be a very small group of people with funny patches on their jackets who exchange knowing looks and snickers when they see each other.

      Q: "Why couldn't the program induce lasing in the tuned cavity?"
      A: "The whole thing was based on black ops..."
      </HANDWAVING></HUMOR>

      --
      I've fallen off your lawn, and I can't get up.
    37. Re:One opinion by tyger430 · · Score: 1

      Oh, no. I totally agree. Thing is, it pays well. And for someone in his late 20's who wants to be able to get on with his and his family's life soon, I'm willing to sacrifice for a bit until I can take the jobs that I want.

    38. Re:One opinion by SanityInAnarchy · · Score: 1

      I'd suggest that clever answers to these riddles can help, especially if the interviewer isn't attached to a "right" answer.

      For example: "How would you weigh a Boeing 747?" Obvious answer? "Call Boeing."

      I would say, any candidate who doesn't at least try that should be gone. Somewhere on The Daily WTF is an article which explains it best -- I'll try to quote from memory: "Which would you rather have working for you? The guy who takes the plane down to the docks and puts it into some water-displacement apparatus? Or the guy who calls Boeing?"

      I know that no matter which side of the table I'm on, any answer other than "Call Boeing" is severe NIH syndrome, and should tell me something about what the actual work will be like.

      --
      Don't thank God, thank a doctor!
    39. Re:One opinion by Spock_NPA · · Score: 1

      If you asked "How would you weigh a Boeing 747", the obvious answer is not "Call Boeing". When you call Boeing to request the weight of a 747, you are not doing any actual weighing and it can definitely be argued that the question asks you to undertake the actual weighing process. What you should have asked instead is, "How would you determine the weight of a Boeing 747?" Phrasing it like that makes it a lot more clear that you are only interested in how the person would go about finding out the weight of a 747 and not the actual physical process of weighing an object.

      --
      Regards,
      Spock_NPA
    40. Re:One opinion by CortoMaltese · · Score: 1

      Secondly, market the job — make sure people can find out about it. That's perhaps obvious, but I know a lot of companies that try to stick to the back alleys of old boy's clubs, and it's no wonder they can't find anyone. Put an ad, a BIG one, somewhere programmers go a lot. Like slashdot. :-) I'd change that to "market your company". The superstar programmer is more interested in the environment he'll be working in rather than the specific job. He'll want to work for a company that will give him tasks that best suit his skills and interests.
    41. Re:One opinion by hoganlong · · Score: 1

      I did not get a job once (with coned) because I had less .NET experience than the candidate who did. I may or may not be a superstar, but I don't lie in an interview -- a clear example of someone who is most certainly not a superstar...

      At the time I had 3 years experience in .Net and it had been out for 3 years.

      Go figure.

    42. Re:One opinion by Fulcrum+of+Evil · · Score: 1

      How is he able to prevent the wolf from eating the chicken when he's present?"

      Farmer john has a shotgun and a big boot. Also, the wolf's already been alpha'd by him.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    43. Re:One opinion by dj_segfault · · Score: 1

      "Third, salary, salary, salary, and benefits (particularly insurance and family coverage). Move 'em if you have to. We've even bought houses outright for our programming team members. You can't expect to hire a superstar by treating them like a drone." You have to treat them right, but "throwing more money at them" is often not the answer. Truly creative brilliant people are motivated by very different things. For instance, one of the silly things that keeps me at my current job is a private office with a closing door and an opening window. Creature comforts, opportunities to socialize (or not socialize), free food that costs way less than the salary bump you're talking about, interesting decorations in the office are all wonderful and cheap motivations. Another example: I will not accept a job offer from a company if I don't see Dilbert cartoons (or some moral equivalent) posted in personal areas, because that means they squelch dissent and Management is insecure. I can't work in an environment that I can't constructively criticize See the book "1001 Ways to Reward Employees" by Bob Nelson.

    44. Re:One opinion by fyngyrz · · Score: 1

      I agree completely. It is comparatively very inexpensive to do, and if you don't do it, you're saying something very bad to the worker.

      --
      I've fallen off your lawn, and I can't get up.
    45. Re:One opinion by Magada · · Score: 1

      Because the scriptwriters forgot to tell the director and the props people that the files weren't supposed to have pics on them like a normal police file should. Also, it was the _lack of_ pupil dilation (lack of emotional response) that gave them away.

      --
      Something bad is coming when people are suddenly anxious to tell the truth.
    46. Re:One opinion by ehrichweiss · · Score: 1

      "Hmm. I imagine that therein lies a story AND even not having heard it yet, I'm not sure I will be 100% convinced that the company and receptionist were in the wrong."

      Actually no story. However you sound like you could be a receptionist. I guess if I say that someone was black balled from my club that you'd testify that it was both a racist and sexist statement since it mentioned both color and alluded to testicles? Or how about if I say that someone was acting in a niggardly fashion? Panties in a wad yet?

      Political correctness and euphemisms are the death of true expression. I'm not a "Native American", I'm an Indian; my cousins aren't "African American", they're Black. Your bra isn't showing, it's your tits.

      Now how about you go get me some coffee, cupcake.

      </soapbox>

      --
      0x09F911029D74E35BD84156C5635688C0
    47. Re:One opinion by SanityInAnarchy · · Score: 1

      If you asked "How would you weigh a Boeing 747", the obvious answer is not "Call Boeing". When you call Boeing to request the weight of a 747, you are not doing any actual weighing and it can definitely be argued that the question asks you to undertake the actual weighing process.

      In which case, let me clarify the answer: "I wouldn't. I would call Boeing instead."

      What you should have asked instead is, "How would you determine the weight of a Boeing 747?" Phrasing it like that makes it a lot more clear that you are only interested in how the person would go about finding out the weight of a 747 and not the actual physical process of weighing an object.

      Yes, that does make it more clear. That may or may not be a good idea, though. This is about finding out if you've got a clever, practical person, and such a person would (hopefully) first attempt an easier solution, even if they had to go ask for a clarification. Think about it: If your boss told you to weigh a 747, wouldn't the first thing out of your mouth be "Can't we call Boeing and find out? Or do you want me to do it myself?"

      --
      Don't thank God, thank a doctor!
    48. Re:One opinion by JavaRob · · Score: 1

      Err... maybe I should have put a ;) at the end of my comment?
      I figured the Saturday Night Live reference might work as a tip-off that it was a humorous comment.

      Either way, I wasn't assuming you were an ass before, but I'm kinda getting that sense now.

    49. Re:One opinion by ehrichweiss · · Score: 1

      Thanks. You've proven your "ass" ets as well with that snide remark.

      --
      0x09F911029D74E35BD84156C5635688C0
    50. Re:One opinion by dmlpat · · Score: 1

      disassemble the 747, weigh each part, make the sum, reassemble the 747

  4. OSS guys? by CRCulver · · Score: 1

    Find a developer of an admirable Free Software project who, for whatever reason, isn't currently employed as a professional software developer and make him the right offer. Just go after people who make the code you respect the most.

    1. Re:OSS guys? by HeroreV · · Score: 1

      Aren't most free software developers going to want to work on free software? Maybe there's not enough such work to go around for them, but if you're not producing free software, they're probably not going to be very happy about working for you.

    2. Re:OSS guys? by Random+Walk · · Score: 2, Informative

      Aren't most free software developers going to want to work on free software?

      While I am an OSS developer, I would rather work on an interesting non-free project than on a boring free project. And I suppose that most OSS developers are employed (like me), but still might consider an offer that looks interesting.

  5. Simple filter. by LWATCDR · · Score: 1, Interesting

    Ask them who Knuth is.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    1. Re:Simple filter. by trolltalk.com · · Score: 3, Interesting

      Ask them who Knuth is.

      1. Just ask them who CowboyNeal is. If you get a blank stare, go on to the next candidate.

      2. Next, ask them for their slashdot uid, and look at some of their posts, and their friends/foes. You'll get a good idea as to what others in the community think of them. No friends? Guess they had nothing to say. No foes? Shies from controversy or doesn't have strong opinions. No journal entries? Possible indicator that they're not much into sharing experiences, knowledge, etc.

      3. Engage them in open discussion in a thread or 3. Easy enough to do - just look at their profile page and track their latest comments.

      Lets face it, the biggest problem with development (and what causes the most failures) is not the "superstar" quality of the ocders, but their ability to work as a team, which basically means "management" by the program lead. If the lead isn't able to socialize outside the coding group (and open up the barriers between the coders and the rest of the business), you're either going to fail, have lots of delays, or a really poor product.

      We give a lot of lip service to communications, but communications is more than just emails and meetings. Most real communications are one-on-one, with a bit of socializing thrown in. People are more likely to be open and honest about problem areas, and to offer their opinions and solutions, outside of the "formal development process".

    2. Re:Simple filter. by Swizec · · Score: 2, Insightful

      Just one thing though ... They just may have had nothing to say or whatever on Slashdot because they were otherwise engaged saying stuff or ... you know ... coding.

    3. Re:Simple filter. by zstlaw · · Score: 2, Insightful

      I have not met a programmer outside of academia who could answer that question. Simple fact : Most programmers don't care WHO did something in our field, they only care WHAT was done and HOW they can use it. I have Knuth's book on my shelf but I had to use google to figure out who he was. The only super programmer I know grew up in east germany and didn't graduate college, does he know who Knuth is? Of course not. Does he spend his free time exploring new technologies and writing test applications for fun just to prove a new technology will work?

      My advice for finding great developers, is to look for someone who loves what they do. Hire them. Make it easy for them to do what they love and then watch how productive they can be when you keep distractions away from them. Sadly the best way I have found is to find a couple great people and then use word of mouth. Someone is rarely great in isolation, others helped them achieve greatness and are likely to also be very good at what they do.

      Maybe the best thing you can do is get a reputation for being a great place to work and then the best will come to you as their peers tell them about their experiences working for you.

      Lastly talent is no silver bullet. A company also needs a lot of people who are dedicated and yet are merely decent but are willing to do the hard work to get things done right. Someone has to fix bugs in last years application, write test cases for publicly identified bugs, test the product with the new version of windows, or just help write the product documentation. Those tasks take a lot of hard work but most hotshot developers would run screaming from those jobs as they are not mentally rewarding challenges. Yet they do contribute to a company's success.

    4. Re:Simple filter. by Anonymous Coward · · Score: 1, Funny

      Next, ask them for their slashdot uid, and look at some of their posts, and their friends/foes.

      Logged in comments are for latecomers to slashdot. ;-)

    5. Re:Simple filter. by Tawnos · · Score: 4, Insightful

      You assume companies want the typical slashdot poster. The truth is that people here are often opinionated, brash, and hostile to ideas they dislike. While many of them may fit the role of "good coder," they often miss the bigger picture of what it is to be a "good programmer."

      As you said, good programmers work well in teams. They're open to suggestions, and only butt heads on issues when not to do so would be negligent. What happens when the candidate being interviewed is told "we'll be working in windows vista, using visual studio 2008?" Do they throw a hissy fit, and constantly complain about how the shortcomings of the windows environment could be improved by moving to linux? This attitude, which seems to be fostered and even encouraged here at slashdot, would be devastating in the work environment.

      I think the only real way to find superstar programmers is, realistically, to find good programmers and lots of them, through various recruiting drives (temp work, contractor work, college co-ops/interns). When the term of their employment is up, you'll have a much better idea of how they are as a programmer, something that is relatively hard to do during an interview. From here, you'll have a resource pool to say "look, you're awesome, we'd like to hire you." This avoids the problem of missing the amazing programmer because they only looked "good" on paper, and it also gives a pool to draw "great" programmers from (even if no superstars are found).

    6. Re:Simple filter. by Colbalt+Blue · · Score: 1

      >>Ask them who Knuth is. Didn't he write Computer Programming For Dummies?

    7. Re:Simple filter. by Nefarious+Wheel · · Score: 1

      Ask them who Knuth is.

      Love that one. Ask them what their favorite fundamental algorithm is.

      Then ask them how a bubble sort works, and filter out anyone who doesn't say "Why could you possibly want to know about that?

      Not all experienced programmers are good programmers. I once encountered a programmer who'd developed a hydrology program in Pascal over some years, and encoded his entire database into an enumerated data type. I only found out about it when he'd run out of cardinality.

      --
      Do not mock my vision of impractical footwear
    8. Re:Simple filter. by Impy+the+Impiuos+Imp · · Score: 1

      > Ask them who Knuth is.

      Guy who wrote a trilogy of computer science algorithm standards.

      > Just ask them who CowboyNeal is.

      Slashdot editor and creator/subject of the intensly boring and unfunny "last choice" of Slashdot's poll.

      - Next, ask them for their slashdot uid

      No problem with that. I've even abandoned 3 with lower numbers.

      - Engage them in open discussion in a thread or 3. Easy enough to do - just look at their profile page and track their latest comments.

      " "

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    9. Re:Simple filter. by that+this+is+not+und · · Score: 1

      Guy who wrote a trilogy of computer science algorithm standards.

      See, you already blew it. Knuth is an IBM 650 hacker.

    10. Re:Simple filter. by bmajik · · Score: 4, Interesting

      Do they throw a hissy fit, and constantly complain about how the shortcomings of the windows environment could be improved by moving to linux? This attitude, which seems to be fostered and even encouraged here at slashdot, would be devastating in the work environment.


      Actually, I did that a lot when I first got hired at my current company. I flunked a round of interviews partially because of my hot-headed attitude and MS bashing.

      I did a 2nd round with a different group and kept the rhetoric to a minimum. But once I was in, I turned on the flame-thrower again. "I can't beleive you put up with this crap -- pine and sendmail will service 25,000 mailboxes on a 1 proc machine", etc. I would constantly compare the lame MS experience to some F/OSS experience. This was back in the 2000-2001 time frame. Was it annoying? yes. Did people listen to me? Yes. Did we switch to f/oss software? No. Did a lot of the software we used to do our jobs get better? Yes.

      The company I did this at?

      Microsoft.

      I'm a Microsoft Employee, and I'm a QA engineer (tools & automation developer). You had better beleive that when one of us says "F/OSS kicks our ass at this", people here eventually notice and try to remedy the problem. (Clearly, there's great job security here :))

      I agree with the generalities of your point. You need to pick and choose your battles. But one thing I'll say is -- if you're frustrated that MS products are so (in your opinion) inferior to some F/OSS (or any competing offering) product, MS is a great place to work. We take competition very seriously, and we need more people that are used to not rebooting, apps not taking down more than they need to, user separation, simple tools that are efficient and single-purposed, etc, to help us make better software. When I joined, there wasn't a linux compete team, a compatibility lab, etc etc. Now we have all of those things and there are people who actually study where we don't measure up.
      --
      My opinions are my own, and do not necessarily represent those of my employer.
    11. Re:Simple filter. by LWATCDR · · Score: 1

      "have not met a programmer outside of academia who could answer that question. "
      Hello nice to meet you. I am a programmer outside of academia.
      Actually the first CS book I lusted after was Algorithms + Data Structures = Programs by Wirth. My parents bought that for me for Christmas when I was in High School.
      I don't consider myself a superstar programmer but I would bent that most programmer of that class know at least as much CS as I do.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    12. Re:Simple filter. by trolltalk.com · · Score: 1

      In which case they aren't visible on slashdot anyway, so you won't see them in the first place.

      Besides, what do you think coders do when they want to take a break or blow off some steam? Some of us hit slashdot. At some point, you just HAVE to comment on something or other.

      Or if you're like me, you maintain work and non-work accounts under separate uids.

    13. Re:Simple filter. by ucblockhead · · Score: 1

      Congratulations. You just rejected Donald Knuth.

      --
      The cake is a pie
    14. Re:Simple filter. by trolltalk.com · · Score: 1

      You have to work with the tools and resources at hand. In this case, slashdot is one such resource - why not (forgive the market-speak) *cough* leverage the synergies *cough* to troll for talent?

      Good programmers are looking for stuff that challenges them, makes them think, lets them play with interesting concepts and code. As an aside, I would think that telling them "we'll be working in windows vista, using visual studio 2008" means you've already lost them - everyone with any brains knows Vista is a turkey. Telling them that one of the targets is Vista is another story. It would be normal to test for as many platforms as possible, and one of those, like it or not, could be Vista.

      Sure, you can do all the things you suggest ... but, since we're having this discussion on /., why not look right here as well?

    15. Re:Simple filter. by trolltalk.com · · Score: 1

      I'd never hire an active commenter on Slashdot.

      People who comment on boards just like to hear themselves talk. You don't want them.

      People who read the comments and learn from them - that's who you want. But don't hire the people who feel the need to pontificate.

      Seriously, why do you guys post? It's a huge waste of time. And for what?

      Why? Because its there!

      Okay, not the most original line ... ;-0

      I could be sarcastic and say "tell us what miraculous technology you're going to use to contact the people just read, but don't comment ... the FBI, DHS, CIA all want to talk to you".

      One example should suffice - see this poll (currently running on the front page as I'm posting this). Obviously, over 34,000 people found it interesting. It was copied from this journal entry.

      Why not read some of the user's comments? As you said, "People who read the comments and learn from them - that's who you want" ... you won't get any of that going on if nobody posts.

    16. Re:Simple filter. by trolltalk.com · · Score: 1

      Congratulations. You just rejected Donald Knuth.

      Sorry - I certainly didn't mean to. Last year, the local Chapters had the 3-book set on the shelf. I made a note to myself to pick it up sometime ... (had other books I was buying at the time) ... went back, they were no longer there. I figured "who else would buy it?" Guess I was wrong ... :-(

    17. Re:Simple filter. by drachenstern · · Score: 1

      lol, so what's your non-work account uid?

      --
      Posted as I sit at work and contemplate cleaning the lab. And I was just starting to like the dust bunnies. Ah well, the server's'll be happy in the AM*

      --
      *not really, I keep them babies cleaner than my own self, which is impressive to those who know me and my shower schedule. For those who don't [everyone here], I shower in the AM, and whenever else I need one, but I'm not OCD or anything, I just don't like to sit around dirty or sweaty. I also wash my hands a lot; them's some germy places man.

      --
      2^3 * 31 * 647
    18. Re:Simple filter. by trolltalk.com · · Score: 1

      lol, so what's your non-work account uid?

      I'll give you a hint - see the "Can you afford to cut up your credit cards?" poll currently running on the front page?

      Look through the comments, and you'll find the original author's journal :-)

    19. Re:Simple filter. by mkosmul · · Score: 1

      2. Next, ask them for their slashdot uid, and look at some of their posts, and their friends/foes. You'll get a good idea as to what others in the community think of them. No friends? Guess they had nothing to say. No foes? Shies from controversy or doesn't have strong opinions. No journal entries? Possible indicator that they're not much into sharing experiences, knowledge, etc.
      Or perhaps they've got a life and better things to do than engage in discussions on Slashdot?

    20. Re:Simple filter. by trolltalk.com · · Score: 1

      2. Next, ask them for their slashdot uid, and look at some of their posts, and their friends/foes. You'll get a good idea as to what others in the community think of them. No friends? Guess they had nothing to say. No foes? Shies from controversy or doesn't have strong opinions. No journal entries? Possible indicator that they're not much into sharing experiences, knowledge, etc.
      Or perhaps they've got a life and better things to do than engage in discussions on Slashdot?

      They're not mutually exclusive options - I did say *possible indicator* ...

      So what's your excuse :-)

  6. Step one by Verteiron · · Score: 4, Insightful

    Stop calling expert programmers "superstars".

    --
    End of lesson. You may press the button.
    1. Re:Step one by Anonymous Coward · · Score: 1

      >Stop calling expert programmers "superstars".

      Yes, we prefer to be called "gods", thanks.

      Well, except for me. You can call me Joe, because that's my name :)

    2. Re:Step one by Verteiron · · Score: 1

      And do you really think that any of the programmers you just named (or others of their caliber) would be attracted to an advertisement or company that refers to them as "superstars"? Honestly, now.

      --
      End of lesson. You may press the button.
    3. Re:Step one by jellomizer · · Score: 1

      Exactly they really don't exist. It is a matter on what you want. All tech who will program for hours nonstop. Some one who is a strong programmer and can get the job done but has a good buisness background and guide you in the right direction. Spending a week at 100% productivity may not be fruteful if he is programming an app that will not help the business.

      I would recomend hireing a IT consultant that and give them small jobs and see if you like their work. If not don't bring them back, if they are a good fit use them for your programing needs. And perhaps over time you may want to hire. This has the advantage of relitivly getting rid of the overhead of hireing and keeping a bad employee for a trial period and if you don't like the employee you need a valid excuse to fire him. A. Contractor you fire for any reason.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    4. Re:Step one by oliderid · · Score: 1

      Stop calling expert programmers "superstars".
      That's precisly the point. I'm glad this post already receive 5 insightful points

      I'm a business owner. I will never hire anybody considering himself as a superstar. I prefer an average Hard worker Joe over anykind of Superstar anyday. I don't plan to manage a records company with Prince of Linux, Madonna of Windows and Tom of BSD. We are engineers, act like one.

    5. Re:Step one by tonydiesel · · Score: 2, Insightful

      Indeed - "superstar" is recruiter speak. Whenever I get a recruiter calling saying he/she has a real "superstar" or "rockstar" for me, I know immediately to blow the person off, because these words usually mean the recruiter has no idea what the hell they are talking about.

    6. Re:Step one by Impy+the+Impiuos+Imp · · Score: 1

      Is Linus a superstar programmer in the sense of this topic, or is he just a superstar organizer and promoter? Would he be likely to contribute meaningfully to cracking the alien code in Contact? Could he crank out a complete clone of Minefield in a few hours just for the hell of it?

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    7. Re:Step one by bugnuts · · Score: 1

      Right.

      They're called Rockstars.

    8. Re:Step one by larytet · · Score: 1
      ...or on could use a dedicated search engine of resumes posted online like one in my i-am-still-going-to-do-but-i-do-not-have-time-pet-project http://www.cvfinder.org/

      My really cool idea would allow to run a search engine on a single high end desktop and be able to parse and indexed 10s-100s of millions of CVs online.

    9. Re:Step one by fowkswe · · Score: 1, Insightful

      Yes, that a term douche bag marketing people use when they are schmoozing up to a technology person. it usually signals attempt at exploitation.

    10. Re:Step one by ucblockhead · · Score: 2, Insightful

      The best programmers don't call themselves superstars. As they say, true wisdom is not knowing. It isn't even knowing what you know. True wisdom is knowing what you don't know. Those who label themselves "superstar" are nearly always prima donnas who produce badly engineered, WTFworthy code and refuse to work with others.

      --
      The cake is a pie
    11. Re:Step one by lord+sibn · · Score: 1

      You wouldn't mind being called a superstar if you had a robot brain...

    12. Re:Step one by Tablizer · · Score: 1

      Stop calling expert programmers "superstars".

      Okay: "Super-asterisks"

    13. Re:Step one by tgd · · Score: 1

      There's a difference between an expert and a superstar.

      You'll know what that is the first time you work with a superstar.

  7. General hint by zappepcs · · Score: 1

    Add your preferred email address to a comment below this one so you can be contacted?

  8. Appeal by Jeremiah+Cornelius · · Score: 4, Funny

    to their obvious sense of humility, and only ask for mere "stars".

    That, or go trawling through the strip-clubs near Boston.

    --
    "Flyin' in just a sweet place,
    Never been known to fail..."
    1. Re:Appeal by ShieldW0lf · · Score: 5, Insightful

      Great programmers work for who they want, on what they want. They take getting their personal needs met for granted, but they have grand ideas about things they want to see realized and not enough money of their own to do it.

      So you advertise on the basis of the interesting work that you're doing, and aim for the ears of someone who has been itching to build such things rather than talking about the creature comfort and monetary perks.

      Great people want strong leadership that will help them achieve beyond what they can do alone.

      --
      -1 Uncomfortable Truth
    2. Re:Appeal by cayenne8 · · Score: 1

      Why not just hang outside the doors of Google, and try to catch the 'superstars' either already working there, or on their way in to interview for a job there.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    3. Re:Appeal by eonlabs · · Score: 2, Insightful

      If you want my suggestion, go the inexpensive and effective route.

      Try internships with colleges with co-op programs and quarter systems.

      I'll explain:

      Interns are a cheap way to test the water. When you find someone you like, hire them on full time at a good rate.

      Co-op programs force students to try working in the industry, and so they will be looking for a wide variety of jobs.

      Quarter systems are brutal. Anyone surviving in a college with one is either amazing at BSing, or is a strong programmer. Both are valuable, although I would only use the amazing BSer for inter-business relationships.

      Colleges like these often have career fairs and such, which makes it easy for you and your company to meet a lot of these people first hand to see how they carry themselves.

      RIT and Northeastern have pretty strong output. You might try them first.

      --
      I wouldn't consider the mad hatter mad. Just reality impaired. He sure can make a mean cup of tea.
    4. Re:Appeal by Fozzyuw · · Score: 5, Insightful

      Great programmers work for who they want, on what they want.

      I'd take a step back on that one. Before they're "programmers superstars", they're usually college graduates. Start by trolling for college students. Lower your needs from "must be" to "can be" and take those who actually enjoy programming and build them up into superstars by putting them in your super company. They'll probably turn into Superstars in no time if your company is as good to work for as you describe.

      Cheers,
      Fozzy

      --
      "The past was erased, the erasure was forgotten, the lie became truth." ~1984 George Orwell
    5. Re:Appeal by morgan_greywolf · · Score: 1

      How do you find a damn good programmer? YOU DON'T. Have interesting projects that push boundaries and you (or your co.) moves into the grapevine....


      That's true to a point. However, sometimes you just need good hype.

      Look at Transmeta. Linus Torvalds -- undoubtedly one of these 'superstar' programmers -- went to work for Transmeta. Turns out, they didn't have anything all that interesting. The Crusoe processors turned out to suck -- badly.

    6. Re:Appeal by that+this+is+not+und · · Score: 2, Insightful

      However, sometimes you just need good hype.

      I was wondering when somebody was going to bring that up, re: "Programming Superstars."

      There aren't any. Just people who work hard at something that they're good at.

      All the rest is hype.

    7. Re:Appeal by gmack · · Score: 4, Insightful

      I disagree. Some of the best programmers I've ever met never had official training in a computer field.

    8. Re:Appeal by ILongForDarkness · · Score: 1
      Right on. By definition:

      good + unemployed/looking = rare

      Chances are good aren't unemployed but will move for a more interesting job. Sell the job to them (if they apply you know they think they will like the work).

      Another thing is keep you eyes open for vendors/suppliers etc that might be good. A little hard if your a dev company but I know of a lot of IT guys (support, server/app admin) that were recuited from or to my company. Its a bonus if you are the vendor and can grab the support guy from one of your customer sites (without killing the customer of course) as they are already trained and know what they are getting into already.

    9. Re:Appeal by xero314 · · Score: 3, Insightful

      There needs to be more detail on what a "Great Programmer" is. Is a great programmer a good code monkey capable of following instructions but turning out high amounts of bug free code? Is a great programmer a person that knows how to work without a specification but still do what the company or client needs? Is a great programmer a person who is great at coming up with new and unique software projects that may eventually be profitable?

      Point is that what a great programer is depends on the environment they are going to be working in. Because of this I'm going to suggest finding people who have never done any professional programing but have the right personality and drive to become the great programmer you need. If you try and get a great programer that is already in the industry you risk finding someone that is set in their own ways which are in conflict with what you actually need.

      Even Linus Torvalds is only a great programer is certain environments (if he even qualifies as a great programer and not just a well known programer).

      Oh and great programers do not necessarily come from formal education programs. Most of the truly great programs, whether they went to college or not, learned there skills through practice and self education.

    10. Re:Appeal by Arapahoe+Moe · · Score: 3, Insightful

      Let me guess. You're in or just out of college ..... and went to school at RIT, Northeastern, or some other more or less worthless institution of higher learning that was on the quarter system. :)

      I mean, come on. I won't even touch the fact that you are basically advocating the widespread use of cheap labor (interns/co-op students) as a really, really, really good thing. I mean, I work with some smart, young guys .... and in addition to their intelligence, they are also possessed of a naivete about how things REALLY work that REALLY limits their utility and value, amongst other severe flaws unique to the TALENTED young professional. Furthermore, trying to devalue the programming profession, in this way, such that it turns into Mexican day labour REALLY isn't the way to find programming superstars ....

    11. Re:Appeal by Rakishi · · Score: 1

      It's not exactly easy I'm assuming to find out what potential people have. Also there is a big difference between a good programmer and a superstar. There is also a big difference between someone who can be even a good programmer and someone who is intelligent (or even a genius).

    12. Re:Appeal by Anonymous Coward · · Score: 4, Interesting

      Some of the best programmers I've ever met never had official training in a computer field.
      I'd start by looking for math or physics majors with programming experience. Compared to quantum field theory or category theory, C++ or Java hacking is freaking child's play. You have to make sure to evaluate them on clarity of thought, not volume of knowledge, though - a lot of the best coders I know have no CS experience and even have to Google for a lot of their standard library calls, especially at the start, but in the end they put together the cleanest, most intelligible, and least buggy code I've seen.

      But make sure you have something interesting to let them work on, otherwise you'll lose them, probably to the banks where they will be paid at least six or seven times what you can afford - make sure your projects are at least that much more fun for them to work on. And never EVER EVER put a math/science person in charge of any sort of UI, no matter how good a coder they are. Seriously, don't do it!
    13. Re:Appeal by JWW · · Score: 1

      Any programmer that creates his own kernel can claim the status of "great" in my book.

    14. Re:Appeal by Anonymous Coward · · Score: 1

      Taking a chance on a inexperienced coder can be a huge risk in companies that are understaffed and on a shoestring budget. I'm not saying that hiring co-ops is a universally bad idea, but it isn't a universally good idea either.

      In most cases, if you are looking for a superstar, then co-op isn't the place to find it.

      It kind of reminds me of the time my grandfather taught me how to pan for gold. He explained that where we lived we could get a little every once and a while, but that you'll be disappointed more often than not.

    15. Re:Appeal by Actually,+I+do+RTFA · · Score: 1

      But make sure you have something interesting to let them work on, otherwise you'll lose them, probably to the banks where they will be paid at least six or seven times what you can afford - make sure your projects are at least that much more fun for them to work on. And never EVER EVER put a math/science person in charge of any sort of UI, no matter how good a coder they are. Seriously, don't do it!

      Yes, as my boss has learned from experience. It's not that I don't want to do a good job, it is that the UI exists as I would expect it to be laid out, while following the sketches I have as accurately as possible. My names are apparently especially confusing. But it is how I think about it.

      On the other hand, give me a problem that can be solved by creating a general system, with far too many parameters, and let someone else design a GUI with (what I consider) nonsensical rules to drive those functions specifically, and that person and I make a very efficent, very powerful team. Far better than either of us could do with a likeminded person.

      --
      Your ad here. Ask me how!
    16. Re:Appeal by Jeremiah+Cornelius · · Score: 1

      I'm a 7'3" Afro-American.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    17. Re:Appeal by brunson · · Score: 1

      Really? Who do you work for?

      I had to work for a bunch of different cocksuckers before I got my dream gig.

      --
      09F911029D74E35BD84156C5635688C0
      Jesus loves you, I think you suck
    18. Re:Appeal by utopianfiat · · Score: 3, Insightful

      Moreover I'd say looking for good programmers in general is going to make you SOL for the most part.

      I'd pose to you a give-a-man-a-fish metaphor. Why work on finding good programmers when you can find a good project manager - probably with a PhD - who can forge hard-working programmers into good and hard-working programmers.

      There's way too much mystique over "superstars" who bring their midas-touch of computation to a company. It's bad for business, it's bad for your project, and it's bad for budding programmers who suddenly are expected to be computational savants. You burn people out that way. Instead, turn down the guy who can do integral approximations in his head and hire the guy who took an hour but did it all on paper without taking a break. Why? Because if you hire savants, they'll do their work in 10 minutes and bill you for 2 hours because that's the time it takes for everyone else to build the same amount of code.

      Apologies to most of /. for ruining your perfect scam.

      --
      +5, Truth
    19. Re:Appeal by noric · · Score: 1

      Try the University of Waterloo in Ontario, Canada.

      UW is the premiere computer science university in Canada, the only stop Bill Gates makes in Canada, and a steady source of interns for companies like Google.

      Our computer science program is widely regarded as top notch - most 3rd year undergrads at Waterloo will be capable of things you would expect from masters students.

      Disclaimer - I'm in uw cs.

    20. Re:Appeal by stacey7165 · · Score: 2

      I agree, that's crap. Once in a million are you going to find a diamond in the rough from a university that is going to fundamentally affect your business or strategic innovation in the next 5 years. College is great to hire bench strength. Serious talent is much harder to find.

      Best idea is to leverage your personal network of the employees that you already have (this of course assumes that these people are quite talented already). Next is to never poison the well with crap. Don't hire warm bodies. The damage it will do to momentum and progress is immeasurable, and seriously deteriorates your ability to recruit high quality talent.

      Finally, work with a good recruiter and don't just give them a job description. Tell them where you envision this person is working now. What other projects/companies have the caliber of development you need. And then let your recruiter be the pitbull they can.

      My company, http://www.hyperic.com/about/careers.html, is an open source web infrastructure monitoring and management company. Part of being open source is we have also developed a strong community. This community is familiar with our product, many of which are Java developers already - and have made their prowess known to us. We also target our community for hires as well, which can be a great transition and a very low risk hire.

      That said, if there are any java or UI programmers, sales consultants, professional services or product marketing folks out there - we're always hungry for great help!

    21. Re:Appeal by Maxo-Texas · · Score: 4, Interesting

      I agree and I say advise every student that they should intern.

      What businesses should realize is that students have a lot of energy but no experience and a lot of them lack the grit to finish when it gets boring.

      A good seasoned program + 2 interns is a good combination. The interns do not argue with the good programmer all the time or try to put their "stamp" on the project. They just code a LOT and learn a LOT from the seasoned hand.

      It is so sad, here in 2008, to STILL see companies pay $150 an hour to a consulting firm for recent college grads who lack any experience in thinking ahead 5 years.

      I'm a good programmer- but there ARE superstars. I've known a few. They tend to be fanatics and don't work so well in teams. They write superior code, quickly. They are not so great on huge projects (unless paired with novices as above) because they get on each others nerves.

      A good team needs one superstar with authority to decide things, a few solid programmers to catch the mistakes the superstar does make, and an equal amount of rookies.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    22. Re:Appeal by CastrTroy · · Score: 4, Insightful

      No magical program manager can forge skills from programmers who don't have any. There's a large number of programmers who have no skills at all. No amount of working with them will ever resolve that. You can't forge a sword out of cotton. You can't forge a good programmer from somebody who just doesn't get it. You don't need to hire all superstars. But finding enough people who even have a clue how to program can often be huge challenge. There's so many people who want to be programmers, who just don't have it in them, that it's hard to sort through all the junk to find the good ones.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    23. Re:Appeal by CastrTroy · · Score: 1

      I didn't get into Waterloo. I went to Ottawa U. I found that there was a lot of good programmers there too. However, I was in the software engineering program, not CS. I found that a lot of the CS students couldn't program well, and that their programme didn't really prepare them well for programming in the real world. If you want to find good programmers, who know how to handle real projects, try looking in the software engineering programmes, rather than in the Computer Science programs.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    24. Re:Appeal by russotto · · Score: 1

      I'd pose to you a give-a-man-a-fish metaphor. Why work on finding good programmers when you can find a good project manager - probably with a PhD - who can forge hard-working programmers into good and hard-working programmers.


      You're kidding, right? A good programming project manager with a Ph.D? Not nonexistent, but certainly rare at least outside academia. And turning a hard-working programmer into a good and hard-working programmer? Not going to happen if the programmer doesn't have the talent.

      Instead, turn down the guy who can do integral approximations in his head and hire the guy who took an hour but did it all on paper without taking a break. Why? Because if you hire savants, they'll do their work in 10 minutes and bill you for 2 hours because that's the time it takes for everyone else to build the same amount of code.

      Apologies to most of /. for ruining your perfect scam.

      If you're hiring them, you're probably not paying them by the hour anyway. You'll have to pay more for the savant, but not 12 times as much. So you win big.

      If you're taking them on as contractors, that's also a win for both parties. You get the same amount of work done, in less time, for the same money, by hiring the savant. What do you have to complain about?

    25. Re:Appeal by bubulubugoth · · Score: 1

      Programming is a skill, that can be developed and trained. Also, parent talks about hard-working programmers, you might assume that they know how to code, and get the work done. Maybe not the BEST work, but it gets done...

      PM is more important that Cowboy Coder...

      --
      Â_Â
    26. Re:Appeal by pavon · · Score: 1

      If you are understaffed and on a shoe-string budget you shouldn't be looking for superstars. Anyone who is a superstar will be cost you a lot of money, but not everyone who costs a lot of money ends up being a superstar. That is a far more risky proposition for a cash-strapped company than hiring interns is.

    27. Re:Appeal by xero314 · · Score: 1

      There are plenty of programers that I have worked with that have written a kernel and even full blown OSes that I wouldn't call great programmers. Not only that but Torvalds didn't "create" a kernel he white room copied one. And I'm not saying that Torvalds isn't a damn fine programer, I just wouldn't hire him for one of my teams.

    28. Re:Appeal by Metasquares · · Score: 2, Interesting

      I know some very good programmers who came out of RIT.

    29. Re:Appeal by EdelFactor19 · · Score: 1

      I hate to say it but a blanket statement saying "people from college X" are fantastic is pretty lame, and is sure NOT to find you the best. Cast aside the fact that I would think in general you might find better programmers from MIT, RPI, UMichigan, CalTech and UC-Berkeley... Although Northeastern does turn out students w/ a lot of "real world" experience as a result of their well designed co-op program / requirement.

      THe problem with such statements is that often times the best programmers are too busy working on projects to deal with every little second of studying. I'm not talking about the kids who are so lost in projects and their own world that they fail out of school; I'm talking about the kids who instead of being insane perfectionists about their 'boring' assignments and obsessing over studying and memorizing every single term to get 100 on the tests they stop when they have it 'working' and they feel they know the material... what do they do then? They get to more programming, stuff they like to do and do it simply because they like it... they get involved in open source and contribute to it.

      by contribute i mean acutally, not just being an advocate / power user and installing it on anyone and everyones machines for them. I mean things like start mirrors and managing packages, creating custom distros (knoppmyth from some guys at case western), etc...

      I know what you are thinking, but those people will all become oss fiends and wont want to make commercial anything etc.. etcc...
      but heres what you might not appreciate. in order to get involved and contribute more often than not there is some preexisting 'stuff' stuff they have to learn how to work within. be it source control repository systems, bug trackers, code standards, reading other's code, fixing defects, build systems, etc. It exposes them to a lot of different things that as a new comer they wont have control over. and it shows that they can despite this make a mark on something and adapt to the system that they are within.

      yes I'm 'new' to the game, I'm not someone whos been developing for 20-30 years. but you dont have to be around for long to appreciate the movement, the dynamic nature and the ever increasing importance of agility in software development. because those who are agile are not too stubborn or arrogant to see that the familiar way isnt always the best, easiest, or most efficient way to do things. change can be good, not change for the sake of change, but change to improve process.

      --
      "Jazz isn't dead, it just smells funny" ~Frank Zappa
      EdelFactor
    30. Re:Appeal by drew_eckhardt · · Score: 5, Insightful

      >I'd pose to you a give-a-man-a-fish metaphor. Why work on finding good programmers when you can find a good project manager - probably with a PhD - who can forge hard-working programmers into good and hard-working programmers.

      Because

      1) You can't teach hard working programmers the creativity needed to come up with novel solutions to hard problems, where the right creative solution can net orders of magnitude better performance and/or reliability. The rough order here can be of a better PhD thesis or Digital labs paper (but with more attention to reliability).

      2) Experience productizing solutions _well_ is needed to build reliable complex software. I know of distributed systems groups that had to flush their first products due to algorithmic bugs and others that needed heavy operator support to keep things running because inexperienced groups lacked sufficient practical background in simulation.

      The best you can do is grow people towards their potential. Some engineers have a creative mindset and will solve problems when given a description, with the size of the problem dependant on experience and aptitude. You can get them working on bigger and bigger problems with more attention paid to practical concerns. Some engineers can implement something given a description (smells like a log structured file system, with a separate log for B+ tree nodes). You can teach them better engineering discipline.

      >Why? Because if you hire savants, they'll do their work in 10 minutes and bill you for 2 hours because that's the time it takes for everyone else to build the same amount of code.

      If you pick their brains on an as-needed basis on what you think is important, you'll be paying $500 for their 4 hour billable minimum and not getting fringe benefits.

      If you actually hire them and they have interest in how the product and company go, they'll work 60-80 hours a week (it's not about the money) for options on .5-1% of the company and perhaps 10-20% more in base salary than you'd pay some one who's merely excellent, you'll get over 5X the output on product code (output would be higher if non-coding responsibilities didn't consume 1/2 - 2/3 of their time), build infrastructure, test infrastructure, an effective mentor for your junior engineering personnel, attention to system level interactions before the code is written instead of after it's integrated, and maybe a little management thrown in.

      If you're solving the same problems over and over again, it doesn't matter and they wouldn't be interested.

      If you have something that's too hard for other companies to pull off, the right handful of gurus can mean the difference between success and failure.

    31. Re:Appeal by mykeaster · · Score: 1

      Although I do not see myself as a "superstar" developer, the employers that appeal to me the most are the ones that are willing to make sure I have the best tools needed to get the job done. For instance if I'm dealing with heavy duty searching or parsing large quantities of data I would rather use Perl. If I'm working in an agile environment let me use Python, and if I'm developing Windows applications let me use C# and the .NET Framework. I may be impartial, but if you're going to find the "superstar" developers, you need to look for the people who are willing, and will push, to use the best tool to accomplish the task, and lean that language if necessary. Not someone who is going to try and use one tool for every job.

    32. Re:Appeal by Metasquares · · Score: 1

      If they can do the same amount of work in 10 minutes that others do in 2 hours, they should be getting the same compensation because they're worth it. They save the company time and make it more productive. So why should they be paid what is effectively a much lower hourly fee?

      What's more, a lot of programmers, good and bad (but I suspect mostly good) have their own projects. In some cases, these are valuable boons to society that may have impact beyond what goes on at the job. If we exhaust our workload before the 8 hour day is up and no one has any additional work to give us, there's no point in keeping us in the office for the rest of the day when we could be working on more productive things. I used to work in a place where I did work for about an hour a day, went around begging for more for another half hour, and gave up and read Godel, Escher, Bach the rest of the day, telling people to let me know when there was more work available. I improved everything I could on the slightest pretenses to create more work for myself, but it just wasn't enough. This went on for about 3 months before I called it quits.

      To summarize, stop trying to bring everyone down to the same level and learn to appreciate the people who make your organization move - or they'll eventually leave out of sheer boredom.

      As an aside, you can just mentally approximate integrals with sums (and often replace those sums with closed forms of series) rather quickly - it's more a trick of the math than any special ability.

    33. Re:Appeal by radtea · · Score: 1

      Point is that what a great programer is depends on the environment they are going to be working in.

      This can be turned around a little bit: you can attract great programmers by having a great programming environment. Process-driven without being stifling, design-focussed without being impractical. All code to be documented with explanatory comments and short design docs, and summary dismissal of people who prove unable to do so. Critical code to be well-reviewed against a clear and cogent coding standard. Emphasis on reuse and refactoring. Few, generally small, focussed meetings with agendas (a meeting without an agenda is a meeting without a purpose). Offices with doors that close. Daily builds. Stuff like that.

      These things aren't rocket science, but in my experience only the great programmers really get them. They understand how much more there is than just writing code. Average programmers can live with them, and may reveal their hidden greatness. Bad programmers will shun a process-driven shop, as they'll see it as wasting too much time on irrelevant stuff.

      The specifics of the process matter less than having one. There are a variety of ways of reliably producing maintainable, robust code on a relatively predictable timeline. Part of any good process is respecting developer's estimates and taking the time/features/resources trinity seriously. "Rapid Development" and other books covered this stuff ten years ago.

      --
      Blasphemy is a human right. Blasphemophobia kills.
    34. Re:Appeal by Metasquares · · Score: 1

      This was my experience, starting when I was around 8. Couldn't be bothered to complete my homework once I understood the concepts, turned to programming instead, and wrote a pretty impressive app for a 12 year old, complete with a crude version of what would later become known as a "web service". My high school grades were poor, so I ended up going to a really easy college and graduated valedictorian without breaking a sweat (especially because I had already been programming for a decade while everyone else was working on their homework!) The education I received in college wasn't great, but I heavily supplemented it on my own and emerged very well prepared for grad. school. I guess the message is that you're going to miss people if you only look at certain schools.

      It wasn't OSS, but it was still coding.

      And hiring people who all think the same way is, in general, a very stupid idea. That's a lot more likely if you hire people that are all taught by the same professors because they've all been taught to think about problems in the same manner.

    35. Re:Appeal by Metasquares · · Score: 1

      I have one rule on process: it isn't a substitute for talent.

      The firm that realizes that is golden in my book.

    36. Re:Appeal by Brian+Gordon · · Score: 1

      Uhhh that job sounds awesome, why would you quit? I've been reading GEB during lunch for months and I'm only half way through o_o

    37. Re:Appeal by TekPolitik · · Score: 1

      Why not just hang outside the doors of Google, and try to catch the 'superstars' either already working there, or on their way in to interview for a job there.

      Depends on the type of superstar you're after. Google has lost a lot of it appeal so the more ethically constrained superstars by reason of being evil, such as by their now very aggressive pursuit of patents (not the only problem). In one degree it's worse than Microsoft - it's one thing to be evil, it's entirely another to be evil when your organisation is founded on the idea that you shouldn't be evil. I would now regard employment with Google to be selling my soul just as much as (and perhaps more than) employment with Microsoft.

    38. Re:Appeal by Metasquares · · Score: 4, Insightful

      Being given nothing for 7 hours a day - and being prevented from filling that time with your own productive work - will make you want to scream out of simple boredom after only a few weeks. I would often struggle just to stay awake. It sounds great, but it was awful.

    39. Re:Appeal by code4fun · · Score: 1

      I agree. Having done it for 20 yrs now, I see a lot of cut & paste style programmers. The sad part is this type of programmers are unable to solve things on their own. If one just blindly copy code, one may end up with bugs sprinkled everywhere. If someone is there to show them how things are done, you generally end up with better quality code. Now, having a bunch of Prima donnas probably isn't a good thing, either. Like all things in life, knowledge and learning is never ending.

    40. Re:Appeal by SanityInAnarchy · · Score: 3, Insightful

      who can forge hard-working programmers into good and hard-working programmers.

      Not going to happen unless they were already decent. Not good, decent.

      Let's take an example from my interview... How would you check that a string is a palindrome?

      A clever programmer might do something like:

      sentence.reverse == sentence

      A programmer somewhat more concerned with efficiency might iterate over the string, character by character, comparing the first half with the second half.

      A more thorough, correct programmer would do either of the above, but stick a

      sentence.downcase!

      in front of it -- probably also strip out punctuation and spaces.

      And then there are the WTF programmers, who will do something like:

      i = 0
      result = true
      while i < sentence.length
      case sentence[i]
      when 'A'
      if sentence[sentence.length-i] == 'A'
      # yup
      else
      result = false
      end
      when 'a'
      ...

      Oh, and the above won't actually work as written, aside from being absurdly inefficient both in coding time and in runtime if it did work. The amount of effort it would take to mold someone who would actually write the above into a decent programmer is not worth it.

      Compare that to someone who wrote the first example (sentence.reverse == sentence) -- remind them about whitespace, punctuation, and capitalization, and they'll be able to work it out.

      Now, absolutely, if you can't do this stuff yourself, hire someone who can. That part is tricky, but the complaint of the original article was not that they didn't know how to find any good programmers (or even superstars), but that they couldn't find enough.

      And absolutely, one "star programmer" is not as important as a team that works well together -- but a "star project manager" isn't a silver bullet either.

      --
      Don't thank God, thank a doctor!
    41. Re:Appeal by Thornkin · · Score: 1

      How does a PhD make someone a good project manager? A good project manager is going to be someone with a lot of work experience. You don't learn to be a good manager in graduate school. Getting the PhD just takes time away from that experience. A PhD could be a good manager, but so could someone with a masters or even just a bachelor's.

    42. Re:Appeal by Cybah · · Score: 1

      IMHO personality is the single most important aspect of a superstar programmer: everything else about their abilities stems from here. If a person's brain is wired to be good with technical subjects, is intellectually curious, and has the drive/motivation then they have the potential to be one even if they don't yet have the experience (learned skills). Second to this is experience, which can help productivity if it's in the right area. However, a person with little experience (in a specific area or in general) will fall back to their ability to learn (personality, intelligence).

      Also, I guess that "superstar" is very dependent on how a person is measured and could be based on goals. One goal might be to meet a deadline by trading code quality. Another might be to spend as long as is necessary to write quality code, where quality is environment dependent: high performance, high maintainability etc etc. However, drive to meet goals and the ones that are important to the person paying the wages, is also a factor of personality.

      There are many ways to measure personality/intelligence and a lot of companies do perform psychometric testing, hopefully for the reasons I've mentioned above. OCEAN (personality), Cattell (intelligence) are only two of the many commonly used formal tests. Of course there are less formal performance indicators such as recommendations, first impressions, how well someone articulates their subject. As with everything, YMMV and you have to look at a the combination of a specific person's personality, experience and the environment you'll put them in.

    43. Re:Appeal by puggsincyberspace · · Score: 2, Interesting

      What a load of crap. Ok, you pay the medioca programmer the 2 hrs to do what takes a superstar 10 minutes, your deadline is 1hr, with the superstar, you have 50 minutes to test it and you still met your deadline.

      The reason why superstars get the big money, is because they do it faster, better and in most cases without bugs. They write it, they test it, they give it to you and then go make coffee while the other guy is still trying to work out what you wanted in the 1st place.

      From what the original poster said, he doesn't care about the $s, he wants someone that can work on problems that someone with experience and the ability to look at problems from different angle and solve them without fuss.

      I have been programming for 20 years before i actualy got a Master of Technology (Software Engineering) I and another guy graduater at the same time, got a job in the same place doing slightly different projects, he last 1.5 months and could not compleat his project, they put me on it and 1.5 weeks later i done more than he did in the 1.5 months. Needless to i kept my job (well up untill i left for one that paid twice as much).

      so paying for a superstar may cost more by hour, but it could save you money and reputation in the long run.

      Puggs

      --
      Access Point Live Mapping Access Points with Google
    44. Re:Appeal by Icarium · · Score: 2, Funny

      Billing 2 hours for 10 minutes? Pfft. My last piece of 10 minute code cost our client 3.5 days. Then again, I don't do the billing, so I couldn't care less.

    45. Re:Appeal by SageMusings · · Score: 2

      You're making me blush....stop it.

      --
      -- Posted from my parent's basement
    46. Re:Appeal by xero314 · · Score: 4, Insightful

      I have one rule on process: it isn't a substitute for talent. I have on rule on talent: it isn't a substitute for process.

      The firm that realizes that is golden in my book.

      When it comes to any form of engineering I would take a good process over any amount of talent. Talent is what I want in an artist not someone building complex technical devices (including software). Yes it would be nice to have both, but if you have to give up one don't make it the process.
    47. Re:Appeal by Belial6 · · Score: 5, Insightful

      You touch on a piece that is often missed. It is a bad choice to only hire 'superstars'. Quite simply, not every problem is going to be interesting. There is very often going to be grunt work, or simple things that just need to get done. Your 'superstars' are going to get board really quick when they have to do grunt work. You would be much better off, hiring people of various skill levels, make sure that they know where they are, and match up really good developers with some that are not as good. Of course, to truly be a 'superstar', you have to be able to understand and appreciate the contributions that those with less coding skill often bring to a project.

      At my work, I am teamed up with another developer that will simply never be a 'superstar'. She consistently needs help on code that is just not that difficult for me to write. That being said, she is immensely productive. She knows what level of code she can handle, and she does a LOT of work that, while I could do if need be, I would be far less interested in than the work I do. This would lead to lower quality code, and job dissatisfaction. Her presence on the team gives far more to the company than any 'superstar' could bring.

      The key is that she knows what she does well, I know what I do well, and we appreciate each others contributions.

      Now, maybe the question wasn't about 'superstar' coders, but in employees in general. If so, it didn't come off that way to me.

    48. Re:Appeal by TapeCutter · · Score: 1

      "a lot of the best coders I know have no CS experience and even have to Google for a lot of their standard library calls"

      You have been mislead, computer science is not about API's. The CS degree I have had for ~2 decades was a 3yr basic science degree + CS + software engineering + operations research. Having said that, I have also worked with many good coders who started from a musical background programing MIDI devices, or an electronics background programming IC's, etc.

      And never EVER EVER put a math/science person in charge of any sort of UI, no matter how good a coder they are.

      Yeah, because they have no idea how to visualise complex data sets. /sarcasm.

      Seriously I'm not picking on you personaly, too many of the posts on this story commit the same error as TFA by pigeon-holing people into the standard stereotypes, such as 'super star', 'code monkey', 'script kiddie', etc. Newton's "shoulders of giants" comment applies to computer science/programming as much as it does to maths/physics.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    49. Re:Appeal by jandersen · · Score: 1

      Great programmers work for who they want, on what they want. They take getting their personal needs met for granted, but they have grand ideas about things they want to see realized and not enough money of their own to do it. Blah. That sounds like a quote from a cheap B-movie. In the real world great programmers work. Period. They are not a sort of demi-gods who can command the world around them, they are modest, hard-working individuals, with a lot of practical and theoretical knowledge and a passion for what they do. What you are describing is a conceited, arrogant twit, who is more likely to steal the show from others than actually achieving anything himself.

      Great people want strong leadership that will help them achieve beyond what they can do alone. Whoa, boy, you should stop watching all those second-rate movies and get out in fresh air once in a while. The people that want strong leadership are the people who can't find their own way in the world; they are not 'great', they are what the Chinese call 'insignificant'. You sound like you aspire to be some sort of cheap dictator.
    50. Re:Appeal by gfody · · Score: 4, Insightful

      Indeed. However, replace "superstar programmer" with "competent programmer" and the question is still sadly relevant.

      --

      bite my glorious golden ass.
    51. Re:Appeal by gfody · · Score: 1

      You read GEB in an afternoon?! You must have skipped the boring part

      --

      bite my glorious golden ass.
    52. Re:Appeal by Rakishi · · Score: 1

      Yeah, because they have no idea how to visualise complex data sets. /sarcasm. I've seen some lovely ways of visualizing things that would make absolutely no sense to someone who doesn't have experience with that way of visualizing things. Hell half the diagrams I make to explain things make no sense because the way I see things is apparently not how most of the rest of the world sees things. It's like making a dvorak keyboard for something (say shopping mall web terminal) because you find it faster without realizing that 99.9% of the users can only type well on a qwerty.

      Also there is a difference between visualization and UI but that's less important.
    53. Re:Appeal by try_anything · · Score: 1

      Not to mention that the ten-minute solution contains proportionally less code, less complexity, and fewer bugs than the two-hour solution. Scale that up to two weeks versus six months, and you're looking at a small, clean piece of code you can forget about versus a big project that requires frequent maintenance. Mediocre programmers create complex, expensive solutions.

    54. Re:Appeal by Cecil · · Score: 3, Interesting

      You burn people out that way. Instead, turn down the guy who can do integral approximations in his head and hire the guy who took an hour but did it all on paper without taking a break.

      There's a recipe for disaster. When the pressure is on, the guy who's gonna crack is the one who spends 12 hours methodically searching through the code for the point where the data is becoming corrupted, instead of the guy who knows intuitively that the only place the data is in a state where it might get corrupted in that particular way is in function X in file Y. You don't burn out from doing integrals in your head. You burn out from working harder than you're reasonably able to, for longer than you're reasonably able to. I think the second guy is in danger of that much more than the first guy.

      they'll do their work in 10 minutes and bill you for 2 hours because that's the time it takes for everyone else

      Seems perfectly reasonable to me, unless you're also getting paid superstar hourly wages. If you get paid the same as everyone else, why does the company magically deserve more out of you than they deserve out of everyone else who they pay the same? You don't get extra talents for free, I am not a package deal. You get exactly what you pay for.

      A bit passive aggressive you say? Certainly, it is. I should hold out for however much money I feel I am worth and give them 100% of my ability. But life isn't perfect, we've all worked our share of shit jobs for shit pay because sometimes the situation demands it. Anyone who busts their ass for shit pay is naive at best. There's no reason or motivation to do so. I'm not saying you should be a lazy asshole, either, you were hired with the expectation that you would achieve a certain level of performance, and you should meet that expectation, that's your responsibility. You are getting paid after all, even if it's not as much as you think you're worth.

      Personally, I do get superstar hourly wages, and I do my work accordingly. Some companies are smarter about how this works than others. Most companies realize that even on salary, my pay rate comes with the expectation that I will only be working, on average, about 40 hours a week. Yes, I am on call at all times and always willing to fix problems as quickly as possible. But that doesn't mean I start working 80 hour weeks for free just because IT decides they're going to spend the next month installing a new topology for the database cluster.

      And before the rest of you start, yeah, go ahead, make your jokes about how I'm going to get canned in six months. I won't. But if it makes you feel better, keep thinking that.

    55. Re:Appeal by Yetihehe · · Score: 1

      Well, it works ok in company where I work. I had this superstar programmer role in some projects and I know it really works. Superstar programmer lays out fundaments of project and helps normal programmers when there are major problems. Then normal programmers do much of the work, and rookies make things which are boring for normal programmers (like inputting milion sql entries to database, because it would be too long to develop tool which could do it automatically).

      --
      Extreme Programming - Redundant Array of Inexpensive Developers
    56. Re:Appeal by elloGov · · Score: 1

      Third year, programming, I can attest that I outperform, out-design and outwork most programmers at work and I work for a huge and reputable corporation (I am just about ready to move out of this big corporate structure). I pick up things very quickly, am a generalist, I can find a creative innovative solution to any problem. I don't keep notes, memorize textbooks, chapters, etc. What one learns in 2 years, I learn in 1 month. However, being a non-CS major and no official training, having dropped out of High-school, GED, average state-school degree, with no "eye-popping resume builder"; I am unlikely to fit the suit of an "ideal candidate" for a competitive "exciting" Superstar Programmer position. As far as I am concerned, the day I fit that ideal candidate position for such jobs, I won't be looking for jobs. You can argue that being the ideal candidate on paper is a sign of weakness. If you have such stellar background, why the fuck are you interviewing? Are you a bookworm? Have you memorized books? Are you purely a hard-worker? Are you just ambitious? Maybe, you know how to sell? I have a huge passion for learning and I am highly unorthodox. Here is my advice: If you are going to interview people following same old procedures you have read about or seen, don't waste your time, because you already made your mind up on who you are looking for before the person walks in. This is why the interview process is worthless in further identifying qualified candidates. Be unique and customize your own interviewing process. Forget the formalities, forget the same old cliche questions: "Tell me how you overcame adversity!" uhhhh "Are you a team player?" I mean come on, all you are asking anyone to do is just act for however minutes this stupid pretend ideal session lasts. Lastly, look for the hidden gems, it's by far your best return on investment. Nothing in my resume says Ivy League, Rockstar, Wow, but I am one capable son of a bitch! These are my thoughts on JUST the interviewing (finding) process. Then you have to keep them!

    57. Re:Appeal by DrColin · · Score: 1

      I won't comment on the 'superstar' tag, but I would class myself as an 'above standard' programmer who produces roughly 5x the work of other programmers in the company and my code is a lot more reliable than that produced by other programmers in my company. I also have close ties to other high-quality programmers so I have some idea about how 'we' feel when it comes to searching for new jobs/employers. I have also some minor experience in looking for new programmers (I have had to recruit circa 20 programmers to my team) and so I know how it works from both sides.

      Personally, I do not have the time or the patience to go around looking for work, I am happier to submit my CV to a few recruitment agencies and let them do all the hard work. For me, this has not been so successful, mainly because I think many employers get a shock when the see the salary I expect (especially after the agency fees have been added).
      As mentioned in other comments, advertising on interesting websites (like slashdot) would be a great idea. I actually find our best recruitment comes from adverts in the local daily paper (these are not necessarily read by the programmers, but friends and family tend to pass these things along. I would also suggest putting some idea about the payscales in the advert to show you are serious along with catch phrases like 'superstar programmer needed'.

      Another issue I find is convincing management that such programmers are needed - I find they tend to like cheap labor - i.e. kids straight out of tech-college who are happy to get their first job and will not expect good pay or working conditions. In my experience, what tends to happen is programmers are recruited to the lowest level and then if they are any good, they quickly get promoted and 'pampered' as they become essential and management starts to fear about losing them. This, however, leads to a situation where many experienced programmers simply get tired of looking for a new job (as they are only offered these 'starting positions' with bad salaries/conditions) and simply give up and stay where they are (another reason for putting payscales in any kind of advertising)

      With regards to various comments that say take on beginners and then weed out the bad ones - I can tell you that many of my projects have had serious problems exactly because of this. What happens is that you end up with some junk code that needs constant support (or totally rewriting) and as time goes by, the cost of the support far exceeds the cost of hiring at a slightly higher rate. There are, however, some advantages in having two poor programmers instead of one good one working on a project (you have redundancy if one decides to leave or gets ill and neither feels essential enough to demand better pay/conditions) - so I would never suggest leaving a single programmer (no matter how talented) working on a vital piece of code.

    58. Re:Appeal by Moochman · · Score: 1

      I see that modesty is also one of your strengths.

    59. Re:Appeal by Moochman · · Score: 1

      Ok, sorry for the above sarcastic comment, it's Slashdot here and I just couldn't resist.

      I guess I am getting at something, though. I understand that since you have no official training maybe you've gotten fed up over the years with employers that emphasize that. But I think your whole deal with "don't ask me if I'm a team player" and "I'm very unorthodox" is not going to bring you too many brownie points when the time comes to actually, well, work with others.

      You may be the best programmer in the world, but that's not the only key to success. Having some humility and respect for others, even if they have much more conservative values than your own, is also an important skill.

    60. Re:Appeal by Moochman · · Score: 1

      On point 1, you are to an extent right, a bit of humility can't hurt.

      On point 2: "The people that want strong leadership are the people who can't find their own way in the world; they are not 'great', they are what the Chinese call 'insignificant'."
      I don't think it's too much to ask for by wanting strong leadership. True, it can't hurt to be able to manage on your own in the absence of such leadership (in fact that might lead you to becoming such a leader yourself). However, if your leadership is incompetent and fails to coordinate the team, I doubt the job would stay satisfying for very long.

    61. Re:Appeal by CortoMaltese · · Score: 1

      You would be much better off, hiring people of various skill levels, make sure that they know where they are, and match up really good developers with some that are not as good. Of course, to truly be a 'superstar', you have to be able to understand and appreciate the contributions that those with less coding skill often bring to a project. I would like to add that by mixing talented programmers with programmers with potential, you'll be able to cultivate your staff. I've been programming more than half of my life, and I've got a M.Sc. degree, but the best boost to my programming and software engineering skills came from working with some truly amazing coders.
    62. Re:Appeal by garatheus · · Score: 1

      A little late on the comment band-wagon, but I completely agree. One of my friends is a super-programmer that has had no formal qualification in programming, and has no books in his house on programming either. But he's pretty much proficient in C++ / Delphi / Java / ASM and has helped me a couple of times when I was a newbie to programming and teaching myself PHP. Looking back on my own experiences, it was only through trial and error that I became a better, if not good programmer. Now that I'm actually lecturing programming to various levels, am I becoming even more aware of the "better" ways of programming - and the more advanced technologies at our disposal to make use of. As a developer, I used to always worry that my code wasn't "up to scratch", because while it worked, I was just scared that it didn't work in the right way. Now that I'm more familiar with a variety of languages, I feel more confident with my ability to program, and am prepared to use more advanced techniques in my programming because I better understand what's going on at a low level. Going through 4 years of varsity was a bore: I bunked lectures and spent a fair portion of my life in an alcoholic haze. The subjects, even the advanced ones, where easy to do, even when drunk. While the degree wasn't necessarily a waste of time, I find that lecturers have to slow down and hold back on the advancement of the whole class when people don't understand a topic or an idea related to programming. Here in South Africa I find it especially bad - I've lectured a couple of classes where third year students don't understand the basic principles of an array or object - things that are meant to be (and I'm currently teaching) to first year students... So obviously there is some lack of effort (and a lot of cheating) that goes on...

    63. Re:Appeal by AGMW · · Score: 2, Insightful
      You would be much better off, hiring people of various skill levels

      I was really lucky to get a job in a fantastic company writing Newsroom systems as my first job out of university. I was amongst some incredibly talented programmers and therefore didn't really rate myself as a "good programmer" at all. Upon leaving the company it turned out I was actually well above average - mostly down to a good CompSci degree giving me the basics and working with a team of very good programmers who were all ready, willing, and able, to pass on their programming skills!

      You need a range of skills within a team to allow people to learn. You will always have the top dog who helps everyone else - and you all know who it is at your work, the go-to-guy. People always fear these people leaving - oh what will we do if so-and-so leaves ... you don't need to worry because someone else will step up to the plate to carry the torch.

      Logica, in the UK, went through a phase of hiring graduates from anything other than CompSci courses - I worked with an English Graduate who Logica had retrained, and he was a top programmer! But programming isn't about knowing the language syntax, it's about how you approach a problem. I sometimes wonder if you actually want lazy programmers - so they write the code well first time so they don't get called out at night to fix things! Write the code as simply as they can, so when they return it's easier to understand what they were doing!

      --
      Eclectic beats from Leeds, UK
      handmadehands.co.uk
    64. Re:Appeal by Simon+Brooke · · Score: 4, Insightful

      Moreover I'd say looking for good programmers in general is going to make you SOL for the most part.

      I'd pose to you a give-a-man-a-fish metaphor. Why work on finding good programmers when you can find a good project manager - probably with a PhD - who can forge hard-working programmers into good and hard-working programmers.

      There's way too much mystique over "superstars" who bring their midas-touch of computation to a company.

      Frederick Brooks, author of the Mythical Man Month, wrote that good programmers are 100 times more productive than average programmers. That accords with my experience; I've been working in this game for twenty years, both as programmer and as project manager; I've seen a lot of average programmers, and two or three good ones. The whole ethos that programmers are grunts who work for and are managed by project managers gets the whole pyramid upside down. Even the best project managers can do nothing to improve the work of a good programmer, but much to impede it.

      Personally I'm still of the opinion that Frederick Brooks recommendation of the 'surgical programming' model is the best - you identify your star programmer, and everyone else works for them. Brooks recommended about five support staff for each programmer: a 'co-pilot', who worked in a sort of junior pair-programming role, essentially learning from the senior programmer; a librarian, who wrote up and managed documentation, looked after releases, and such like things; a tester, who just tested; a toolsmith, who built small scripts and utilities; an administrator, who handled business issues; and several other optional roles. Modern tools can automate some of these roles, but it's still the case that good programmers are so much more productive than ordinary ones that it makes economic sense to unload all the routine tasks off them to less able people.

      Good programmers really do make or break technical companies - they add far more to the bottom line than anyone else. And if you don't recognise that, you won't be able to hire them, you won't keep them if you do hire them, and you won't get anything like the full potential out of them if you do hire them. Keep your programmers in the dark and feed them on shit, as most companies do, and in a very short time you'll have no-one left but shit programmers.

      --
      I'm old enough to remember when discussions on Slashdot were well informed.
    65. Re:Appeal by JrOldPhart · · Score: 1

      Hmm, I've known, and worked with, a lot of PhD's and only one would i recommend for any position other than teaching.

      --
      Nothing is foolproof, fools are too ingenious. - Murphy
    66. Re:Appeal by mikael · · Score: 1

      The world is always moving forward. If you're not moving forward as well by advancing your knowledge of algorithms, designing and implementing systems, working with the latest versions of API's, you're moving backwards - vegetating, falling behind. Since no job lasts forever these days, this will make it far harder for you to find employment the next time round.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    67. Re:Appeal by cornercuttin · · Score: 1

      i've been searching this thread for someone who i thought had the same idea as me, and you are just about there.

      i think it is fair to say that most of us went to college (not all of us graduated, but most of us went), and i think this is where you start, and here is why:

      everyone who has done any programming in college, whether you were EE, CS, MIS, or whatever, had to program in a class where there was 1 or 2 guys who just "got it."

      i graduated with a computer science degree, and i will be the first to admit that i am not a "star" programmer, much less a "superstar" programmer (that's not to say i don't have my strong points, and that i am worth any less). i look back at the classes we would take, and while there were 48 or 49 of us in the class who were struggling, worrying about the deadlines, and asking each other all sorts of questions, there was always 1 guy (maybe 2) who had the project done the first night it was assigned, he did it in only 2 hours, and it was going to be better than anything the rest of us could put together in our 40 or 50 hours of work.that is the guy you want to hire. that is the superstar

      if you want the best of the best, go to colleges and ask the students "who is the best programmer? who is always setting the curve? if you could have the programming abilities and understanding of anyone else in your college class, who would it be?

      you would find your superstar, sitting in a class of normal kids, and all you have to do is offer him/her a lot of money, a good place to work, and some freedom to do things the way they want.

    68. Re:Appeal by NibbleAbit · · Score: 1

      I too am constantly looking for good programmers. I have tried (and still do hire) students. The problem is that they have not lived enough years to also have other life skills and experiences that are required for a good programmer. In my opinion, a good programmer needs to have enough experience to understand the context that the application will be used in. It's the full understanding of context that allows a good programmer to become an excellent programmer. Only experience can give the context. (Or a multi-disiplanary education which is unlikely)

    69. Re:Appeal by Ruphuz · · Score: 2, Informative

      You can't forge a sword out of cotton

      Yes you can. But you will need lots of cotton and lots of pressure.

      --
      My other post is a First.
    70. Re:Appeal by AmericanInKiev · · Score: 1

      RE" Shoulders of Giants.

      This assertion should not go unchallenged.

      I would grant that IDE and Languages often incorporate the lessons learned;
      However, in the context of the question - which is presumably "working on interesting problems". I'm not persuaded by a naked quote alone, that inspiration is most likely to be dispensed in a classroom setting.

      Classrooms, in my experience, are an awful way to learn a language. Living in a country however, and particularly growing up in one, is a far better approach to acquiring effective language skills.

      Programming may well be closer to a linguistic skill than it is to a scientific one.

      It may even be that schools lodge programming into a "rational" framework, perhaps even a logical part of the brain; while learning by doing, may instill the skillset into a more fluid and instinctive manner. Human language is taken to be an adaptation of neural constructs previously optimized for mapping. If language is a different skill than "Science" & Math, It may make a great deal of difference whether programming is acquired "by doing", or by "instruction". Language may be described as a series of rules, but only in retrospect: for native speakers, language is largely inexplicable, meaning it exists in a framework which is super-rational - a framework which is more highly performing in terms of speed and depth, than purely rational thinking. I play several instruments, and while I know a variety of "rules" and the mechanisms of each instrument, the actual playing of the instrument cannot be performed by a process of contemplating these rules. The playing of an instrument must be fully subsumed into the mind, such that the "tool" can fairly be described as an extension of one's body - requiring very little real-time cognitive thought. This allows the performer to concentrate on the higher-order aspects, volume, tone, temp, expression etc... Perhaps by analogy, good programmers are able to commit certain programming tasks to the sub-conscience level, and as a consequence maintain focus on architecture etc... In a multi-threaded world, being able to visualize the chaos without function charts, being able to evolve objects with a balance of simpicity and code reuse. These are quite probably capabilities which, while they can be spoken of in a classroom, can likely only be absorbed by significant utilization and practice.

        - So while "Shoulder of Giants" implies that we should study our predecessors - I would argue that "practice" makes perfect, and that the analogy of a musical talent, may be more important, to the success of a project, than the analogy of "scientific principle". Your mileage may differ.

      Best,
      Aik

    71. Re:Appeal by Metasquares · · Score: 1

      You missed the part where I said I did it for 3 months? You must have skipped the boring part :)

    72. Re:Appeal by Fozzyuw · · Score: 1

      I disagree. Some of the best programmers I've ever met never had official training in a computer field.

      Curious, but what is it that you disagree with since I never wrote that they needed official training in a computer field?

      --
      "The past was erased, the erasure was forgotten, the lie became truth." ~1984 George Orwell
    73. Re:Appeal by rjhubs · · Score: 1

      But even an average programmer will remember to use sentence.equals instead of ==

    74. Re:Appeal by Flodis · · Score: 1

      Have interesting projects that push boundaries and you (or your co.) moves into the grapevine....
      Agreed, but I think you have be careful about how you present it. Presented wrongly, this may be a magnet for all kinds of people, not just the super programmers. Stacking buzzwords, for example, will have a strong attraction on salespeople, recruiters and newbies, of which only the newbies are interested in a job. Plus it will make you look like you don't have a clue.

      On the other hand, I think 'quality' attracts good programmers. Being good at something implies that you do it better than most others. For this to happen, you have to 'invest' in what you do, and this in turn implies that you have to care about it. When you care about building something, you don't just mash it together and go home at 5. So... You look for organizations that can help you raise the quality of what you do...

      Some things I would be looking for
      - The organization has internal structures for continuously improving the competence of its workforce. Mandatory education/conferences/camps/hired speakers etc.
      - You don't work alone. Exchanging information with other programmers is a very good way to learn new idioms and patterns. Having a discussion partner on the same level as you may help when you program yourself into a corner. (Yes, I admit, I do that)
      - You get to talk directly to the customer/end-user/orderer and don't have to go by second-hand (or worse) information.
      - The sales department doesn't get to promise both functionality and deadlines. (Yes, had that happen to me in my last job. I resigned after a few months.)
      - Not having a noisy environment where you program.

      The items on the list are sure to be disputed, but I'm pretty confident about 'quality' being the main thing.

      Oh, well. My 2 cents.
    75. Re:Appeal by cayenne8 · · Score: 1
      Patents themselves aren't inheritly evil....just that many ones are wrongly accepted by the Patent Office.

      And besides....it's only the money. We're all guns for hire. Give me lots of $$...and tell me what you need done. I'm cool with it. I mean, it isn't like we're killing puppies or something.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    76. Re:Appeal by Evil+Kerek · · Score: 1

      Let me guess - you are a jaded co-op/intern that picked a bad company to work for? Or are you just narrow-minded? This sort of stupidity has a root from somewhere. Ah...devalue the programming profession. Now I see - you must have gotten downsized at some point or something along that lines. You sure got some bitterness coming from somewhere.

      Co-op programs are the BEST way to get ahead. You come out of college with real experience (assuming you pick a good employer) To suggest it is a one-way street is simply absurd. Seriously, dude, where in the WORLD do you get your information?

      First off, they are going to be naive of things whether they take a co-op program or not. So that's irrelevant. In fact, I'd counter that getting a job at a corporation (I co-oped at IBM back in the 80's) gave me a great view of the real world (I learned I didn't want to work at IBM) and allowed me develop inter-personal skills in the real world. It didn't hurt to have IBM on the resume either.

      Cheap labor...I don't where he said 'Start a co-op program and don't hire any of them.' In fact, he said the opposite - cherry pick them. And that's a completely valid idea - I mean, wow, let's reward the hardworking intelligent folk. I realize that seems to go against the grain these days, but hey, try to keep an open mind.

      Your entire premise is flawed. Co-op/internships bring something to the table for both sides and are good for the industry.

      EK

    77. Re:Appeal by Beliskner · · Score: 1

      I won't even touch the fact that you are basically advocating the widespread use of cheap labor (interns/co-op students) as a really, really, really good thing. I mean, I work with some smart, young guys .... and in addition to their intelligence, they are also possessed of a naivete about how things REALLY work that REALLY limits their utility and value, amongst other severe flaws unique to the TALENTED young professional. Furthermore, trying to devalue the programming profession, in this way, such that it turns into Mexican day labour REALLY isn't the way to find programming superstars ....

      There is a fanaticism in corporations about experience, and these poor graduates are penalised as a result. Sad, I have no idea where this big "experience" thing comes from, and how much talent Capitalism just wastes by underemploying intelligent young people in McJobs and letting only a small minority through into Banks/engineering/professions.

      I am sure "aging" can apply as well as "experience", experience only selects people that have kept the same type of job for a long time. The naivety of young people is incredible, they believe that Capitalism is somehow fair in allocating money to superior engineering, this only happens in Sony, that's why people prefer to buy those products, but not in American corporations. Young professionals learn, that way they become veteran professionals, everybody started off as a baby once, and there is not one baby l33t cod3r.

      --
      A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
    78. Re:Appeal by plague3106 · · Score: 1

      RIT and Northeastern have pretty strong output. You might try them first.

      As an RIT alum, I'll vouche for that school. :-)

    79. Re:Appeal by KevinIsOwn · · Score: 1

      Now clearly I am a bit biased considering I am sitting in building 12 of RIT's campus waiting to take a final, but hear this out since I'm about to graduate from here and think it is somewhat better than "worthless"

      Your argument seems to come down to the fact that co-op's naivety about how things really work limits their usefulness, and the idea that co-ops are being exploited for cheap labor.

      First, co-op's obviously get paid less than everyone else, but the idea that it is a form of exploitation is absurd. I have come out of all of my co-op's with a good amount of money, and at the same time have learned lots of valuable information that I wouldn't have ever learned in a class, all at the same time being able to try out different companies in the job market without having a commitment to them. Unless the student is getting paid minimum wage (which, by the way, RIT won't even allow), the student is gaining lots of valuable experience from the co-op. Also on this point, you undermine your own argument by saying these employees have inherent flaws. Well if they are flawed, then clearly an experienced employee has a better chance of getting the job on the job market and there is no problem with having co-ops taking jobs. Any programmer who is mad about a co-op taking their job was clearly not qualified enough to do their job anyway, and was therefore replaced.

      Second, having co-ops allow students to break the idea of naivety that is so apparently so pervasive and damaging to young people. By going from company to company, not only do all co-ops have a chance of hitting a stinker, they also get to see different people in different environments. There is no better way to see how the world works than by being thrust into it, and most co-ops will see 2-4 different companies which have vastly different work environments. This means many will have a chance to shed their naivety about the work world before, or sooner after, graduation.

      Finally, you mention flaws related to young professionals. (without ever mentioning what they are, except for naivety, for which you never said why that actually harms the effectiveness of an employee) Assuming that these flaws exist, how exactly does a non-co-op university solve for this? These flaws are clearly inherent in young people and if experienced developers don't have them, then it is a matter of businesses identifying and teaching young programmers about these flaws and helping them to overcome them. If nobody ever tells young programmers their problems, don't ever expect those young programmers to improve and become experts.

    80. Re:Appeal by sjames · · Score: 1

      Yes you can. But you will need lots of cotton and lots of pressure.

      If you do that, there will be significant outgassing and the resulting sword will be terribly brittle. It may cut quite nicely once or twice, then it'll go to pieces. :-)

    81. Re:Appeal by sjames · · Score: 1

      There aren't any. Just people who work hard at something that they're good at.

      You just haven't met any then. Like anything else, some people are more talented than others. Some people work very long and hard cranking out passable code, others seem to be doing very little, but the code they produce does more with fewer bugs and is even maintainable. The best even know when it's time to think long and hard first and when it's OK to just pound something out.

    82. Re:Appeal by ganley · · Score: 1

      Exactly. In "On Writing," Stephen King says something to the effect that you can teach a decent writer to be a good writer, but no amount of teaching will turn a good writer into a great writer. Same goes for programming, and probably most any other endeavor as well.

    83. Re:Appeal by Eivind+Eklund · · Score: 1
      An above average programmer might also notice the use of ! in the other identifier (downcase!) as something that isn't valid Java, and then drop their assumption that the code was Java. (I would guess it was supposed to be Ruby code, in which case it is valid.)

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    84. Re:Appeal by evil_aar0n · · Score: 2, Insightful

      I concur. The worst job I've had was with a company where the pay was Ok, the people were nice, the commute acceptable, etc., but the work was mind-numbing. "I went through x years of college for this...?" That gig didn't last long, but longer than it should have.

      On the flip-side, one of my favorite jobs was with a small company, great pay, sadistic boss, slave-driver-like work pace, terrible commute, but interesting things on which to work. I don't mind working hard, so long as I'm not bored.

      --
      Truth, Justice. Or the American Way.
    85. Re:Appeal by Brandybuck · · Score: 1

      But a good process is just as hard to find as a good engineer. A process increases software quality, but at the expense of productivity. You have to find a working balance. There are way too many people in uppper management who do not understand this, and will institute overwhelming processes that do nothing more than kill projects. These managers never get fired for their decisions and the layoffs happen at the bottom.

      When you start focusing on the paperwork and collecting signatures, you've gone too far. The focus needs to always be on writing the software. The highest quality software is the software that is never written. How can there be bugs with no code? But that way lies madness.

      In my last job, we were bought out by a company who went insane on processes. In three years we did not release a new product, and only managed three cosmetic releases for two existing products. Before the buyout we were number one in the field, but at the end we were dead last. That's what the process did to us. But it was a magnificent process!

      --
      Don't blame me, I didn't vote for either of them!
    86. Re:Appeal by gmack · · Score: 1

      The "college graduates" part..

    87. Re:Appeal by xero314 · · Score: 2, Insightful

      I have on rule on talent: it isn't a substitute for process. Clarification on my previous comment.

      I have on rule on talent: it isn't a substitute for good process.

      But the point I was actually trying to make, and I think most people got based on the moderation, is that anyone who thinks they are talented enough to not need a good process is not nearly as good as they think they are.
    88. Re:Appeal by bartappleous · · Score: 1

      Oh so are looking for an experienced programmer, and you came to Slash dot to recruit? Are you sure you want to hire Star Trek nerds and High Brow Curmudgeons.

    89. Re:Appeal by TekPolitik · · Score: 1

      And besides....it's only the money. We're all guns for hire.

      Not all of us - that's where ethics comes in. A person absent ethics is a gun for hire without conditions. A person with ethics seeks to make sure everything they do has a positive (or at least no negative) impact on the world.

      Patents themselves aren't inheritly evil.

      Sorry, but a system that penalises people who come up with the idea innocently, on their own and without any knowledge of (or derived from) the patent most certainly is inherently evil.

    90. Re:Appeal by Metasquares · · Score: 1

      As someone who is looking to one day start a university, I would be personally interested in knowing how you propose to fund one without charging tuition.

    91. Re:Appeal by xero314 · · Score: 1

      First of all in all the cases you are refereeing to, Brooks was just repeating data or suggestions made by other people. The data about programmer productivity comes from Sackman, Erikson and Grant and shows that a good programmer is 5 to 10 times more productive than the worst performers. This means that on average a good programmer is on 3 to 4 times more productive than the average developer which is a far cry from 100 times, but still significant enough to take note.

      The Surgical team concept was devised by Harlan Mills, or at least that is who Brooks is referencing. Mills suggest a team of 10 people including 2 programmers and 8 support personnel. It's true in later essays Brooks admits that some of those support personnel could share duties or even obsolete because of current techniques, but he's certainly not talking about 1 surgeon and 5 assistants.

      Brooks essays are actually a manual for how a good project manager, as he was when he gathered the experience necessary to write the essays, to get the most out of architects, engineers and developers. He states very clearly that it takes a good project manager to create an environment in which developers can be most productive. Yes a good programmer is going to be more productive than a bad programmer, specifically so if you measure of a good programmer is based on productivity.

      Carrying around a copy of TMM-M pays of again. Almost as useful as carrying around a copy of constitution.

    92. Re:Appeal by Metasquares · · Score: 1

      If the school stops receiving income, that money is going to run out very quickly. Relying on fixed savings is not a fiscally responsible or sustainable model.

      Schools do get income from other sources - endowments, grants, alumni donations - but it doesn't scale with the number of students they bring in and it isn't sufficient to fund the university's operations, else they would not require tuition.

      The majority of universities are non-profit organizations. They're not charging tuition to rip students off. They're charging it because they need the funding for their continued existence and growth.

      And the more universities exist, the more educated the population becomes, the more scientific research gets done, and ultimately, the more society benefits.

    93. Re:Appeal by geekoid · · Score: 1

      "absurdly inefficient both in coding time and in runtime if it did work"

      most compilers will deal with that sort of code in a way t make it more efficient in the run time.

      However, the real absurdity is that someone would actually ahve tow rite that in this day in age. Really, it should be done and put in an engineering book.

      It is really frustrating to me that the software industry refuses to grow up.

      A real programmer would see that uselessness of the exercise, and demand a lot of reasonably sounding specification which would inevitable end up lost in some managers inbox some where.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    94. Re:Appeal by geekoid · · Score: 1

      I can! just hire me for 250K and a 5Million Euro parachute and I'll show you how it's done.

      No, I am not in Europe, but I'm not fool!

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    95. Re:Appeal by puggsincyberspace · · Score: 1

      yes i do, but it keeps trying to spell everything in Americanese, so i just get the s*** kickers to spell check for me. :) Puggs

      --
      Access Point Live Mapping Access Points with Google
    96. Re:Appeal by TapeCutter · · Score: 1

      Programming may well be closer to a linguistic skill than it is to a scientific one

      Yes, you must first understand 'the problem', but that is the 'role' of an analyst. A programing language (unlike human language) is a mathematical construct.

      Music and math are related but there also plenty of good programmers who have an electronic background as well. The thing is that with a CS degree I would hope the applicant would know something about The Art of Computer Programming and could answer questions based on the language of trees, lists, stack, ect.

      A non-CS applicant may be so brilliant they idependently invented the main concepts in 'the art of programming' without ever reading knuth. However implementing your own ideas is one thing, understanding someone elses problem is another. With nothing else to judge by I would prefer the guy who has a (reputable) degree because at least I know they have spent 3-4yrs successfully researching and solving someone else's problems set out in exams and assignments. With a bit of luck they might also know something about the ubiquitous SDLC.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    97. Re:Appeal by utopianfiat · · Score: 1

      Even then if you recruit _decent_ programmers, maybe they would be great programmers if given the right kind of attention and teaching? At the very least you can keep them from being _bad_ programmers.
      Maybe the idea is to have a wide-scale internship program in which you attempt to find your great programmers?

      --
      +5, Truth
    98. Re:Appeal by AmericanInKiev · · Score: 1

      Anyone can learn trees, lists, state machines, and whatnot.

      The choice might be stated:

      Is a self-learning programmer more likely to brush up on multithreading and be successful - or
      Is someone who got a legacy preference to an ivy league school, and "participated" in "group projects" likely to have what it takes in the real world?

      I suspect that college is where rich parents send their predominately white kids to ensure they have better than fair odds at a cushy job.

      no?

      AIK

    99. Re:Appeal by SanityInAnarchy · · Score: 1

      most compilers will deal with that sort of code in a way t make it more efficient in the run time.

      Ruby is interpreted.

      The irony here is that, even if I came up with the perfect solution which only scanned the string once -- as another poster pointed out, this means no 'downcase!', but rather, a case-insensitive match inside the loop -- I'm already taking way longer than the simple solution.

      Basically, the shorter you can keep your code (in just about any language), the better. In C, you'd want to take advantage of library stuff on the offchance that some of it is done more efficiently, or will be in the future. In Ruby, you know the library stuff is more efficient, as most of it is written in C.

      However, the real absurdity is that someone would actually ahve tow rite that in this day in age. Really, it should be done and put in an engineering book.

      Or an interview question. Which is exactly what that was: An interview question.

      It is really frustrating to me that the software industry refuses to grow up.

      In other industries, you generally do what you're paid to do. You give opinions, sure, but if the customer really wants to screw themselves over, that's for them to decide.

      A real programmer would see that uselessness of the exercise, and demand a lot of reasonably sounding specification which would inevitable end up lost in some managers inbox some where.

      That's ironic -- a real programmer would demand more bureaucracy?

      --
      Don't thank God, thank a doctor!
    100. Re:Appeal by davidpfarrell · · Score: 1

      This will either toss me into the "stupid" or, if I'm lucky, "just shy of stupid" programming camp, but doesn't downcase'ing and removing whitespace/punctuation remove information and give the potential for a false-positive to the (to me) quite literal question "Is this STRING a palindrome"?

      The question "is this SENTENCE a palindrome" might have been more appropriate in that it would imply the string might contain sentence structure that could be ignored in the comparison.

      Hmm, I seem to remember coming across a massive C++ string class ages ago that had tons of methods like 'isPalindrome' and 'isDictionaryWord', etc. Anyone else remember that?

      --
      Cube On! (http://stores.ebay.com/PuzzleProz)
    101. Re:Appeal by SanityInAnarchy · · Score: 1

      It's a fair question, but I think it falls more into the category of "Why the hell would you ever need that?"

      In other words, palindromes are already a contrived example, but one could certainly imagine an "online palindrome checker" or "palindrome finder" or something similar. In that context, you absolutely do want to throw away sentence structure and punctuation.

      There is one more consideration: This being Ruby, any decent implementation is going to be less than ten lines of very readable code. Thus, if you ever needed to check that it was doing what it's supposed to, you could go read the source. And this being a simple, contrived example, you could almost certainly extend it, in a backwards-compatible way, to allow case-sensitivity, punctuation, and whitespace, either as individual options or as one giant "raw" option.

      That said, this being a simple, contrived example, it's going to be pretty subjective, anyway.

      --
      Don't thank God, thank a doctor!
    102. Re:Appeal by TapeCutter · · Score: 1

      I don't see why a "self learner" wouldn't WANT to go to university unless they already make 'enough' money and have nothing to learn, in which case I wouldn't be interviewing them, more likely they would be interviewing me!

      I did at age 30 with 2 kids to look after. I'm now nearly 50 and think it's one of the smartest things I ever did, I got lucky with the timing since I graduated 2-3 yrs before the boom started in the 90's. I didn't learn a god dammn thing about Turbo Pascal because I had already taught myself, along with the 6502 instruction set and applesoft basic. Out of 160 starters in the course, 12 graduated alongside me within the standard 3yrs - like me these people were all 'self learners'.

      Before going to uni I spent 15yrs in the workforce doing jobs that mainly required more brawn than brain, fishing trawlers, saw mill, building sites, fruit picking, a few depressing years shift work at a nylon plant, that kind of thing. 60hr weeks and I was still driving the family around in uninsured shit boxes, even living in a van for 6 months.

      Having had that experience of being 'working poor' I can attest to the fact that reverse snobbery is not uncommon. You could try driving a cab or tending bar for a while, both jobs pay poorly but they both serve as excellent crash courses in human behaviour.

      "I suspect that college is where rich parents send their predominately white kids to ensure they have better than fair odds at a cushy job."

      I'm guessing by the 'ivy league' comment you live in the USA, I don't. Pennyless students were in the majority at the uni I went to.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    103. Re:Appeal by AmericanInKiev · · Score: 1

      Since the Boom, there has been a huge number of students pressing themselves into the Computer Mold.
      I'm a bit skeptical of the results of this effort, or more precisely, of the assertion that University can "create" a native computer speaker.
      They say "you can't teach tall" - which is a very efficient way to point out that the advantage in Basketball goes more often to those born "tall" who learn the game, rather than those who learn the game in the hopes of also becoming tall.

      I suspect again that there are aspects of computer programming which universities can't provide, and further I suspect that talent in computers is self-selected against college.

      Basically the hours at colledge are long, and the pay is horrid. Real work experience pays better, and may in every respect result in a better rounded candidate, so the choice to "waste" time in school, when not wasting time by joining a "real" company (HP, Google, Microsoft were all started by "drop-outs")

      Perhaps the IP slogan closely mirrors Timothy Leary's famous line, "Tune-in, turn-on, drop out". This seems to be the route of smart talent.

      Best,
      AIK

      P.S. Yes, you're right the US has a far more elitist strain in its schools that the rest of the world. (We continue to discriminate against minorities and jews through "Legacy Preference" - which translates if your white non-jewish dad went to our school. you're probably a better student than someone whose daddy did not go to our school.

  9. quality vs quantity by vanyel · · Score: 4, Insightful

    You can't have both quality and quantity. Searching for the best of the best is bound to return a small number of people.

    1. Re:quality vs quantity by Jeremiah+Cornelius · · Score: 4, Funny

      You, sir - I take it - have never experienced the PopTart in it's exemplary and multitudinous glory!

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    2. Re:quality vs quantity by vanyel · · Score: 1

      There are exceptions to every rule! Though even here, I've found the Brown Sugar Cinnamon variety to occasionally be in short supply...

    3. Re:quality vs quantity by Hillgiant · · Score: 1

      But to experience the PopTart is to decrease its quantity. The quality of any remaining PopTart(s) is unaffected. The quality of the PopTart that has been experienced... well, lets not talk about that.

      --
      -
    4. Re:quality vs quantity by Bloke+down+the+pub · · Score: 1

      And you, sir, have never experienced the difference between a contraction and a genitive pronoun.

      --
      It's true I tell you, feller at work's next door neighbour read it in the paper.
    5. Re:quality vs quantity by mdfst13 · · Score: 1

      It sounds like the poster wants to get a small number of correct results but instead is getting a large number of incorrect results. In other words, a large number of programmers who claim to be the best turn out not to be so good. How do you handle that? Resume screening, phone screens, and interviews are expensive processes that distract your current expert programmers from their real work. How can you minimize the amount of time that your limited resource (good programmers) wastes on identifying false positives (people who are passed by the initial resume screening process but who really aren't that good).

      Also, how do you catch the false negatives? What about the programmers who are not good resume writers or especially social but who can code up a storm. How do you find these people?

      What's really wanted here is an entirely different version of the interview process. I.e. instead of having a bunch of human beings evaluate what the prospective programmer says (in speech or written communication), find a way to evaluate coding directly. Maybe something like scriptlance, where you write a specification for software and someone implements it. If the implementation passes your tests (for unit test coverage, functionality, etc.), pass the code on to a real human being to evaluate. If that works out, ask for more code (and maybe pay for the original code or maybe that's just a test).

    6. Re:quality vs quantity by HeroreV · · Score: 1

      Meh. Is it time to go home yet? Something tells me you're not a superstar.
    7. Re:quality vs quantity by megaditto · · Score: 1

      Sure you can, you just got to look in the right place.

      Nothing wrong with hiring a female or a foreigner. Looking at these two groups would give you x200 more candidates to chose from.

      --
      Obama likes poor people so much, he wants to make more of them.
    8. Re:quality vs quantity by Jeremiah+Cornelius · · Score: 1

      Touche. Owe you a pint.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
  10. It takes a good software guy to know one by swimmar132 · · Score: 4, Interesting

    Unfortunately, software development is one of those things where you can only judge talent if you have talent.

    Assuming you already have a couple good guys on staff (but how do you know they are good? :-), do you use any open source projects? Interview those guys. Open source is a great way to get to know someone -- you can review their code and documentation, and you also know that programming is something they love. People who are involved in open source typically love programming (otherwise, why do it?).

    1. Re:It takes a good software guy to know one by Angostura · · Score: 1

      Sorry, are you saying that there is no such thing as 'talented engineers'?

      Poor old Brunel.

    2. Re:It takes a good software guy to know one by swimmar132 · · Score: 1

      Jesus, that's not worth the time to respond.

    3. Re:It takes a good software guy to know one by geekoid · · Score: 1

      Excellent catch.

      In my experience, when programmers talk about talent they infer some unreachable goal where code is, in and of itself, some unattainable definition like 'Art'.

      So, yes I did say that, but that wasn't what I meant.
      I have worked with engineers of many different industries(currently Civil) and there regard to talent is more of a respect toward quality.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    4. Re:It takes a good software guy to know one by COMON$ · · Score: 4, Interesting
      A boss of mine once said this:

      Class A people hire class A people

      Class B people hire class C people

      I think that is spot on.

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    5. Re:It takes a good software guy to know one by eln · · Score: 4, Funny

      Well, at least now you know your boss paid attention in MGMT 301.

    6. Re:It takes a good software guy to know one by ztcamper · · Score: 1

      "People who are involved in open source typically love programming (otherwise, why do it?)."

      Masochism.

    7. Re:It takes a good software guy to know one by Bwerf · · Score: 2, Interesting

      So who hires the class B people? Do they all start their own businesses?

      --
      If noone rtfa, then what's the slashdot effect?
    8. Re:It takes a good software guy to know one by Chapter80 · · Score: 2, Insightful
      It's amazing how many people THINK they are class A people. Like the original submitter of this discussion post:

      we only hire really great people
      ....says the guy who doesn't know how to recruit good people!! What a cocky a-hole. What a joke!

      Hopefully, when your boss said his little catchy phrase about "Class A people only hire Class A people", you responded with "And in this case, class C people hire class A people."

      Clearly, there's a flaw in your boss's theory, because a start-up company that has any success is dependent on having class-A people as the founders or first employees. If they only hire class-A people, then the whole company would ONLY EVER have class-A people in it. So how did your boss get hired again? You either are full of Class-A people (unlikely), or your boss is an idiot (likely).

    9. Re:It takes a good software guy to know one by Gazzonyx · · Score: 1
      I had a high school teacher who was a retired navy nerd herder. He was a brilliant man, and I respected him very much; he just wanted to teach young minds. I used to stay after school and talk with him, and soak up as much as I could from him.


      He had a theory that he explained to me about managing any group of people. There are 3 kinds of people described as:

      • -1s : these people will be a detriment to whatever project they are put on. They will drag down the next group, and group after that even more so.
      • 0s : these people will do what they are told, nothing more, nothing less. They won't have an impact on the other two groups.
      • +1s : these are people who will succeed, are self driven, and go above and beyond without being asked. They're natural leaders, and the previous group (0s) will follow them, and -1s will avoid them. They won't try to lead (as they probably have no desire to lead), but will lead by example. On top of this, they are extremely rare and difficult to keep once you have them.

      The only group you can really 'mold', one way or the other, are the 0s. Fortunately, they are the majority of the people you will work with.
      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    10. Re:It takes a good software guy to know one by 18hrs · · Score: 1

      And who hired the class B people to begin with???

    11. Re:It takes a good software guy to know one by Peeteriz · · Score: 1

      It's a bit different IMHO - it's not about hiring per se, it's less about the hiring-decision makers, but more about your whole team.

      If your team mostly consists of class-A people, then they will naturally attract/reccommend other class-A people from their contacts, etc. (and other class-A people will be attracted to join your team instead of some other).

      If your team mostly consists of class-B people, then they will naturally attract/reccommend class-C people as their inferiors, to avoid competition; and also class-C people will prefer your team to the A-team, since it will be more comfortable for them.

    12. Re:It takes a good software guy to know one by The_reformant · · Score: 1

      Except that if the programmer is coming from a proprietary shop they may not even be *allowed* to contribute to open source projects. (I know Im not without management authorization and the company I work at *definitely* hires some superstars). Sure if they're out there in Open Source its a reasonable thing to do but I wouldnt use it as point of filtering.

      --
      I have discovered a truly remarkable sig which this post is too small to contain.
    13. Re:It takes a good software guy to know one by Fulcrum+of+Evil · · Score: 1

      At some point, you have to compromise (or just be fairly particular about who you hire). Regardless, class A people can distinguish A from B, but class B people can't. It isn't as cut and dried as all that, of course - your success is partially determined by finding people you can work with - but this is a fairly short rule of thumb. It's necessarily incomplete.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    14. Re:It takes a good software guy to know one by COMON$ · · Score: 1
      And dont ever forget to rule out the dilbert principle:

      The Dilbert Principle refers to a 1990s satirical observation stating that companies tend to systematically promote their least-competent employees to management (generally middle management), in order to limit the amount of damage they're capable of doing.

      or the Peter Principle

      "In a hierarchy every employee tends to rise to his level of incompetence."

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    15. Re:It takes a good software guy to know one by Chapter80 · · Score: 1
      No, the whole principle is BS. It assumes that there's a such thing as a Class A person who is good at everything. Reality is that people are hired for a job, and often those who demonstrate good capability in that job are promoted to another job - one which requires a totally different skill set: management and good hiring sense.

      Often the first thing a new manager does is hire his/her replacement for the old job. And the frequent mistake of a new manager is to look for someone like them, and they end up with someone with similar skills, but never as good.

      A better strategy is to find someone with complementary skills, who can do something that you cannot do.

    16. Re:It takes a good software guy to know one by Fulcrum+of+Evil · · Score: 1

      No, it assumes that there is a such thing as a person who's really good at X, where X is in the core mission of your company and is somewhat broad. Hiring class A people for a software startup implies that those people are very good at the sector that's being targetted, both technically and enough businesswise to know what's a good idea.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  11. It's easy by kcwhitta · · Score: 1

    Just go through the Google address book. ;-)

  12. Linkedin by Nefarious+Wheel · · Score: 5, Funny
    (Clears throat, adopts heroic stage pose) "People... people who know people..."

    (Dodges ballistic vegetable matter)

    --
    Do not mock my vision of impractical footwear
  13. Not a programmer here but... by COMON$ · · Score: 4, Insightful
    As a desirable sys admin I went with a headhunter. She filters out businesses and matches them to employees. I tend to be a people centered admin so I like smaller businesses, so she calls me when a really nice job comes up and sells me on it. A larger corporate job may go to someone else as sitting in a server room all day isn't my cup o tea.

    My suggestion would be to use a headhunter, sure they are expensive but you get matched up with quality people that match your business philosophy. Also to you job seekers out there I would suggest finding and hitting up Head Hunters. I have had extrordinary success with em on both sides of the table.

    --
    CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    1. Re:Not a programmer here but... by josteos · · Score: 1

      I know some headhunters whom I trust and would certainly listen to about every opportunity.

      But then you have the other 97%. Like the one who asked me to submit a Word copy of my updated resume in application for a one week position managing Juniper Networks stuff.

      My qualifications for this prestigious position ? I'm a programmer, and I did juniper (the tree) DNA extractions for a MS project in college.

      --
      Save the Music; Save the World at http://www.TuneTriever.com (Our latest Android game)
    2. Re:Not a programmer here but... by Otter · · Score: 1
      I have had extrordinary success with em on both sides of the table.

      In my experience, finding a headhunter who is even vaguely honest is more difficult than finding good programmers. How are you choosing them?

    3. Re:Not a programmer here but... by COMON$ · · Score: 1

      Ick, the hunters I go through are reasearched by me. If they arent up to par or exceeding it I dont bother. I lucked out with my first two. However I have seen headhunter factories where they just try to push out people as fast as possible as they get paid per client.

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    4. Re:Not a programmer here but... by glop · · Score: 3, Informative

      I would second that for real head hunters.

      Most of the head hunters that jump on you when you post your resume on Monster are pretty bad though. They do simple keyword matching, ask silly questions ("how many years C?") and seem to rely on their speed and the amount of people they reach to find a few matches that will bring big bucks.

      I ran across a sharp head hunter and he really took time to:
        - get me interested in the job
        - make the conditions of recruitment easier (he made me skip the phone interview with the company)
        - helped me prepare for the interview by telling me what kind of book I should use to revise
        - found the matches between the job and me, despites the mismatches

      So I am pretty impressed with good head hunters.

    5. Re:Not a programmer here but... by nonsequitor · · Score: 1

      Just remember that Head Hunters have all the ethics of a used car salesman and traffic Humans. They'll place a loser with you if they think they can get away with it. I've used them several times to find jobs but if you're looking for permanent employees and have time to try before you buy, tell some recruiters you're looking to bring someone on Contract to Hire.

      This way if they pass the initial screening you can see the programmer in their natural environment before deciding if they're a good fit for your team. Which head hunters you use would be specific to the type of programmer you want to hire. You wouldn't take a bicycle to a foreign automobile mechanic, so don't try to hire embedded programmers from head hunters who deal with mostly with web application developers.

    6. Re:Not a programmer here but... by COMON$ · · Score: 1
      Well so far I have stayed away from corporate headhunters. I stuck with smaller offices where they have great reviews from clients. The two I use currently consist of a Consulting/placement firm of abotu 8 people whose business won some local awards and are known for a very vigorous screening process. The other one was a pleasant experience that I got on chance. Sole owner/operator person very professional and charismatic. She understands what I am looking for and has matched several dev friends up with good companies. She also has me sold in her follow up and prep for interviews. Really cuts down interview time. Better to have someone else do the footwork when hiring or looking for a job.

      I stay away from businesses where there are no feedback reviews, where I dont get personal contact and the headhunter obviously doesnt understand tech and is just faking it.

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    7. Re:Not a programmer here but... by COMON$ · · Score: 1

      Exactly, in my opinion, once you find a good headhunter, it is much like a car salesman. Stick with em! A bad salesman can be written off pretty quick, a good one that matches your business is an incredible asset just like a reliable vendor.

      --
      CS: It is all sink or swim...oh and did I mention there are sharks in that water?
    8. Re:Not a programmer here but... by thekm · · Score: 1

      parent post is a sham... in all my years of contracting, I haven't seen one recruiter truly worth the money and doing more than text searching on your CV. A fun little trick: put "as an alternative to technology X, we used technology Y". Spiel this line a little, and you'll get to go for interviews that are related to technology X as well as the Y ones. When you're in the door, you can do the real business direct to the people themselves.

      Recruiters suck. That whole industry is bollocks, and relies on businesses being truly lazy. If the business can't apply the insight needed to define the role and get the people they want, how the smeg is a third party going to do a better job!?... at the very least they don't deserve the edge that comes with having quality staffers.

      When they finally get around to making a space ship and weed out this planet Golgafrincham style, I hope that recruiters and "head hunters" are the first morons pushed on. We need to keep the telephone hygienists (because removing bacteria is positive and measurable), but oust them recruiters! (because nothing they do can be defined as positive or measurable).

    9. Re:Not a programmer here but... by roman_mir · · Score: 1

      I've been in the software development work force since 95, a contractor for the past 7 years. Mostly my contracts are renegotiated and extended. I've been in one place for 3 years, in my current for over 2.5 I had a year where I finished contracts about once every 3 months. It depends on a place, sometimes they really need you for just that one thing, sometimes they have many projects and once they see how you work they figure out whether it is worth for them to continue with you.

      However only a single time have I found a gig through a head hunter, all other times I've done it myself, either cold calling or someone I knew from previous positions. It's hard to do it this way, I may not be landing the best contracts, but I find that head hunters do NOT care about what my philosophy is. Many of them don't even match the skill sets :] I don't advice against them, but I am not thrilled about them at all.

    10. Re:Not a programmer here but... by roman_mir · · Score: 1

      The only thing is, most of the best people I know in software development are contractors and they are not looking for permanent roles. At least in Canada it pays to be a contractor much better than to be a perm. I believe that many of the developers who are good at what they do also possess enough sense to realize their value and these people are not cheap. They know their worth and they know that on a contract they'll make much more than otherwise. Once they go on contracts they mostly stay there.

    11. Re:Not a programmer here but... by barzok · · Score: 1

      The ones that jump on you when you update your monster.com profile aren't true headhunters. They're recruiters. They work for "body shops" and their goal is to simple blast resumes and candidates out to every company, hoping to get a bite.

      A real headhunter is pickier about your next job than you are. He'll get to know you and your work, and knows the people in influential & informed positions at companies. He'll then work to match that company with the right person.

    12. Re:Not a programmer here but... by micromuncher · · Score: 1

      Wbere are these good head hunters? I keeping finding head hunters that have no clue about the tech industry. Once upon a time I had a resume that had 20+ pages of detailed experience. Then a few pimps told me I needed to concentrate it all down to 2-3 pages. Finally it came back to "Why don't you list all your experience on your resume?"

      --
      /\/\icro/\/\uncher
    13. Re:Not a programmer here but... by jdavidb · · Score: 1

      Failing that, I definitely recommend to the original poster that he become familiar with all of Nick Corcodilos' Ask the Headhunter materials. It's a book, website, excellent weekly newsletter, and blog. Start reading everything Nick has to say. It's invaluable.

    14. Re:Not a programmer here but... by micromuncher · · Score: 1

      Depended on the target. I received more responses from technical people to that then the "executive" summary passed through a pimp.

      --
      /\/\icro/\/\uncher
  14. Ask Slashdot by jomegat · · Score: 1

    I usually just submit an "Ask Slashdot" article asking how to attract superstar programmers.

    --

    In theory, practice and theory are the same. In practice, they're not.

  15. Congratulations! by Anonymous Coward · · Score: 4, Funny

    You have found me. How much is my salary?

    1. Re:Congratulations! by Duhavid · · Score: 1

      $1.98.

      Report for manacling on Monday.

      --
      emt 377 emt 4
  16. Quite simple actually by 140Mandak262Jamuna · · Score: 1

    Contact the slashdot admins and bribe them enough to find the real identity of 140Mandak262Jamuna who is definitely a programming super nova.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Quite simple actually by Rexdude · · Score: 1

      Contact the slashdot admins and bribe them enough to find the real identity of 140Mandak262Jamuna who is definitely a programming super nova. You mean when you burn out you do so in a spectacular explosion? 10 to 1 you're from IIT..cue the username and the attitude.
      --
      "..One hosts to look them up, one DNS to find them, and in the darkness BIND them."
  17. Get lucky, or hire young by bbrack · · Score: 4, Insightful

    Honestly - imo, you are incredibly fortunate to hire excellent experienced people based off interviews (our hit rate is about 25% good, 50% passable, 25% poor)

    the 2 best strategies for having a high hit rate with your new hires:

    1. hire young - bring people in as interns/coops and use their term as a 6 month interview - this can give you a great insight into their potential

    2. poach - has anyone else in your organization worked somewhere else? find out if there are any excellent people from previous jobs looking for work

    1. Re:Get lucky, or hire young by zkiwi34 · · Score: 1

      So, only the young can learn? That's at best insulting to anyone who is over your presumably arbitrary age limit. Poach? What goes around comes around. Are you really that foolish that you think that the young (read disposable) and mercenaries are going to be good for what you do?

    2. Re:Get lucky, or hire young by Qwerpafw · · Score: 1

      Poaching is really the only way to guarantee quality. The best way to do it is to find some company that just got purchased or merged recently, and look at the projects that were really well done, but are either getting axed due to redundancy or are just being caught up in bullshit.

      Programmers, good programmers, like to get things done. They don't like to see their stuff get thrown away, deal with bureaucratic nonsense, or live with the nighmares of daily "integration efficiency" meetings (substitute buzzwords as necessary). When companies get bought out, people almost always leave. If it's a small enough company, then the really good developers might have contracts to continue with the new place, or might receive enough stock/cash to just retire -- but with the big companies, the businesses that have solid products, teams of experienced developers, and the nonsense and management structures associated with size, well, that's the ripe target for poaching.

      You can, of course, get people who are happy where they are, in stable jobs at good companies. But you'll pay top dollar, and a significant premium above that for the effort of ripping them away from all that. Finding the unhappy developers can be the best way to get talent - they want to do good programming, but the bullshit is standing in the way. Promise them a job without bullshit, maybe some creative control... and they're yours.

    3. Re:Get lucky, or hire young by kramulous · · Score: 1

      Wow, your hit-rate is normally distributed. Today will be know as 'mediocre mod day'.

      --
      .
    4. Re:Get lucky, or hire young by BigJClark · · Score: 1


      This is interesting. Why hire young? Whats wrong with older, more experienced programmers? I can see the draw towards youthful exuberance, but no one in my company under the age of 40 touches our main programming components.

      Poaching brings another question, if you don't mind. I was poached, and it changed my opinion a bit on company to employee loyalty and vice versa. Is there a concern, that if your newly poached employee could be poached right back out again by a different company?

      --

      Hi, I Boris. Hear fix bear, yes?
    5. Re:Get lucky, or hire young by kudokatz · · Score: 2, Insightful

      I am getting out of school soon and have received multiple offers-- what really attracts me is getting to talk to about 5 people that actually work at the company. If I see that the people I talk to aren't confrontational but cooperative as well as 7337 as well, then it's a great indication that I will go for that company regardless of (within reason) how much money is offered elsewhere.

      The biggest turn-off is not being treated like a social peer because of age, and that is a HUGE barrier to making myself home in a team. I recognize that I lack the experience of everybody else around, but without genial inspiration to keep writing awesome code I feel a bit lost.

      Finally, recognize that if people have some problems with group work in school it doesn't necessarily mean they will on the job -- use the personality and interactions with other employees for that. I had one interviewer tell me they almost wrote me off because I didn't like some groups I have worked in until he finally asked me for an explanation.

    6. Re:Get lucky, or hire young by hibiki_r · · Score: 2, Insightful

      I agree with the GP, but the problem is not that more experienced programmers can't learn. Top programmers don't reach their status by just experience. With little talent, 15 years of experience don't make a great programmer. It's easy to spot talent after working with any programmer for a few months. This means that in most cases, top talent will be spotted by others quickly, and will probably not have to ever look for a job outside of their network of former coworkers after just a few years.

      How many good programmers that have been coding for 5 years don't have a bunch of friends that would jump at the opportunity of getting their company to hire them? In my experience, the local programmers that have trouble landing new jobs are those that most former coworkers would never recommend. Every good hire I've seen over the years was either from someone moving, someone without much experience, or a referral.

    7. Re:Get lucky, or hire young by rhizome · · Score: 4, Insightful

      So, only the young can learn?

      In my experience, those who think the best candidates are fresh out of school are power-hungry narcissists. They want fresh minds so they can indoctrinate their experience in the manager's image. You never forget your first. So, you have fresh minds who want experience: perfect captives. They do things your way and no better and you still get to blame them for mistakes and take credit for their accomplishments. You don't have to deal with any alternative viewpoints that might undermine your authority, so the Peter Principle is safe in your back pocket.

      Don't listen to this guy, he's probably only an aspiring manager anyway.

      --
      When I was a kid, we only had one Darth.
    8. Re:Get lucky, or hire young by Nefarious+Wheel · · Score: 1

      and it changed my opinion a bit on company to employee loyalty

      Sorry, what is this "company loyalty" thing you speak of? Is it like that "school spirit" thing that went on in the 50's?

      Get off my lawn.

      --
      Do not mock my vision of impractical footwear
    9. Re:Get lucky, or hire young by BigJClark · · Score: 1


      I'm not sure, but I think its a synonym of the word 'pension' :)

      Oh, and I'll get off your lawn when you make sure you turn off your damn sprinkler before 9pm

      --

      Hi, I Boris. Hear fix bear, yes?
    10. Re:Get lucky, or hire young by Morkano · · Score: 1

      I think the benefit of hiring those in college on internship or fresh out is that they're cheap, eager to impress, and most importantly, you get first crack at them. So you can get these so called "superstar programmers" before they get hired off by some other company.

      --
      Victory or awesome!
    11. Re:Get lucky, or hire young by drachenstern · · Score: 1

      Breasted?

      He's found an environment with more than one woman who will talk to him for longer than seconds at a time? And he hasn't started there? Wow!

      --
      2^3 * 31 * 647
    12. Re:Get lucky, or hire young by Nefarious+Wheel · · Score: 1

      Sorry, what is this "pension" thing you speak of? I'm in IT...

      --
      Do not mock my vision of impractical footwear
    13. Re:Get lucky, or hire young by bbrack · · Score: 1

      This is interesting. Why hire young? Whats wrong with older, more experienced programmers? I can see the draw towards youthful exuberance, but no one in my company under the age of 40 touches our main programming components.

      Hiring young is primarily due to using internships/coops as evaluation periods - if there was a way to do the same type of thing for experienced hires, I'd jump on it, but people who have been in the workforce for any extended period of time are unlikely to agree to come work with us for 6 months, and we'll offer you a job at the end if we think you're worth it.

      Poaching brings another question, if you don't mind. I was poached, and it changed my opinion a bit on company to employee loyalty and vice versa. Is there a concern, that if your newly poached employee could be poached right back out again by a different company?

      Unfortunately, there's no reason that they couldn't be poached right back out by a different company. On the other side, that goes for ALL the programmers you have, so you should already be investing in ways to do whatever you can to improve employee retention, boost work morale, etc.

    14. Re:Get lucky, or hire young by BigJClark · · Score: 1


      heh, I think this is an area that needs to be worked on in IT. I'm not sure why the company deems IT workers not worthy enough to receive a pension. For me, I won't even consider working for companies that doesn't pay me a pension.

      I think it has something to do with the mentality of "Just lucky to have a job" combined with your average IT employee having zero negotiating skills.

      --

      Hi, I Boris. Hear fix bear, yes?
    15. Re:Get lucky, or hire young by rhizome · · Score: 1

      I think the benefit of hiring those in college on internship or fresh out is that they're cheap, eager to impress, and most importantly, you get first crack at them. So you can get these so called "superstar programmers" before they get hired off by some other company.

      Right, and the cycle of anti-intellectual exploitation continues. "First crack" means "uneducated as to the ways of the corporate world." It would seem a "superstar" programmer wouldn't be as much a superstar with this form of ignorance.

      --
      When I was a kid, we only had one Darth.
  18. Google summer of code by OpenSourced · · Score: 1

    Visit it. Not all of them will be hired by Google.

    Scourge the Internet forums. Solicit anybody that seems interesting.

    Post to Slashdot... uhm, sorry.

    --
    Rome taught me patience and assiduous application to detail. Virtues which temper the boldness of great, general views.
  19. This may help... by Randolpho · · Score: 3, Informative

    Jeff Atwood had an interesting article on the subject a couple weeks ago. It generated a metric buttload of comments, so you might consider mining for ideas there.

    --
    "Times have not become more violent. They have just become more televised."
    -Marilyn Manson
    1. Re:This may help... by prockcore · · Score: 1

      Maybe good for ideas, but not good for actual talent. There were two posts on coding horror that made me realize that a majority of his commenters are idiots.

      The first was the one about "missing megabytes" due to powers of two versus powers of ten.
      The second was the one on salting password hashes. Some of the comments were from people who had obviously appeared in the DailyWTF multiple times.

  20. Have a Blog by Anonymous Coward · · Score: 2, Insightful

    Have a good development-oriented company blog and be engaged in the community.

  21. Biting the Hand by RobertB-DC · · Score: 1

    The problem is simply finding them. The signal-to-noise ratio of the big places like Monster and Dice is terrible.

    I groan whenever I see someone ranting about how Slashdot has "sold out", though the whining has gone down in the years since they went semi-corporate. Still, there's the occasional whimper, especially if an article in some way might be helpful to Slashdot's parents or advertisers.

    So, will this rather backhanded mention of Dice.com, whose ads I see constantly on Slashdot, silence those critics?

    Didn't think so. Carry on.

    --
    Stressed? Me? Of course not. Stress is what a rubber band feels before it breaks, silly.
  22. In 3 Ways... by FreeKill · · Score: 4, Interesting

    I would say in 3 ways. One, stop calling them superstars. To a programmer, the world superstar implies massive overtime with little compensation (aka we want someone who loves programming so much that they won't worry about the fact that we under pay them and over work them). Two, do some research on job requirements. Don't list idiotic buzz words as requirements when the package is something a programmer could pick up in less that a day working with it. The best way to get people to completely glaze over your job posting is to list so many technologies that they are bound to be missing one or two. Third, treat them and pay them what they are worth. If you want a superstar programmer, be willing to pony up. I read something a few days ago here on Slashdot that said Facebook and Google were competing for new grads and offering salaries in excess of 110K to new grads. If that's the treatment those companies give them, what do you think someone with experience and "superstar" status probably thinks they deserve? If you can't give them the money, make up for it with benefits and ability to progress or become a partner in the company...Bottom line, be realistic, and they will take you seriously. A programmer can detect a job that will probably be bad from a mile away just by reading the description.

    1. Re:In 3 Ways... by Anonymous Coward · · Score: 1, Insightful

      I very much doubt that Google are paying new grads $110K+. In most markets that'd be a solid salary for someone with a lot of experience (not a new grad newbie), and Google don't have a reputation for paying well (you're meant to be happy with the perks and bragging rights).

    2. Re:In 3 Ways... by turgid · · Score: 1

      To a programmer, the world superstar implies massive overtime with little compensation (aka we want someone who loves programming so much that they won't worry about the fact that we under pay them and over work them).

      Quite. I love programming, science and engineering.

      I also love a work/life balance. I am good at my job.

      I like to be paid for programming and engineering, but I like time to indulge myself in my own programming in my own time when I can do what I like, not what someone tells me to do.

      Many PHBs don't seem to understand this.

    3. Re:In 3 Ways... by Mechanik · · Score: 1

      I very much doubt that Google are paying new grads $110K+

      Hard to say actually. Salaries in and around Silicon Valley (Google is HQ'ed in Mountain View, CA) tend to be inflated due to the high cost of living. It's been a few years so maybe my data is stale, but five years ago people on $100k salaries in that area were still only able to live in shitty apartments and drive shitty cars.

      The fallacy is when a new grad hears "Google pays $100k" and assumes they are worth that everywhere. Market salaries vary a lot geographically due to geographical variation in the cost of living.

    4. Re:In 3 Ways... by Blakey+Rat · · Score: 1

      I very much doubt that Google are paying new grads $110K+.

      Google's, where, San Jose/San Fran area?

      $110k there barely buys ramen for dinner. The average home price is somewhere around $600k, and my buddy who lives there tells me that that cost of living difference isn't just in one area, but all the way down to the pound of hamburger he buys at the grocery store.

  23. Judge them by their contributions to the field by Peter+Cooper · · Score: 3, Insightful

    If a developer is truly a "super star" there will be a trace of that on their public record. They'll have built code that they've sold, built a business, built up a successful blog, contributed to or started an open source project, written a book, any of those sorts of things. If you're hiring from Monster or Dice, you will rarely find anyone with a single one of these qualities.. so that's how to start. Find developers who've written books in the field(s) you cover.. find popular open source projects and look at who's contributing.. it's not hard, and so few employers actually bother to take this route. I don't know why though, since this is how you find the best people and, most importantly, the best contributors and communicators.

    So.. books, projects, blogs, open source.. investigate all those in your field.

    1. Re:Judge them by their contributions to the field by lgw · · Score: 1

      Plenty of "super stars" are content to work for others, so thet may have worked on some excellent and very successful software you've heard of, but there will be no public record of that.

      People who build a business etc have a different skill set than top 1% coders.

      Still, it's always worth Googling the name of a promising candidate.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Judge them by their contributions to the field by Peter+Cooper · · Score: 1

      I wouldn't personally classify someone who only ever worked under direction a "super star" programmer though. A "super star" is going to be someone who excels, and is unlikely to get authorization for all of his / her ideas, and will have been forced to publicly release their own code at some point down the line. Someone who's a great coder under direction but isn't particularly imaginative or ambitious is still a great coder, but not "super star" level IMHO.

    3. Re:Judge them by their contributions to the field by lgw · · Score: 1

      Have you never worked for a good boss? You can be imaginative and ambitious and still work "under direction" if the direction is something like "go make a product vaguely like this" - especially if you work at startups, or for a large company that is still willing to invent new products - and "authorization for all of his ideas" just isn't an issue.

      Of course, you'll probably find some online mention of a "superstar" coder, but if you find someone's best work online, it's probably not someone who's going to fit well into a corporate develpment group to begin with. And the key to being a real "superstar" coder is more than just great code written fast, it's making a large group of people that you work with more productive as well.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  24. Why? by mapkinase · · Score: 5, Insightful

    Seriously, why do you need a programming superstar, why not settle for a programmer with substantial experience in the area you need?

    For example, universities do not look for supergenius professors (if not only for label "Nobel prize winner"), they are mostly looking for a person who will be able to get grants

    Supergeniuses are good in the environment that does not require any results any soon. That's the way they work.

    Normally people are looking for good workers with a good experience able to fit in the environment.

    I am actually glad that in my line of work there is no obsession with top level performers, like it happens in showbiz. As a result a lot of people are paid quite well.

    --
    I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
    1. Re:Why? by FreeKill · · Score: 1

      That's a great comparison. I would wager though that a lot of those professors think they are super geniuses :) I think the problem with these guys looking for superstar programmers is that there are only 2 types of people who apply for that work. A real superstar (rare) or someone who thinks they are (which a lot do). That's what causes people like the original questioner to skip the people with experience in the area they want because they only see these polar opposite types and not the substantial middle ground...

    2. Re:Why? by Stiletto · · Score: 1

      This is a good point. Most companies who SAY they are looking for "superstar" programmers really would do just fine with an above-average one. Logically, not everyone can have the top 0.5% employees.

      So if you absolutely need a top 0.5% programmer, prepare to pay them well and treat them well, and respect them for being the top in their field. When it comes down to it, most companies aren't willing to do either of those three.

  25. grow your own thru training! by justdrew · · Score: 5, Insightful

    believe me , nothing your business is doing is so god-damned special that it takes a "superstar" to accomplish. Just find some people with some programing background and give them the opportunity to learn and grow. Anyway, the person asking of this question, if _they_ were a "superstar" HR person/manager, would already know the answer. Since the company can get by with plain old average HR/management I think it can live with average normal programmers as well.

    1. Re:grow your own thru training! by lgw · · Score: 1

      That depends what you're doing. If you're in a race against the three startups next door to invent the Next big Thing, a "superstar" or two really helps. Even if your not, a "superstar" is someone who is 10-30x as productive as an average programmer, and makes all of the average programmmers around him better. That's certainly worth looking for, and paying extra for.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:grow your own thru training! by cornercuttin · · Score: 1

      i think that you are spot on.
       
      i know what these guys are talking about when they say "superstar", and i've really only met one of them, and you are correct. they aren't even necessary.
       
      none of us get to work on things that are "theoretical" or "ground breaking" in the field anyways, so having people who understand things so fluently is not necessary.
       
      if you can find a superstar, hang onto him/her and give them a lot of money and a lot of work. if not, find people who work hard and find ways to keep them working.
       
      the ideal thing to do with a superstar is to give them their own project so that they have free reign to create, and then when they create a completely awesome product, sell the hell out of it.

  26. We use the old boys network by wonkavader · · Score: 4, Interesting

    While you can market to wazoo, and you should, following the advice of others, here, you'll always only be half right, because talented people first and foremost recruit other talented people and solicit other talented people for work.

    So go to the experts at your current job, the people you REALLY respect, and ask them if they know someone. If they say no, then they're probably LYING, and you just don't have enough to draw their friends. Try to find out why, and fix that. Then those same people you asked will begin suggesting people.

    If you don't have experts at your company, cast your web out to all the experts you know, and offer to pay people what they're worth. You may have to pay enough to relocate someone. That can get expensive. Say you'll do it.

    This is in conjunction with the advertising of the job, not in lieu of it.

  27. Start an open source project by seanadams.com · · Score: 5, Interesting

    ...and be prepared to hire telecommuters, even in other countries. All of our software guys at Slim Devices (now Logitech) found us through our open source projects, and to this day every one of the telecommutes. The stratum of talent you gain access to when you are reaching the people who are so excited about the technology that they'll work on it on their own time.... unbelievable - forget about Monster.com, this is the way to do it!

  28. Hire slowly and carefully by wsanders · · Score: 1

    Most dumbasses I've worked with have been hired with the attitude "well, he doesn't know shit about anything but we'll bring him on and see how he works out".

    You can't *want* or *need* to hire good people. One must not desire the thing which one wants most, Grasshopper.

    BTW anyone who calls themselves a superstar is usually a dumbass hiding under a layer of bad attitude.

    --
    Give a man a fish and you have fed him for today. Teach a man to fish, and he'll say "WHERE'S MY FISH, YOU IDIOT?"
  29. Only work one way by BlueBoxSW.com · · Score: 1

    I only work for companies that are referred to me by other companies I trust.

    Working for people you don't know is a pain in the ass.

  30. Word of mouth by Rix · · Score: 1

    Ask your current employees to mine their contacts. Don't be cheap about it, you should be offering a 4 figure finders fee to them.

  31. How Do You Find Programming Superstars? by CaptainPatent · · Score: 4, Funny

    What methods have other people used to find the truly elite?

    Wouldn't that be sort?
    --
    Well, back to rejecting software patent applications.
    1. Re: How Do You Find Programming Superstars? by ozbird · · Score: 1, Funny

      By smell?

      "Listen! Do you smell something?" - Ghostbusters

    2. Re: How Do You Find Programming Superstars? by geekoid · · Score: 1

      You're hired.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    3. Re: How Do You Find Programming Superstars? by mojogrande · · Score: 1

      The definitive answer is here: How to recognise a good programmer http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/ I have some personal experience that verifies this one. [Superstars are unique. So you neek up on them. Heh heh.]

    4. Re: How Do You Find Programming Superstars? by NoPhD · · Score: 1

      I am an embedded real time device developer. I have a family. I like to program. I want respect and I think I have the experience and the expertise to say that I deserve a good salary. I work in telecommunications. The industry has not given raises in 3 years. I do not live in silicon valley nor do I want to live there. Give me an industry in the midwest that pays for the hard skills. Don't make me jump through hoops to switch jobs. Tell me I am valued. Have a good direction. The 700MhZ auction and LTE seem to be what will drive the industry in the next couple of years. Don't tell me you want me to work on TDMA. When I save your ass say so.

  32. Make sure their shoes don't match their belts by 140Mandak262Jamuna · · Score: 5, Funny
    Just this morning Slashdot has this big article about how IT professionals aspiring to break into management should wear matched shoes and belts, wear ties and full sleeve shirts and no torn/frayed/stained clothing. Read that piece and eliminate all those who follow those tips. Obviously they are aspiring professionals gunning for your job.

    Real programming superstars, usually love coding so much they take precautions so that they are not accidentally promoted to have management responsibilities like tracking vacation requests and authorizing the expense accounts. So they make sure their belts don't match their shoes, their pants, if and when they wear it, are never ironed. If they are forced to wear ties, they pair it with half sleeved shirts. They are the the programming superstars. But be prepared for huge number of false positives.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Make sure their shoes don't match their belts by mooingyak · · Score: 1

      Real programming superstars, usually love coding so much they take precautions so that they are not accidentally promoted to have management responsibilities like tracking vacation requests and authorizing the expense accounts.

      Not necessarily true. Sometimes they push for management positions because they pay better and will enable them to cover their mortgages. There are also times where they want to replace the management above them because they're tired of having to justify what to them are obvious technical decisions.

      So they make sure their belts don't match their shoes, their pants, if and when they wear it, are never ironed.

      Also not necessarily true. Sometimes you wear clothes that make you look like an adult because you're trying to get laid.

      Here's the way to find the best:
      Find the guy that all your other programmers go to when they get stuck, and ask him what he thinks.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    2. Re:Make sure their shoes don't match their belts by Yiliar · · Score: 1

      You got that spot on!

      I wear very LOUD shirts that my wife custom makes for me. We visit the fabric stores often and I get to pick what I like. She makes them with mandarin collars which I do button up, so I never have to wear a tie.

      I am also heavier than I should be and so I wear bracers, not suspenders or belts.

      The upside is that I never have to face a customer or vendor.

      The downside is that its been 4 years since my last raise. :(

      My 26 years as a UNIX and now Linux admin means nothing to todays management. However, my peers often queue up to ask for help. And that is what I live for. Just maybe I am the best systems admin ever, but I will never allow management to know that. I am happy when my peers appreciate me and the systems are all up.

      Consulting is the fine art of being of real service without ever being responsible. :)

  33. For 51 Percent of your company, by deweycheetham · · Score: 1

    I will put out the best code your have ever seen. (But realistically this would never happen, so good luck there bub.)

    In Short:
    Capitalism is not about rewarding labor, but rewarding capital. Therefore, I really don't have a vested interested in having you pimp out my labor.

  34. People and Recruiters by GreyScales · · Score: 1

    I have to agree with 2 things said here - people referrals and head hunters. Being in the field for almost 30 years as a developer myself, I've found every one of my jobs this way. When I was a hiring manager, it's how I hired people. Secondly, have you considered not who you want, but what you want them to do? One area that is often over looked is finding talent to complete projects. If you have good people now, folks that can define the projects that need completing, then you can shop the project. In the computer field, we say "use the right tool for the task". If you apply that to the tasks you need completed, find the right person for the task and they will give you a good result. If you go the task route... The people can literally be anywhere - including telecommuters. BUT, *beware* seriously low bids for work. It usually results in crummy code. You don't mention where your company is... Maybe someone here is close and looking... Just a thought. G

  35. Don't always rely on the internet. by lantastik · · Score: 2, Funny

    Word of mouth is an incredible tool. If someone is well known in the industry and truly a superstar, people will know who they are. If you want someone like that, you need to realize you'll have to pay for them. I haven't personally "looked for a job" in a long time. I have found a niche for myself, so people look for me.

    At my last two places of employment (previous was contract and I am now full time), I was found by someone who knew my reputation. By contrast, I had a recruiter call me who had gotten my name from another recruiter friend of his. He called me and told me how they were in desperate need of a senior person who would set standards, mentor teams, etc. I had a great time laughing at him when he told me that they were offering a solid 40K less than what I was making at the time.

  36. A recommendation by clckwrk · · Score: 1

    Don't. If you're looking for people that you're going to be calling superstars. You're going to get just that, ego and all. Although they may be the best programmers on the face of the earth, generally they won't live up to the reputation they've built for themselves. They won't do it any other way than their way, for better or worse. While I'm not trying to advice you against hiring competent experienced programmers, in my experience "superstar" tends to bring out the worst. Best of luck.

  37. I sympathize entirely by pturley · · Score: 1

    There is far more need for real talent than there is talent to fill it. I think the problem is intrinsically hard (you don't need me to tell you that), and I think it always will be.

    Which is to say, I don't think there's any way to improve the situation. I think you will have to continue to be clubbed over the head with a poor S/N ratio, like a soul in hell that can't ever escape the burning.

  38. Networking + good benefits, pay, etc. by RetardsForRonPaul · · Score: 1

    My last employer was a startup, and most of the early engineers were at the top of their field, by necessity. Many of our best had worked with the founders or other execs before, or were referred through one of the same.

    But they managed to get them by offering excellent pay (the company was in a state with no income tax, which made that even more enticing) and excellent benefits (1 month vacation time to start, plenty of options, matching 401k contriubutions).

    1. Re:Networking + good benefits, pay, etc. by mollymoo · · Score: 1

      One month of vacation is an "excellent benefit" over there? Holy crap. That's now the legally mandated minimum in the UK and was the norm before that.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    2. Re:Networking + good benefits, pay, etc. by paitre · · Score: 1

      Yep.
      Normal is 2 weeks.
      I even had one joke of a place (USI, you guys SUCK :) offer me 90k/yr and -1- week of vacation, knowing I had a 90 minute commute each way. I laughed when I told them "uh, no."

      I had the equivalent of 4 weeks when I worked at Johns Hopkins. I'm back down to 2 weeks (2 jobs, and 2 years later), but I'm far happier where I'm at. Even if it DID mean moving to Texas.

  39. "Enough volume" is 1 per open position by davidwr · · Score: 1

    Assuming you find the right one.

    In all seriousness, you might try

    *college placement offices at top-notch schools
    *"are you really smart" filtering questions like Google did a few years back
    *ads in publications geared toward smart people, like honor-society and professional-society publications or MENSA publications. Be careful though, high IQ!=quality employee.
    *Requiring people to submit either a portfolio of non-proprietary work, letters of recognition or equivalent from proprietary employers [properly redacted, of course], etc. in addition to a resume or grade transcript.
    *For students, look for awards and recognitions earned while in college

    Be prepared to pay a premium. Be creative. Say the typical salary for the job is $70K/year. Offer 90K/year BUT hold back the last 20K of the 1st 12 month's salary until after certain project milestones are reached. If he quits before the next milestone, you keep what he hasn't collected. After 12 months roll the "bonus" into his salary. Even more creative if the person is big on social-welfare/charity: Pay him $70/year but offer him a chance to earn up to $20K/year more for his favorite charity by meeting certain performance goals.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:"Enough volume" is 1 per open position by lgw · · Score: 1

      If the typical pay for a position is $70k and you want a top-notch guy, be prepared to pay $100k to start, with $100k in bonuses if the guy delivers to the milestones. I'm not exaggerating here. Top 1% programmers are far more that 3x as productive as average programmers, and they make everyone around them more productive. You don't get that on the cheap.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:"Enough volume" is 1 per open position by doc_doofus · · Score: 1

      Interesting ideas.

      I agree with high IQ!=quality employee, mainly because so many tend to be free-thinkers and don't like to conform. However, with that weakness, there comes the strength of passion for learning. I have found that to be universal among those I've met in that group.

      I do read most of the ads in the back of one of those publications. (You never know when you'll stumble on an opportunity you haven't even been searching for.)
      While I am not a professional coder, I do know some. I would mention such an ad to those I do know, so you could get third party referrals that way.
      That said, I hardly glanced at Google's; mostly because I have no desire to move, much less back to the west coast.

      --
      Disclaimer:IANAL/MD/PhD-Just the local yokel PC "doc" ~If you're not having fun, then you are probably doing it wrong.
  40. 1337 programmers. by siDDis · · Score: 1

    I belive most great *young* superstar programmers can be found within several open source projects.

    I also think that a lot of superstar programmers like to keep the number of working people within a project minimum, that means less than five persons, preferably 3 to 2 persons. A good salary and as little administration as possible, again preferably NO ADMINISTRATION.
    I also think that the superstar programmers like to work in an environment with people who share the same interests, that means no wife/kids chatting at the office but rather things like new programming features, algoritms, data structures, memory allocation and so on.
    And finally let them choose the tool for the job, no matter how weird/expensive it sounds.

    1. Re:1337 programmers. by paitre · · Score: 1

      Administration, however, is necessary to a business operating.

      Do you really, seriously expect a business to hire people, and not place demands and deadlines on them, and -expect- results within that time frame? A business does not exist solely to make its employees money. It exists -primarily- to make it's owner(s)/investor(s)/shareholders money. The employees get paid as a necessity.

  41. First, stop looking for "Superstars" by uberotto · · Score: 1

    That's a subjective term that means different things to different people. Be honest, tell the people what you want. Do you want someone who can produce good code, fast or great code slow. Do you want someone who is a strong team leader or a strong team member. What does the job require, how many hours a week are you expecting from your workers, what is a reasonable salary range. Is this a short term contract or is this a long term position.

  42. Signal-to-noise by Jurily · · Score: 1

    The signal-to-noise ratio of the big places like Monster and Dice is terrible. We've had much better luck with (for example) the Joel on Software job boards, but that still doesn't generate enough volume. So, do you want volume or quality?
  43. They are all Google... by strangeattraction · · Score: 1

    How do I know...Just ask someone who works there:)

  44. Career fairs, info sessions, sponsorship by etoleb · · Score: 1

    Participate in college career fairs and make yourself visible. At a place like MIT these are taken fairly seriously, but make sure to bring free swag (students like free swag). Some companies hold info sessions with free food. Others sponsor student events and competitions, it's a great way to gain appreciation from the students and get seen on posters around campus. Software engineers at these "top schools" rarely need to look very far to find a company that appeals to them, so it's important that you get them to know who you are and what you do.

  45. Rarity requires a different approach by mapkinase · · Score: 4, Insightful

    You cannot HR the superstar. They are so rare, that you just cannot open a superstar position and expect it to be filled up. Instead, what people usually do is when they accidentally stumble upon one, they create a superstar position for him.

    --
    I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
  46. Change the others around them: Bingo! by davidwr · · Score: 5, Insightful

    And they change others around them. In my experience as a rank-and-file programmer, I'll vouch for this one.

    I've met very few superstars and this more than anything else set them apart as someone I would want on my payroll.

    You want people who can lead by example, without even trying.
    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  47. LaTeX by Dogun · · Score: 1

    Look for resumes made with LaTeX.

    1. Re:LaTeX by Shados · · Score: 1

      Thats going to get you "Joe Generic CS Major who thinks he's a hotshot", not a programmer superstar.

    2. Re:LaTeX by Dogun · · Score: 1

      Correction: Joe Generic CS major who chose to use LaTeX (whatever the reason). You could do far, far worse as far as heuristics go.

    3. Re:LaTeX by TheRaven64 · · Score: 1

      I'm not convinced by this. I wrote my CV in LaTeX because I am most familiar with it, having written my book and PhD thesis (oh, and undergrad disseration) using it. In retrospect, however, it is probably not the best tool for the job. It took a lot of tweaking to get something that looked about as good as 5 minutes with Pages would have done. All you learn from the fact that my CV is one in LaTeX is that on at least one occasion I have chosen the wrong tool for the job, which is probably not a great reason to hire me.

      --
      I am TheRaven on Soylent News
  48. I think... by KoshClassic · · Score: 1

    From the article summary, that you have some people already like the ones you are looking for. I think its the people you already have who will be your best resources when it comes to finding more people like themselves. Birds of a feather flock together - people will tend to have friends like themselves - either past colleagues, college buddies etc. Incent your people with referral bonuses and they will bring the programming superstars to you. I work for a very successful but low profile company that does not advertise itself and while they do advertise their jobs to some extent, it is still true that a very high percentage of people they hire, especially in IT, find the company because other employees referred them. The company offers a generous referral bonus, makes it known that they really appreciate referrals (even when they end up not hiring the person) and *pays attention* to candidates who are referred by reviewing their application and contacting the candidate much more quickly than they do with applications received through other sources. And as a past job candidate, I can tell you that I'd always look first at a company where someone is referring me if it makes me feel like I have a better chance at getting the job and really being wanted there.

    --
    Understanding is a three edged sword. - Ambassador Kosh Naranek, Babylon 5
  49. Make sure you have a diverse staff. by DaedalusLogic · · Score: 3, Insightful

    What I find to be important is to have a diverse staff. You can no more have a coding staff full of "superstars" than have a football team full of quarterbacks and wide-receivers. What I find a lot of people mean when they're asking for "superstars" is, "someone who produces a lot of code". Which sometimes is needed, a person that come hell or high water gets the problem solved. But I've also found that a lot of those people leave a path of uncommented and undocumented destruction in their path. In which case you need other talent that can polish their code or influence them to come back later and pickup the pieces. Those people are usually a little more academic, they might be as slow as Christmas and if you counted solely on them to get the product out the door... It would never get done.

    As far as where you find higher quality people, I've had the best luck being involved in user groups, professional societies and getting leads from friends.

    1. Re:Make sure you have a diverse staff. by lgw · · Score: 1

      Really, a "superstar" programmer is one who gets the job done come Hell or high water, and leaves behind a trail of well-documented reusable highly polished code. Since those are hard to find, the combination you suggest is a practical workaround.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Make sure you have a diverse staff. by The_reformant · · Score: 1

      Well this is clearly a process problem. If you can't commit without a peer review, which includes documentation standards, then none of the uncommented and undocumented destruction ever occurs.

      Rather than going back and using "academic types" to polish your code why not put the effort into the design, if this is right the code practically writes itself.

      --
      I have discovered a truly remarkable sig which this post is too small to contain.
  50. You don't find me ... by johnlcallaway · · Score: 4, Interesting

    I find you....

    Seriously.

    I haven't had to 'look' for a job (i.e. interview with more than one company) since the early 90s. I have a network, and if I want to change jobs, I ask the people I respect the most (and who I think have respect for me) if there is anything out there. (Changed job 5 times due to corporate changes such as mergers, acquisitions and startup failures.) Usually my income went up, but I took a cut in pay for the last one because the company appears to be that much fun to work for.

    People who are truly superstars are probably working at a job they like and you won't be able to budge them *unless* you have an open pocketbook or something 'Google-like' that would appeal to someone who can get a job anywhere. Or something has changed (or their patience has just run out) and in a month or two will have another one through people they already know.

    My suggestion is if you want a superstar, start networking with the people YOU know and respect the most. Maybe your network and a prospective employee's network will connect somewhere. That's how I got this one. A guy I know knew about this job and let me know about it because he thought it was something I would be interested in and knew that my company was going through an acquisition and thought I might be looking.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
    1. Re:You don't find me ... by davecb · · Score: 1

      A sucessful group I was in used to have a rule that you could reccommend someone for a job if they were better than you at something.

      This resulted in a a steady increase in quality people. Including at least two superstars who eventually were bored with easy stuff like kernel and driver escalations and left for something harder.

      Alas, the parent company eventually laid the whole group off to save jobs at headquarters.

      Now I just rent my former colleagues back from the companies they went to.

      --dave

      --
      davecb@spamcop.net
  51. The problem with a programming super nova by davidwr · · Score: 1

    They spread their mess everywhere and if their IQ is massive enough, they eventually implode sucking in everything around them and not even the light at the end of the project tunnel can get out.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  52. All Depends by ratboy666 · · Score: 1

    What IS a "programming superstar"?

    Windows applications? Unix applications? System level? Oracle? SAP?

    Social Networking sites are one element of your answer. You need to be "LinkedIn" to the circles of your developers.

    --
    Just another "Cubible(sic) Joe" 2 17 3061
  53. Give them the time of day! by EEBaum · · Score: 1

    I was job hunting a couple years ago for a programming position. I graduated head of my class in C.S. (named the Outstanding Graduate at my university), and did a round of resume-bombing. I'm not one to overbearingly market myself on things, preferring to be very straightforward about what I'm looking for.

    Most of the places I sent my resume to didn't even have the common courtesy to respond with "no, we don't want you", let alone "yes, come in for an interview."

    Lots of good programmers aren't good at marketing themselves. If companies would give people the time of day and take a few minutes to talk to the person (especially in person), rather than discounting someone because of some mystical applicant-filtering list, they might be pleasantly surprised at who showed up.

    Every in-person interview I've had (3 thus far), I've been offered the position. Granted, it could be that I got the interview because they were more interested in me than other places, but still...

    --
    -- I prefer the term "karma escort."
    1. Re:Give them the time of day! by lgw · · Score: 1

      The way to get a job upon graduation is to go to work for one of the companies that you interned with. You don't yet have much to market, so that's not the problem. The problem is that you find jobs through your network of business contacts -and you need to start creating that network *before* you graduate.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Give them the time of day! by geekoid · · Score: 1

      "I graduated head of my class in C.S. (named the Outstanding Graduate at my university),
      "

      If only that was an indicator od a good programmer.
      There are many MANY programmers with all kinds of awards. Coupled with your lack of actual experience it's not a response.

      Your resume probably needs work visually. Yeah, I know it shouldn't but it does.

      The worse programmer I ever worked with was a guy the graduated from MIT with a high grade average. Horrible, impractical, short sighted twit.

      Yes I do know how MIT GPA works, kthxby.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    3. Re:Give them the time of day! by EEBaum · · Score: 1

      Which is where I am now (working where I interned), and, all things considered, it's probably the best situation for me. I'm just saying that if companies are having trouble finding good programmers, they could do well to give people who are NOT connected to them through existing business contacts a chance.

      --
      -- I prefer the term "karma escort."
  54. Programming contest by gvc · · Score: 1
    Check out the winners (or even contenders) in the ACM programming contest Or sponsor a TopCoder.com event.

    But if you want to hire these superstars, be prepared to compete with the likes of Google, who do both of the above. They have hired better than 1/2 of the programming contest superstars that I have met.

    Let me anticipate a strawman response: the tasks posed in programming contests do not represent the sort of tasks that grunt industrial programmers are called on to do. They do select winners.

    1. Re:Programming contest by TheTapani · · Score: 1
      I was about to say something similar. Programming contests shows that a person loves programming. However, TopCoder, ACM or univ or Valadolidl (sp) stuff are not ideal. Those competitions are more about coming up with a witty function quickly (within an hour or so per task) rather than engineer a program.

      The ICFP programming contest would be a far more better meter, since the contest is long enough to require the programmer to create several tools, and/or and an architecture that they can extend during the contest (it's three days, but believe me, the guys we are talking about produce in three days code that would take weeks for the mortals to produce).

      Basically all excellent programmers I have met has their own framework of reusable code/classes/modules (in their favourite language), and they prefer to use it. They might even be passionate enough about it to accept lower pay in order to find a job where they can use it instead of tools decided by management.

      My 2 cents.

      //T

    2. Re:Programming contest by gvc · · Score: 1

      TopCoder is far more of a race than ACM. ACM give 3 people 5 hours and is (at least at the finals) rarely determined by typing speed or book moves. I'm sure ICFP identifies exceptional candidates just as well.

      One caveat: there also exist exceptional candidates who abhor contests. One way to attract them is to do something interesting and see who comes up and says, "cool, how can I get involved?" and opposed to "I am great, how much will you pay me?"

    3. Re:Programming contest by JMZero · · Score: 1
      I'm not sure the distinction is all that large; I think generally the same people will do well in TopCoder, ACM, or ICFP (though naturally some people will be more interested in one kind of contest than another).

      For example, here's a list of members on the 2006 ICFP 1st and 3rd place teams:

      "Team Smartass" comprised Christopher Hendrie (ChristopherH), Derek Kisman (SnapDragon), Ambrose Feinstein (ambrose) and Daniel Wright (dmwright). "You Can't Spell Awesome Without ASM" comprised John Dethridge (John Dethridge), Ralph Furmaniak (RalphFurmaniak), Tomasz Czajka (tomek) and Reid Barton (reid).

      These are all high-rated competitors on TopCoder (the guy I stole this from conveniently listed their TopCoder handles in brackets), and most (if not all, I don't know) were very successful in ACM competition. For myself, I thoroughly respect anyone who does well in any of these contests. I know from our own experience hiring that it's very difficult to find programmers who can do algorithm work at all - if someone is actually doing well in these contests it says a lot about their aptitude and interest in programming (though naturally it doesn't guarantee they'll be a good employee, especially if the job is cranking out "boring" software).
      --
      Let's not stir that bag of worms...
  55. Hiring old has its benefits by davidwr · · Score: 2, Insightful

    1) burnout - you may get a few good years out of them, or you may get a career.

    2) you miss out on the benefits only age and experience can bring to the table.

    Everything else including relevant experience and education being equal, A 40 year old whose second career is programming is much more valuable than a 25 year old.

    Likewise, a person whose first career was programming and who made it to 40 and who is still productive is not likely to burn out quickly.

    Some of the best guys I've worked with had a lot of gray - or missing - hair to show for it.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  56. Another Employer Trying to Save Money... by littlewink · · Score: 1
    by not paying what a developer is worth.

    If you want good developers, be ready to offer money for them, because everyone else wants them too.

    P.S. I'm kinda tired of reading about how, of the IT firms whose employees post here, 90% want to hire the top 5% of developers. How about an article about the truth: how to hire so-so developers and _still_ get some work done? Now that's an accomplishment!

  57. Yes! by geekoid · · Score: 1

    List the CORE technical need. anyone one worth their salt will pick up the supporting stuff easy.

    I hate when it's like we need 10 years experience in :
    SQL, C, C++, Perl, active directory, MS OFFICE, Clear case...ad nauseum

    That just tells me you don't really know what your programmers are doing.

    Especially when you ask "Used in the last ten years, or ten years in each?" "Each."
    Actually reply, btw.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:Yes! by FreeKill · · Score: 1

      Yeah, exactly. It's even better when it's like we need 10 years experience in Ruby (ummm...You'll have to give me another 5 years or so then...)

    2. Re:Yes! by Jamie+Lokier · · Score: 1

      Ruby's first public release was 13 years ago.

  58. Co-op/Internship Programs/On-campus interviews by jb68321 · · Score: 1

    For young blood:

    Go to some nearby/preferred universities that care about computing/programming, and talk to the career-advising departments about possible interviews/co-op/internship programs. It's like a free sample, practically, considering most companies pay $10-15/hr for co-op's/interns the first time around (exception for expensive areas I suppose). I'll never forget when my university "adviser" told me that I should switch to Mechanical Engineering because there were no jobs in Aerospace (much like the "all programming is going to India" problem), and here I am now with more than 2 offers and the possibility of interesting grad school research. Let students know that jobs are out there, or this will be a bigger problem in the future! I found my company via co-op'ing by the way, as did nearly all my friends in my major.

    Or, like Lockheed does, go to the campus and set up a "challenge" event--go to the school and offer prizes for students solving a programming challenge like one you face. Students like competition & free stuff (please NOT pizza). Not sure what overhead something like that requires, but just another idea.

    Or maybe they have something like an "Engineering/computing week" or a "Career Fair" where students come and hand you resumes while you sit at a decorated booth. Anyways, I think most campuses that have good candidates try to put them out there. Use their resources.

    1. Re:Co-op/Internship Programs/On-campus interviews by lgw · · Score: 1

      We don't even try to offer interns less than $20/hour here in Silly Valley, and sometimes significantly more. But then, we're looking for C/C++ skills, and the nation is full of Java Schools.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  59. first know what you really want. by tempest69 · · Score: 1
    1. The guys (gender neutral) that I would call great are algorithm heads.. not that they know the advantages between Kruscals and Prims. But that they wold have the same ideas on how to build an algorithm. The big idea isn't just that they have a good algorithm to solve X, Y or Z.. but that they can come up with a bunch over the course of lunch. Ask them the google question, how do you find the first 10 digit prime in e.. and after their canned answer, ask for 5 different ways it could be done. If they're good you'll hear 10.. even if some of the ideas stink your still doing pretty well...

    2. Troubleshooters are brutally useful.. take an expert with a known problem in his head, and have the troubleshooter (applicant) role-play the diagnostic... If your really bored, prep a full test with some odd code that doesnt work.. coders that cant effectively troubleshoot are not superstars, and are often dead weight.

    3. Ask them what they hate... If they use a product X it should have some horrible inconsistencies that they will despise. Programmers have some habits that the compilers just hate, depending on the skill level the coder will have different views on what is bad..

    After all of that then you have to find a good place to put them.. you cant feed an algorithm head CSS style sheet problems, they will be malnourished. Then you need to make sure they're on task.. algorithm heads love puzzles and problems.. keeping them working on one that they've solved is almost punishment.. Once you've hit their boredom wall you need to adjust the task so that they're not slogging through the motions.. or re-task them and let a hardened solid coder finish up the dull bits.

    Storm

  60. Easy. by The+Nipponese · · Score: 1

    Just think of an interesting project for them to work on.

    Almost every programmer can be a superstar. They just need proper motivation, and unfortunately, money does not usually fall into this realm.

  61. Re:Easy... by Intron · · Score: 1
    Too many lines

    echo -e "#include <iostream>\nint main(int argc, char **argv) { std::cout << \"Hello, World\\\\n\"; }" >h.cpp ; g++ h.cpp ; ./a.out
    --
    Intron: the portion of DNA which expresses nothing useful.
  62. Poach and show off by Dolohov · · Score: 1

    Many of the truly excellent programmers I've known have never left a job without knowing exactly where they were going. This especially includes graduate students, by the way, who frequently are long on talent but short on connections, clue, and time to search. Just like the pretty girl sitting by herself at the prom, the geeks aren't going to approach you, even if they realize you exist. (Cue the commenters taking that analogy WAY too far)

    Go to trade shows and chat with the scruffy-looking folks with bags full of swag, go to conferences (ACM and IEEE) and read the papers, look into interesting projects on Sourceforge, go to college recruitment fairs. Be specific in your job description, and approach people with an idea of what they would add to your company. Be ready with a business card and the phrase, "My company is looking for people like you."

    On the attracting side of things, make yourself visible in the right places. Publish academic papers, if you can, and send people to conferences. (iRobot is particularly good at this) Contribute to the open source community -- and try to maintain good relationships with fellow contributors.

  63. 2 things. by Shados · · Score: 1

    A) If there were programming superstars around, the only way to connect to them is by, well, connections. The friend of one of your current employe is good, and through that one you get in touch with the superstar.

    B) There aren't any (or almost). In the current market, where everyone comes out of CS school as an applied math major with "Computer" written somewhere on the diploma, there's virtually no one qualified to fill in software architect and project manager jobs and, to a lesser extent, functional analysts. So a lot of "superstar" programmer are quickly promoted to these jobs, the "top" QA with an associate degree who knows a little PHP is promoted to programmer, and quickly enough, you end up with zero superstar programmer, just superstar "monkey team leaders".

    Even the big shot companies like IBM, Google, MS, or the fast growing ones like Endeca, work like that. A bunch of monkeys lead by 2-3 former top dog programmers.

  64. As a hiring manager... by ShadowOfMe · · Score: 1

    I am not going to tell you what we do.

  65. Feel free to hire me by the hour by AlXtreme · · Score: 1

    Seriously, I've worked for companies both big and small, even the government for a while.

    Instead of locking myself up at yet another company, I decided to set up my own software development company. Instead of looking for assignments, the assignments find me. I take assignments on a per-project basis, and if I don't have time or the project isn't interesting I know enough programmers who might want to take it.

    It's not for everyone, but with a professional attitude and some word-of-mouth advertising I must say it beats any job flat-out. And I get to give discounts for open source software development, as that's what I enjoy most.

    --
    This sig is intentionally left blank
  66. Advertise on a job site like jobbank.com by jeichels · · Score: 1

    By advertising on online job sites, you hit a much broader area of people. Often folk in IT are willing to move if the financial package and technology are right. Note I am nudging up my own company here, but I do believe if you specify the job description well and weed out resumes that apply you can find the right kind of people. One thing I think also helps is having candidates do a difficult (worthy & interesting) development test prior to even interviewing them. I have seen companies give out 2-day tests that target not just good development practices, but also the ability to think outside the box. Only the hearty will stay on and they may appreciate the test if it makes for a good puzzle.

    --

    JohnE
    jobbank.com - Search jobs, post resume,

  67. Don't by BeerMilkshake · · Score: 1

    Do your company/team a favour and don't recruit 'superstars'. You might find yourself hiring some braggart with a big ego who insists on wanking their ideas around and bullying everyone else into using their pet technology of choice.

    I suggest looking for people who can provide hard evidence of:

    - decent technical knowledge (depth and breadth) about what you are hiring for
    - having developed larger non-trivial components in real world projects
    - having worked successfully in a team. In fact have them meet some of your team in the interview.
    - having written documentation/requirements/designs
    - having worked on, and persevered through, disaster death-march projects (have battle scars)
    - willingness to treat others with respect, listen well, and take direction

    Anyone who is even average or slightly above average in all these points will likely be a superstar in your organization.

    HTH

  68. Sadly, good-ol'e-boy network. by DdJ · · Score: 1

    Sadly, the only mechanism I know for this which I've actually seen work is essentially the "good ol'e boy" network.

    The last time I got a real job that wasn't even indirectly via some contact I already had was in the mid 1980s. What I'm used to is, networks of at least reasonably competent people remain loosely in touch with each other and get a vibe for when someone is dissatisfied where they are, and correlate those vibes with needs they observe elsewhere.

    A disadvantage is, it can be hard to get the first competent person. An advantage is, once you do, if you really have a good environment to work in, you might get a steady stream from that point on.

  69. You're Hosed by bill_mcgonigle · · Score: 1

    But stipulating that it happens, how do I, as a company looking to hire such people, connect with them?

    If you're only able to hire up really smart people who are out of work, that is you can't go recruiting gainfully employed ones... there's something wrong with your company and if the person is as smart as you want them to be they'll smell that and not take the job. If they miss that they're not what you're looking for. Catch-22.

    It sounds like you're trying to bargain hunt great talent. Maybe it's just the phraseology, but if that's the case, step 1 is to clean that up.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  70. Be a superstar company to work for... by tlambert · · Score: 3, Insightful

    Be a superstar company to work for...

    (1) Drop the buzzwords:

    - Every company thinks they are a great place to work.
    - Every company thinks they only hire great people.
    - Every company thinks their problems are interesting and hard.
    - Every company claims to treat its employees well.

    instead, give concrete examples. Are you trying to solve the protein folding problem with something other than the brute force IBM is is trying to use, or are you trying to figure out the best billing algorithm to use on credit cards so you collect the most late payments by skirting banking regulations? Is Paul Vixie on your board of directors? Did you just successfully hire Dennis Ritchie because your ideas are compelling to brilliant people? Would all your employees say that they would enthusiastically have their friends and family come to work for you?

    (2) Have smart people working for you already; smart people like to work with smart people

    (3) Ask the smart people who already work for you to refer other smart people they know

    (4) Poach; if you can't poach smart people away from their current gigs, it's really, really doubtful that you are half as compelling a company as you think you are

    -- Terry

    1. Re:Be a superstar company to work for... by Coward+Anonymous · · Score: 1

      I couldn't agree more. Anyone who claims "The company I work for is a great place to work; we only hire really great people, we work on hard, interesting problems, and we treat our employees well" at a company with >5,000 people is either drinking the kool-aid or is selling something.

  71. too full of yourself by nguy · · Score: 1

    The company I work for is a great place to work; we only hire really great people, we work on hard, interesting problems, and we treat our employees well.

    You sound too full of yourself; that alone is a big warning sign.

  72. Joel On Software by MBCook · · Score: 1

    I seem to remember Joel having good ideas.

    Hire people who want to program. Hire the people who would program in their spare time if you didn't pay them. Those are the people you want.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:Joel On Software by geekoid · · Score: 2, Interesting

      "Hire the people who would program in their spare time if you didn't pay them. Those are the people you want."

      no you don't. Rather, that doesn't really mean jack.
      Joel and his little yes men followers cult is starting to get on my nerves;which means exactly nothing.

      I know too many great, and extremely good coders that don't code on their own time. They all DO something, but usually not coding. Lets face it, most of coding isn't a new challenge. Some of it is, but a lot of it is the same thing I have done. Sure, you may need to be running 30 threads in a robotic system and there are some fun challenges there, but there is also a lot of write the stream to the serial port, make it cross compilable, etc that are just boring after a while.
      I believe this is why some coders end up writing code too complex. A t some level they are trying to do something difficult. It's also why I think your Superstar/Guru/Prima Dona* should get time off when there isn't much interesting work to do. Bear in mind what they do do is done a lot faster then most people, usually about 10 times faster.

      *I don't mind Prima Dona's, but if you are going to have that attitude, your shit better live up to it or I will call you on it.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  73. Let your employees know you're hiring by iabervon · · Score: 1

    If your employees are good, they'll tend to know other people who are good (from previous jobs, school, socially, or outside projects). If they know you want to hire people, and they like the company, they'll refer these people. People of the level you're talking about will generally be able to find jobs by way of their contacts of this sort, and will generally not want to talk to recruiters, HR people, or headhunters (all of whom are normally scary non-geeks).

  74. Just Listen To Them by insertwackynamehere · · Score: 1

    I mean, if they are what they say they are, a superstar, then they shouldn't have any fear about saying so. I mean they (the employer) wants to know. I only suggest that they wear their shades because sometimes the spotlights can burn holes through the stage, but otherwise they're a pretty safe bet. The interviewee should also be asked about previous projects, did they improve on the design? Did they do something new? If they don't have much to say they're too much of a new comer. If you make a mistake when typing up notes on the interviewee then go back, whatever you did, you undo (Ctrl+Z).

    1. Re:Just Listen To Them by insertwackynamehere · · Score: 1

      if(you == superstar) {
      you.fear = false;
      }
  75. Re:Easy... by jomegat · · Score: 3, Insightful
    This is more modular. (It must be because it has more modules!)

    #include <stdio.h>
    #include "int.h"
    main
    #include "open_parenthesis.h"
    #include "void.h"
    #include "close_parenthesis.h"
    #include "open_curly_brace.h"
    #include "printf.h"
    #include "open_parenthesis.h"
    "Hello, world.\n"
    #include "close_parenthesis.h"
    #include "semicolon.h"
    #include "return.h"
    #include "zero.h"
    #include "semicolon.h"
    #include "close_curly_brace.h"
    --

    In theory, practice and theory are the same. In practice, they're not.

  76. You need one to find one, borrow someone elses by Timmy+D+Programmer · · Score: 1

    Borrow someone else's superstar to help you screen the candidates. If you don't have enough candidates, you aren't offering enough money.

    --


    (If at first you don't succeed, do it different next time!)
  77. All depends what your selling by BrightCandle · · Score: 1

    Personally I think "Superstar" developers are interested in three things:
    1) Decent compensation - shares are a big part of this, they don't like making other people rich off the back of their talent.
    2) The difficulty and type of work. Choice of language and how it gets done is pretty important.
    3) If the guy in charge is not a technologist but a business person that lack of understanding of development, and especially hackers, is going to mean you have no chance anyway.

  78. Nerd Idol by Midnight+Thunder · · Score: 3, Funny

    Two solutions based on current reality models would be either "Nerd Idol" or "Big Brother Nerd edition". The idea would be to pit these guys and gals together and see what develops. Sure it probably wouldn't get the same ratings as the current versions, but something has to be said for cult value ;)

    --
    Jumpstart the tartan drive.
  79. First Get a Can of Red Bull.... by penguin_dance · · Score: 1

    ....tie a string around it, throw it round the corner and wait. Have a large net handy as they spook easily.

    First of all it would have been helpful if you defined what language(s) your "superstar" needs to know and where your company was located. You might just find that person here. But you're probably going to have to get your hands dirty and network. Start by talking to some of the people you have in your company now that you respect--they're you're best source for new employees.

    Monster and Dice are not really the way to go--I can assert this from a job seeking position. Usually the listings look like an pizza order than a serious quest for a real person. That's likely because it's done by HR and/or managers and they just throw everything, but the kitchen sink as a requirement which turns off the ones who are truly gifted, but are good because they specialize in knowing a few languages well instead of a little bit of everything. Plus if they are really all that good, they can quickly pick up on any oddball need your company happens to have. Unfortunately, those are the ones who'll probably get filtered out by HR because they're just scanning for key words.

    --
    If you've never been modded as "flamebait" or "troll," you've never tried to argue a minority viewpoint here!
  80. Old? You mean "Young with Experience"... :-) by Richard+Steiner · · Score: 2, Insightful

    1) Since many people find it hard to retire at 65 or earlier due to layoffs and whatnot, even that 55- or 60-year-old programmer could provide barrels of binary goodness for well over a decade to come. :-)

    2) It's better to hire someone AFTER they've made the basic mistakes (and hopefully learned from them).

    Many folks like me who are over 40 and still coding/designing are doing it as much for the fun of it as we are the need for food and rent/mortgage/college money. Hey, I'm juggling Perl, C++, Java, Fortran, and a few other languages for a living. How could that NOT be fun? ;-)

    And my hair isn't missing ... it's simply migrating to other areas. In my case my face. Greying beards are distinguished, don't ya know. Besides, 40 is the new 20. Right? Or is it 30? I forget...

    --
    Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
    The Theorem Theorem: If If, Then Then.
  81. Too Easy. by dynamo · · Score: 1

    you write a program to go find you a job.

    no, really.

  82. recruit them out of existing projects by MattW · · Score: 1

    Find them through buzz or word of mouth, by recommendation or via groups. Contact them when they write articles in the press, or when you learn about their open source project. Then offer them substantially more than they're making, and let them know the offer will stay open.

    In my current job, I did some consulting for a client, turned down an offer but stayed in touch, and accepted a (better) offer a couple years later when I was more ready for a change.

  83. Production Abstraction by TheGrapeApe · · Score: 5, Insightful

    Convey to the applicant that your company values *production* and *problem solving* over meetings, phone calls, "strategy" and any of the other abstract "big picture" bullsh*t that people with "soft skills" use to justify their positions at the expense of programmers. Bonus points if you can point to a programmer or two in your organization and demonstrate that they make more money and are more valued than the softies. Let the applicant know that "Yes, we expect you to function within our management framework, but that framework is here to help you be *more* productive"...every good programmer dreads the "Office Space" scenario where they are spending more time filling out TPS reports than doing the work that they love.

    Every good programmer's worst nightmare is to step into a new job bright-eyed and ready to be creative, only to be told that their function will be to learn and maintain a piece-of-crap monstrosity that someone else created. Make it crystal clear that this is not the situation they are being hired into.

    ...as far as "where to find them"...The same principle that applies to "getting hired" (i.e. networking is always the best) also applies to hiring. Ask your five best programmers to give you the names of some of their friends and don't be afraid to aggressively go after them and lure them away from their current gig.

  84. Re:Old? You mean "Young with Experience"... :-) by Anonymous+Brave+Guy · · Score: 2, Interesting

    Hey, I'm juggling Perl, C++, Java, Fortran, and a few other languages for a living. How could that NOT be fun? ;-)

    You could spend more time with Perl, C++, Java and Fortran, and less with the other languages? ;-)

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  85. Non-technical interviews by asc99c · · Score: 4, Insightful

    The place I work has some top people working there. It also had one of the strangest interviews I ever did. I was barely asked about programming or anything related to my job. Just pointed to an engineering diagram of a chemical plant and asked how I'd tackle it. I'd never done chemistry and didn't understand the diagram, so I figured I was probably failing the interview. Another poster mentioned the difference between top grade programmers, and the real superstars that actually get things done. I think this was the type of question that was really aimed at separating those types of people. It was a question you didn't have to get 'right' - it was just to find out what you'd do to figure out how to figure out the answer.

    Looking for a job straight out of uni, I did a lot of interviews heavy on the technical side. Looking back, I'm not sure what the point was. They could already see how good I was at technical learning from my degree. The major difference between programming academically vs industry always seems to me to be that in industry you're programming for users other than yourself. In most academic situations you've got fairly clear user requirements of what the software must do. Most of the work I have done since then has begun with vague ideas about what the system needs to accomplish. Getting from there to coding a system that meets the requirements is very much like that question in the interview - 'how would you tackle it?'.

    Any technical questions will allow any good programmer to just fall back into answers they know. You'll be swamped with applicants who look good but are only mediocre.

    1. Re:Non-technical interviews by xiphoris · · Score: 1

      > They could already see how good I was at technical learning from my degree.

      So not true! I have interviewed many people who have a Master's degree in computer science, even, and they barely know anything. One guy didn't even know the basics of big-O notation (Landau notation), and how to analyze the complexity of functions. How can you have a master's degree and not know that? I don't know -- but there are a lot of people out there like that.

      In my experience, you can't trust that degrees mean anything. Even from a top U.S. school, having a degree only means that the person learned something really well, but it might not have been the things you want in a programmer. I've worked with guys from MIT and Stanford who don't know what functional programming is, or what design patterns are.

      To you, a degree means a lot, because you know what you went through. To a potential employer it means little, when looking for top engineers.

    2. Re:Non-technical interviews by asc99c · · Score: 1

      I think none of that is important. Most of the people we hire don't have a CS / IT degree anyway and don't know most of the things you mentioned. I'm one of the exceptions but I rarely use a lot of things I know.

      For 99% of things, the complexity class of a problem is irrelevant. Its the design up at higher levels that makes the real difference. Getting the design right / fixing it is something that masses of technical knowledge won't really tell you how to do. I'd like to see more use of design patterns, but I find people from (real) engineering backgrounds do this better and more than trained programmers anyway - the idea of using a well tested idea / component when available is more ingrained in that discipline.

      Occasionally we do find something not working too well and have to get real programmers in to sort things out, but its quite rare in my experience that specific technical knowledge fixes something that more general logical and practical thinking can not.

    3. Re:Non-technical interviews by emurphy42 · · Score: 1

      They could already see how good I was at technical learning from my degree.
      Judging from my own experience, no they bloody well couldn't. Half the people in my senior-level classes couldn't write 100 lines of working code when given two months to bang away at it.
  86. You don't. They find you. by ryanisflyboy · · Score: 4, Interesting

    A 'superstar' programmer will find the job he wants with the salary he desires and get that job. A local company is well known for finding top flight programmers. They held a $10,000 programming deathmatch challenge. The winner got the cash prize, and a job offer. Guess what, they were extreamly successful.

    http://mozy.com/contest

    What you have to be prepared for is the unexpected winner:

    http://uphpu.org/pipermail/uphpu/2006-November/005608.html

    It was so succesful they did a second take, check here for sample questions:

    http://mozy.com/contest

  87. What Agency by ArhcAngel · · Score: 3, Funny

    What agency did you say you work for?

    Techsystems?
    Robert Half?
    Spherion?
    Aquent?

    --
    "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
  88. Behavior by shelfc · · Score: 2, Interesting

    I like to act a little unusual in a meeting. Even show some eccentricities. Based on how accepting of odd behavior a company is usually helps me (alleged talented engineer) determine if I want to work their.

    1. Re:Behavior by stephanruby · · Score: 1

      Speaking as someone who's been called "the Britney Spears of Programmers" many a times, and not for my good looks, I feel particularly qualified to answer this question. As a programming superstar, I only work for super-companies. A super-company is by definition a company with a greek god name, a forward-thinking name, and/or a cool sounding 2.0+ name. Its web site must be pretty, its text boxes must have rounded corners, and it must scream to me "We're the number one company in our industry!", "Work from Home!!", and "We only hire the top 1% of programmers! You're so lucky!!".

      If you didn't have those exact keywords on your web site, do not despair, you're probably still in the running -- I also accept the keyword "superstar". If you have the word "superstar" in your ad or anywhere in your company web site, you can rest assured that my use of boolean searches will give it the proper attention it deserves.

  89. Fizz-Buzz by ArikTheRed · · Score: 1

    That's all you need!

  90. Re:Similarly... any tips for soon-to-be graduates? by EEBaum · · Score: 1

    Are you still on good terms with people at the respected company? Perhaps someone there knows of an opening at a place you might be interested in, or knows someone who knows someone, etc. Ask around. Word of mouth goes a long way.

    --
    -- I prefer the term "karma escort."
  91. Are you a superstar company? by LaskoVortex · · Score: 4, Insightful

    The first part of this is going to sound antagonistic, but its meant to be helpful.

    Are you a superstar company? Really? What product do you work on? Is it cutting edge/interesting/socially minded? Is it going to present a new challenge every day for your programmers?

    How top-heavy is your company? Are the salaries of the managers 3x more than the programmers? How about the top-level execs? Are they getting $1.5M bonuses every year while solving no problems themselves? Do their salaries go up 12% every year while programmers get 2% raises? Do the execs get their own parking spaces while the programmers have to park on the street? Is the disparity noticeable and constantly rubbed in the face of your programmers? Do the execs act snooty and drive $60,000 dollar cars? If these qualities apply to your company, there is no hope. If not, read on.

    People who can really solve tough problems (i.e. "superstars") know who they are. Their minds don't work linearly and they see patterns in everything. They make suggestions and observations only to get ridiculed because the small minds around them can't understand what they are saying. But they usually get vindicated:

    People often ask me why I persisted in doing research on a subject that was so controversial. I frequently respond by telling them that only a few scientists are granted the great fortune to pursue topics that are so new and different that only a small number of people can grasp the meaning of such discoveries initially. I am one of those genuinely lucky scientists... --Stanley Prusiner

    The unfortunate thing is that superstars, as you call them, experience this pattern again and again. You need to recognize that this pattern is common for them. You need to cater to their intellectual needs, make sure they are payed well, and, yes, appeal to their egos. This doesn't mean a constant suck-up, which is a common misconception. You need to give your damn best to understand what they are saying, to understand that their insight might be better than yours and to recognize that they have shown insight through a solid record of achievement. Superstars are players and not coaches (i.e. cheerleaders) and they can point to success, but you don't need to acknowledge it directly. If you want to employ them, you need to show that you can be student instead of master, because superstars are also teachers.

    I know that that last one is going to hurt, especially in the hierarchical realm of corporate politics. However, your ability to be a student of your employees will separate you from mere mediocre employers and will get you those superstars you want so badly.

    --
    Just callin' it like I see it.
    1. Re:Are you a superstar company? by deodiaus2 · · Score: 1

      Well, I have to agree with the statement regarding the pay disparity between the programmers and the corporate executives. First, let me get this straight. Most companies want some 10x more productive than his peers, yet work for 25% more than his peers. Oh heck, maybe you give him a 5K bonus in front of his peers to really make him feel swell. He might be pissed to all hell with the corporate pay structure in the first place. Second, there are a lot of really great programmers who you don't want on your team. Richard Stallman is one of them. I like RMS and his idea, but I know why he would be terrible in your organization. Somehow, you seem to think that really creative and intelligent people want to be on your team. Have you considered that maybe since they are great programmers, they just don't fit into your corporate structure because they have their own agenda. Third, there is this domain of expertice issue going on. Just because someone is great at one thing doesn't translate to other areas. Einstein was brilliant, but had quite a few character flaws. On top of that, he was a communist. I am sure that once he started talking about ideas that he wanted to discuss, you would be trying to get him to shut up and "manage him". Managing smart people is like herding cats. Moreover, have you considered that he might not take well to being managed. All of a sudden, you start telling him what he should be doing. You might want him to work in the quant theory and he wants to work in relativity. The only solution that I have for you is to turn your staff into the superstars that you want them to be. If you can't, then you are the failure, not your staff. Most managers have yet to impress me with their superstar abilities. Steve Jobs might be a great manager, but from what I have seen in the movie "The Pirates of Silcon Valley," based on Woz's portrail, he seems like an asshole to work for. But hey, all of those poor suckers who busted their butt working 90 hour weeks who didn't get their stock options got screwed in the end.

  92. watch out for primadonnas by j_l_larson · · Score: 1

    Some of the seeming superstars are the ones who can talk your ear off about programming and their brilliant insights and experience. But once you get them into the workplace they bring productivity of everyone around them to a crawl. They are temperamental, ridiculous, stubborn, irrational, fond of verbose complication over simple and straightforward and *highly* political. These people sound great, know all the right words and buzzwords to use but they get nothing done. Zero. They are all talk. Often they have Ph.D.s or will frequently bring up how they used to work at ILM or Pixar or some great place where they are no longer employed. Primadonnas *SUCK*.

  93. Flip the question around by Corydon76 · · Score: 2, Informative

    Most of these responses are geared towards evaluating people once they're in the door, and that's fine, but if you want to find quality people, the best way to do it is to flip around the question and think about it from the prospective employee's point of view: how do they find you?

    Word of mouth is certainly the best way, but I've also found the following ways that work:

    Hang around computer groups in your area, talk to people, learn who's good. Many businesspeople will try this once, in that they attend one meeting, they talk to the members of the group, and they leave, and they don't find it very worthwhile. The problem with this approach is that the members are unlikely to open up to you the first time they're meeting you. You need to hang around for several meetings before they will begin to trust your presence and will open up to you, and you can then discover which ones are bullshit artists and which ones truly have talent to share.

    Teach programming classes. This is what I do. I teach a weekly class from time to time, on C or Perl. I give the class for free, the class lasts 8-10 weeks, and the ones who turn in their homework assignments, and ask for feedback are the type of people that you want -- they are the type to become superstar programmers, and with a little guidance, they will. This also means that you can hire them on a fair market salary and not have to pay the big bucks. After all, you are looking for motivated individuals who are willing to learn new things. What better way to get the programmers you want than to entice them with a free class in the language you want them to use, and let the ones who are truly motivated show themselves to you. The best place to advertise these classes are the above user groups.

  94. Writing a good job listing and recruiters by bziman · · Score: 3, Interesting

    Let me tell you a story...

    I'm no a "superstar". But I'm a solid experienced programmer who does it for fun. I spent ten years with one company -- growing with it from an intern in a six person company to a senior engineer in a nine hundred person company. I got bored, and I left. Since then, I've been going to grad school, and browsing job listings looking for that "perfect job" for when I decide I should go back to work. I've talked to dozens of recruiters and been to a number of interviews, and I've taken a few short term jobs, mostly for fun, or to see what it's like, but mostly I take it easy, and do the school thing.

    So I've looked at a lot of job listings and talked to a lot of recruiters, and one huge problem I've found is that recruiters tend to know next to nothing about the positions they're recruiting for. I got a cold call from a recruiter the other day for a position that isn't something I would ever do because I'd been one of the people who built the software that they were implementing at their client -- sort of like trying to recruit Ian Murdock to help implement Debian at your client site. A little bit of overkill.

    Her problem was that all she had to go on was the name of the software and a long list of programming languages. She didn't know what any of it meant, and was just looking for resumes that contained those keywords. To help her out, I explained to her (in small words) the architecture of the product she's recruiting for, and the different types of experts available, and told her what questions to ask to see if people are a match for the position. It won't help her judge their quality, but at least it'll point her toward people who might be interested.

    Speaking of long lists of programming languages... there are so many job listings that list all major programming languages or all major operating systems. That's... stupid. How many projects use five different programming languages? And who'd want to work on one that did? I usually know most of the languages listed, but it makes me suspect that the author of the listing doesn't know what they're talking about.

    So the important things, I suppose, are to make sure that your job advertisements are fairly specific to what you're doing -- don't advertise J2EE if you are writing your own threading and server code, don't advertise "Core Java" if you're looking for someone to program JSPs. And if you want to scare off the lesser programmers, mention "scary" algorithms that might come in handy -- "familiarity with Q-learning a plus" or something like that.

    Good luck!

    --brian

    1. Re:Writing a good job listing and recruiters by smellotron · · Score: 1

      And if you want to scare off the lesser programmers, mention "scary" algorithms that might come in handy—"familiarity with Q-learning a plus" or something like that.

      Just be careful with that. I've become the main "tech filter" for potential candidates at my company, and one of my new pet peeves is people name-dropping uncommon data structures without having the cojones to back it up. Though, it is cool to find someone who mentions L-systems or Hough Transforms and really means it.

    2. Re:Writing a good job listing and recruiters by CoolGopher · · Score: 1

      How many projects use five different programming languages? Well, let's see. Our current system:
      1. Kernel modules. Written in C.
      2. Core of the application. Written in C++
      3. GUI and reporting system. Written in Java.
      4. Build environment. Written in Bourne shell script language.
      5. Various pre-processing of code and/or data files. Written in perl.
      (6. Makefiles, if you count them as a separate language)

      We certainly haven't been going out of our way to use as many languages as possible (quite the opposite), but in the end it's about using the language that makes the most sense for the task at hand.

      While I fully agree with the folly of "listing every OS/language under the sun", many projects will use far more than a One True Language. This is not a bad thing, it's a sign of people being smart enough to realise that every problem is not a nail in search of a hammer :)
    3. Re:Writing a good job listing and recruiters by Gazzonyx · · Score: 1
      If I may interject... isn't listing the languages part of the problem? Great developers don't care about languages in the same sense that recruiters do; we study languages from an abstract point of view. What are the weaknesses and advantages of this language? How does it 'play with others' interface wise?


      If you're looking for a great programmer, it'll be the person who says, "none of the languages I am familiar with are a good fit for your problem, but I think *insert language here* that I've read up on a bit might fit it much better, as per your requirements. Give me a week to learn it, and I've got to get *insert plugin name here* for *insert IDE chosen for technological merits*." Not the person who says, "yeah, I can make *language* do that" without hesitation. Beware of programmers who carry screwdrivers or are afraid to learn new languages where merited, and you will do well!

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  95. Programming puzzles & internal referrals by martincmartin · · Score: 2, Informative

    We using programming puzzles as part of our recruiting efforts. We put them on the subway and as ads on slashdot. We get a lot of submissions saying "I saw your puzzle on the Red line and thought I'd give it a try." One of our puzzles was linked on reddit, and that generated a bunch of submissions.

    But our single biggest source of leads is referrals from people who already work here. Something like 40-50% of new hires are found that way.

  96. Related problem by thegameiam · · Score: 1

    I've encountered a related problem in my (non-programming) line of work. I'm in networking, and I've probably given 100 technical interviews over the past 2 years. Of those, I've only recommended hiring 4 or 5 of the candidates. Why not? Because when someone puts "OSPF" on their resume, I expect them to be able to intelligently talk about its utility and shortcomings, and compare it with other IGPs.

    A bunch of the candidates I've spoken to have been egregious fakers, and it's really, really hard to find the good ones among the not-so-good.

    --
    Need Geek Rock? Try The Franchise!
  97. Dig in the hinterlands by An+Ominous+Cow+Erred · · Score: 4, Interesting

    There's a vast pool of trapped talent in rural areas in the U.S..

    As an example, I spent most of my life stuck in Southeast Idaho. There's a surprisingly large geek population there, but not a lot of employment for them. Generally people wind up stuck in low-paying dead-end jobs doing whatever they can (first tier phone tech support at the call centers that constitute the majority of non-agricultural employment, or as IT for a cash-strapped school district that is distrustful of the internet for religious reasons).

    Because you are living paycheck to paycheck, you don't have the ability to relocate yourself with the funding necessary to find a job somewhere better. The majority of escapees (including myself) that I know of actually LIED on their resume and put a friend's address on it in a more lucrative market, and then lived homeless/couchsurfed/hitchhiked in order to get to interviews. It takes a lot of guts to throw caution to the wind and do that, and there's so much potential talent out there that could be snagged if employers would just reach out and find people and offer an escape that doesn't involve so much uncertainty.

    Most people within 20 miles of Silicon Valley/NoVa tech corridor, etc. have the physical support infrastructure to get a job already. The hidden gems will be found in places where geeks don't have that option. The best places to look are population 25k-75k towns which don't have a major metro area within a 150 mile radius, and a depressed economy that precludes local employment providing enough income for geeks to self-finance a move to the high-cost-of-living of a tech hub.

  98. Salary range by michaelmalak · · Score: 2, Interesting
    If superstars are really 10x as good as the average, why are they paid only twice as much?

    I don't know if this will work, but here's a suggestion: increase your offer by 30% and on top of that be willing to pay for the services of headhunters and "staffing companies". Limit each headhunter to one resume.

    Next step is to devise a way to qualify the applicants. This is an eternally discussed subject, and there are lots of suggestions out there: IQ-type questions, portfolios of past work, hobby computer experience, and just plain old good interview questions, such as "what's the hardest bug you've found, and how did you find it?"; "what's the most speed optimization you've realized?"; "what's the most clever algorithm you've invented?"

    1. Re:Salary range by emurphy42 · · Score: 1

      "what's the most speed optimization you've realized?"
      At my last job, the boss had the brillant idea of outsourcing some of the coding to an Indian team. Now some Indian coders are good enough to overcome the various disadvantages of being several time zones away, but these guys weren't. I did a one-line fix to one of their routines, along the lines of // old code loop through each record in a file if starts with (desired prefix) then do something end loop // new code loop through each record in a file, starting at (desired prefix) and ending at (desired prefix + CHR(255)) do something end loop Of course, you know they only tested this on a file with like 10 records in it, whereas the live file had more like 150,000 (and typically only a dozen or two for any given prefix).
    2. Re:Salary range by emurphy42 · · Score: 1

      Whoops, let's try that again with the proper markup.

      "what's the most speed optimization you've realized?"

      At my last job, the boss had the brillant idea of outsourcing some of the coding to an Indian team. Now some Indian coders are good enough to overcome the various disadvantages of being several time zones away, but these guys weren't.

      I did a one-line fix to one of their routines, along the lines of

      // old code
      loop through each record in a file
      if starts with (desired prefix) then do something
      end loop

      // new code
      loop through each record in a file, starting at (desired prefix) and ending at (desired prefix + CHR(255))
      do something
      end loop

      Of course, you know they only tested this on a file with like 10 records in it, whereas the live file had more like 150,000 (and typically only a dozen or two for any given prefix).

  99. Finding geeks by Anonymous Coward · · Score: 2, Interesting

    I don't know if I'm a good programmer. I think I'm okay, but I can always be better. I have code running on millions of machines and it works alright, but it's not perfect. I've never looked for work. I quit my first job after 13 years because it just felt like I'd worked there for too long. I sat around for 18 months building robots and learning about OpenGL and then the phone rang from a startup who found my resume and geeky stuff on the web and needed someone to work on the kind of stuff I can do. Alas, they ran out of funding before they could ramp profits up to sustainability, and I proceeded to sit around some more hacking away on fun stuff waiting for the phone to ring again. It eventually did, and I've been at job number three for the past 4 years.

    My advice is to go surfing looking for unusual resumes and examples of good work of the kind you're looking for that have been placed on the web by geeks who really hate hunting for jobs but look like they might be fun to work with and seem to live to write code. I'm sure they'd appreciate it.

  100. Re:Easy... by AuMatar · · Score: 1

    Too long, to truly minimize it you must use perl. It should look something like:

    $_ =~/.\]/*()./!+;

    Perl6 will improve this so only a single keystroke is needed.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  101. Super Stars are often self employed by rmdstudio · · Score: 1

    Great developers often generate more income when they work for themselves where nobody would look over their shoulder and tell them how to do things. They become the CEO of their own company within few years, vs. if they work for another company, they may never get that opportunity.

    Knowing that, if they don't work "for" anybody, they are often more than happy to work "with" other teams as collaborators as long as they get to have direct communication with the clients and stake holders and the opportunity to participate in all the decision making process. Great developers despise command chains and management hierarchies and instead prefer to work in flat team structures.

    Remember: It is always easier for the Hackers to learn about business than Business people to learn about technology.

  102. Pimp yourself on Slashdot by Zombie · · Score: 1
    1. Get an Ask Slashdot article posted with your real name and e-mail address.
    2. Get people to find your personal site via the domain name in your e-mail address.
    3. Put a fat banner on that, redirecting the crowd from Slashdot to your blog. Warning #1: say you are an export C# programmer on your blog.
    4. Put stuff about your company on your professional site.
    5. Put a big job ad on the front page of your company, White Oak Technologies.
    6. Post a bunch of stupid, tedious, entry-level jobs on your jobs page. Warning #2.
    7. Put this on the bottom of the jobs page: "Applicants must be U.S. citizens and selected applicant will be subject to a government security investigation and must meet eligibility requirements for access to classified information." Three strikes, you're out.
    Limiting yourself to U.S. citizens excludes most decent programmers outside and inside the U.S. Excluding people who will pass a government security investigation excludes all the programmers who've done... interesting things. Excluding people who are willing to do U.S. government contracting work, well... ;-)
  103. The problem is not finding them... by CokeJunky · · Score: 1

    It's validating their claims. The only way to really prove someone is a superstar is to audition them -- actually have them do some work, when another superstar (or at least another programmer who knows the difference between a superstar and a regular grade B programmer) work with them, and figure it out.

    Besides, what makes a superstar? It's not just pure brilliance -- they have to be able to be flexible, integrate quickly with a team, and properly document and share their ideas without treating their colleagues like children.

    Back when I still thought I wanted to write video games for a living, there was a great book on the topic of designing and marketing games. Well, a humorous book, anyways. It discussed the problem of working with Prima-Dona programmers, and ways to get them to work on the team. My favorite anecdote described a programmer who was excellent, but worked in such a way to ensure that they were irreplaceable. So, what that company did is hire another programmer, who was relatively young and willing to play the part, and gave the irreplaceable guy a 'promotion' and an 'assistant'. The assistant's real job was to get a handle on the internals of what the other guy was doing, and document it. After a few months, the assistant gained the trust of the prima-dona, and figured out everything, and then presented his new documented, highly professional replacement component, and the prima-dona programmer was given a chance to shape up or ship out... I don't remember the exact outcome, but I enjoyed the story.

    The point is that it is highly subjective, and dependent on the environment to find someone like that.

    I know I would rather have a solid hard-worker who isn't necessary brilliant, but is good, and has a likable personality and good attitude towards work and the company/team, than an impossible genius any day.

    --
    More Caffeine. NOW
  104. Commandos by Anonymous Coward · · Score: 1, Insightful

    I agree that a superstar is the one that just gets the damn thing done but still manages to do it as part of a team. This usually results in an overall improvement of the team. Many people think the superstar as the one who hides in a corner and comes up with brilliance but doesn't play well with others. I call them commandos.
    Personally when I hire I want a mix of superstars, commandos and drones. Drones are needed to do things like translations and so on. They need to be good but can be nearly completely devoid of innovation.
    Commandos, when properly managed, can partially simulate superstars by coming up with insane code that when fixed by others is very good. But never leave a commando in charge.
    Superstars are difficult to manage. Not due to any problem with them but simply the speed at which they work. They can usually take a team and run their feature set to 110% with few bugs and so on. But then you end up having them clean up after other groups and then everyone feels used or abused. But as to your question about superstars. The better the superstar the more likely it is that they know what to do better than anyone in your organization. Thus if I were working in PHP as a codebase and a real superstar came available but wanted to work in Erlang I would seriously think about either switching the project over to Erlang or at least the bits that I needed some superstar work on. This way you can get the superstar as they will realize you comprehend their value. But this leads to another question. What is the difference between a superstar who can help take you to a whole other level and some nerd who wants to play in a new sandbox? This is where references come in. Real references from people you personally trust. Thus my answer is like many of the above. Networking is how you are going to get the superstar. You let it out on your network that you have something that demands a superstar and you might get one. But if you want a super drone then ...

    Lastly I think there are a few signs of superstars. Expertise way outside of programming. A superstar programmer is usually not the one who wins obfuscation contests. They are the one that understands you have a problem that needs solving because it somehow will help the company and eventually its bottom line. Thus when you talk to them they will refer to technology as a tool to solve your problem. One thing that I have noticed is that the better the programmer the less obsessed with computers and programming. They can talk for hours with the right person about the performance problems of exception handling vs the architectural advantages but won't say a word with someone who isn't a high caliber programmer about programming. So a good test is that you sit them down with an accountant and they will talk accounting and so on. Also in this same vein great programmers also tend to not have much paperwork or anything that diverts them from the direct path of problem solving. So no certifications, few degrees, and few jobs with giant companies. Also their resume is rarely nebulous. No "assisted in the deployment of..." usually a straight: "designed, and implemented monkey fondler in C++ on an embedded system. Lastly their resume will read like a timeline of computer technology. You will see a series of projects where the best technology of the day was used. This shows that your project will not be from the dark ages as well as a huge ability to learn.
    Good luck

  105. nepotism by mo · · Score: 1

    I've actually been trying to hire superstars for my company recently, and I find they fit into two categories:

    1) Superstars who are content where they are are purely fought-over by their former colleagues. They never look for work because they're constantly being recruited by their peers. If they do look for work, they just apply directly to Google, or wherever else they might want to work.

    2) Superstars who are more ambitious quickly advance to a point where they only really work for companies they found themselves. At this point, even if you do know them, it's hard to hire them unless you're going in on a joint venture.

    With these two facts in mind, the only real way to hire superstars is to make them. Find younger talent, preferably straight out of college and groom them for 3-4 years. If you're near a university, try to strike up a dialog with the professors, see if you can get access to their TAs or star students. Talented programmers tend to hang out with each other, so if you do land a superstar, you've got a good chance at hiring their buddies too.

  106. Re:shortcomings of the windows environment by Lord+Grey · · Score: 2, Interesting

    Superprogrammers, who are seem to be consensually defined here as "someone who writes the right code at the right time in the right time," can most certainly dislike Windows, Vista, Linux, Macintosh, COBOL, whatever. They can dislike anything they want to. The important point here is that superprogrammers deliver what you need, when you need it.

    Someone who is truly amazing at getting the most out of a LAMP web site isn't necessarily the best person to write a first-person shooter in C++. They're superstars in one arena, not all arenas, and maybe not your arena. In that case, they aren't a superprogrammer to you.

    --
    // Beyond Here Lie Dragons
  107. Be a "project management superstar" by spammacus · · Score: 1

    And make sure this is well known in the industry.

    I'm not saying that I'm a superstar. But if I were, I'd look for a group with a track record solid project management. This means a group that

    1. Keeps numbers on man-hours from previous projects and uses these numbers as a heuristic when scheduling future projects.
    2. A company that puts out controlled revisions of its existing software at regular intervals, without much deadline slippage.
    3. A company with low staff turnover.
    4. Interesting projects that really attempt something new.

    Things I would not touch with a 40-foot pole:

    1. Long (multi-year) release cycles that never seem to quite make it out the door.
    2. Execs who set deadlines based on thin air, or when the next trade show is.
    3. A reputation for frequent and serious "crunches" where developers are expected to work 70 hour weeks. Occasional crunches are part of the business. If they happen too often, it's a sign of bad management.
    4. Projects that basically reinvent someone else's product so the company in question can get a piece of the market.

    Nothing kills a love of programming like constant crunch time, schedules based on thin air, and an incompetent, bureaucratic approach.

    Sadly, it's most often the organisations whose project management is totally out of control who are seeking the "superstar coders" - they want guys who are 10x more productive in order to save them from serious scheduling mistakes they have already committed.

  108. On the subject of college campuses by McBoogie · · Score: 1

    Don't always bar on experience either. If you look at some of the top schools they can put out some amazing people that just haven't gotten their hands dirty yet (me being one of them). My advice is to contact the computer science departments of many universities and find out what is the best route to advertise an internship. It is a gamble, but you get a programmer for way less than market value, and you don't have to keep them if they don't perform. Plus, if you do have a really dynamic and exciting company word will travel fast and you'll get a lot more students (and their associations) knocking at your door. The key thing is a campus presence, students won't come to you till you come to them and give a talk on what you do. All the top students I know got hired by companies that came and gave talks/internships first.

  109. What I would consider by ThisIsNoNickName · · Score: 1
    A good programmer...
    • Usually isn't a good programmer only. (But has multiple skills)
    • Has a lot of hidden material/knowledge not written in his CV or told you in a first meeting
    • Is organized very well (I would go so far to say, that he has is own way [of Dave Allen's] GTD)
    • Is intelligent and has a good memory.
    • Is healthy. You can't give 100% without being healthy (in common terms)! There are exceptions: Beethoven was still productive while being deaf. Evelyn Glennie [80% deaf since age of 12])... Lunatics? Madness mostly is very diverting.
    • Works (mostly) for passion and not for money.
    • Chooses and isn't chosen.
    • Can switch between open mindedness and single-task-focus-only very fast.
    • Adapts his environment to himself and not himself to the environment.
    • Is entitled as being a strange guy by his co-workers often.
    • Crap.
    • Does read on lists, though there are lines with crap because the most beautiful treasures are often found at the bottom of a lot of crap. ;)
    ...I think.
    --
    home: kreatium.de tblog: i-no.org
  110. Do interesting things, don't pay chicken feed. by refactored · · Score: 1
    1. Do interesting things. Not just "hard" things, but interesting. (Hint...Interesting refers to the How, not the What. Shoveling Shit using robotic controllers and embedded linux is _much_ more interesting than designing countless VB forms to count gold.)
    2. Do (ethically/socially) Good things. Good People only work for Evil inc if they have no other choice.
    3. Do it in beautiful places. A Good programmer that doesn't burn out wants to live a good life to. (NZ is a good choice. :-)
    4. Let them have a Real Life. Or they'll soon cease to be superstars. (One company had a superstar chained to his desk almost 24/7... they pulled him in to help sell to the Big Overseas customer...having been forced to lift his eyes from his screen he saw....nice girl. Never came back.)
    5. The "Real Life" thing costs money to maintain. Don't pay chicken feed.
    6. Do it in a pleasant environment. Doesn't have to be glossy, just clean, uncramped, quiet, lots of fresh air.
    1. Re:Do interesting things, don't pay chicken feed. by geekoid · · Score: 1

      about 2... What makes you think there are no evil 'Superstars'?

      I mean, if your company has no evil, how can you hire a sys admin?

      BTW, are you hire people to write SSRCs?

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  111. Word of mouth by Is0m0rph · · Score: 1

    Word of mouth. Depending on the industry (I code in the semiconductor industry) the current employees know a lot of other people in the field. I wouldn't categorize myself as a superstar but I'm very good at what I do and when I left my company last year I knew enough people in the industry that knew my work and reputation that when I went to interview at another company they wanted to hire me before I even interviewed. The interview just clinched it, because if the programmer doesn't have good communication skills and is easy to get along with they may be a superstar that will hold your other employees back because they can't work with him (I'd say her too but I've only worked with one competent female programmer in this industry and she couldn't get along with anybody).

  112. Re:Old? You mean "Young with Experience"... :-) by avandesande · · Score: 1

    Older people (especially with kids) are more likely to stay around and contribute to their job, unlike kids who are padding their resume so they can go somewhere else for more money.

    --
    love is just extroverted narcissism
  113. well, they there by TheMMaster · · Score: 1

    I do posix, I'm good, don't tell me I can't use vim. What do you need?

    --
    Fighting for peace is like fucking for virginity
  114. NotchUp by MrMunkey · · Score: 1

    NotchUp might be right up your alley.

    I do not work for NotchUp. I just knew about it and their target hiring audience is higher level people. Though I suppose it wouldn't necessarily weed out people who have a good resume but are just slightly better at programming that that goo under my sink.

  115. You're looking for the wrong thing. by scorp1us · · Score: 1

    As someone who is responsible for hiring people, and being an ace programmer myself, I can say that any good developer won't show it in the resume. I personally have had a history of a lot of job changes. I mean to stay, but something pisses me off and I split. While it might seem egocentric, for me to say so, I don't have to hold on to a job because I need to have it. My last COO treated the development department, and particularly me as head of it like crap. In two weeks I had a job- not just any job, but one with more pay, less hours, and better management. I'm inclined to think that other aces don't put up with crap either.

    The other thing I mentioned and will elaborate on is that you can't judge people by the resume. Get everyone in, meet them. Geeks are not great at self-promotion. They are more about structure and technology than self-promotion. These are skilled bit-smiths, not word-smiths. Often they have hints of autism that make them evaluate the world differently. Look for these quirks and see if the attitude and previous experience will work for you.

    Also, think about what you need in terms of ability, not prior knowledge. Everyone can learn, but HOW you learn is more important. Its the difference between "I don't know how so I cant" and "what do I need to know so I can?" "Geniuses" either invest an exhorbinate amoutn of time or pick things up quickly. I'm personally the pick-things-up-quickly kind.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    1. Re:You're looking for the wrong thing. by geekoid · · Score: 1

      haha, your posts screams not a 'Superstar'.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:You're looking for the wrong thing. by drew_eckhardt · · Score: 1

      >As someone who is responsible for hiring people, and being an ace programmer myself, I can say that any good developer won't show it in the resume.

      Sure they do.

      Top notch people with more than a few years of experience find the opportunity to do challenging things so their resumes are unusually complex for some one with their years of experience or dense with such projects.

      Top notch people are tool builders and not just tool users. They'll have written things like simulators, compilers, and build tools when off the shelf products were unavailable.

      Top notch people are creative. They build products that would also make nice research papers/PhD theses or list novel solutions on their resumes that do wonders for performance and would make nice patents. If they did a dissertation or thesis it had a meaty implementation component.

  116. Re:I'm right here! by mollymoo · · Score: 1

    Surely a superstar would have found where he works and answered the question of location for themselves. It took me about a minute (not that that necessarily makes me a superstar of course).

    --
    Chernobyl 'not a wildlife haven' - BBC News
  117. There is an immediate problem here.... by refactored · · Score: 2, Funny
    ...they're in Chicago.

    Can't be that smart.

    1. Re:There is an immediate problem here.... by AKAImBatman · · Score: 1

      You know, I was out in SanFran for a while. Didn't like it at all. The food was terrible (I'm not a fan of seafood, though there was some good Chinese), the transportation system sucked, there were technology wannabes everywhere (did you know that Linux runs over 80% of the internet? Heard that gem on the BART from some fool who didn't understand that Apache != Linux), the weather was painful (Am I hot or cold? No idea, what with the sun and the Bay breeze), Christmas doesn't feel like Christmas, shopping sucks, and the city was dirty as a wild pig with unlimited slop. (Especially the rather disgusting homeless.) About the only thing I liked was the job. In the end it wasn't enough to keep me out there.

    2. Re:There is an immediate problem here.... by JWW · · Score: 1

      Incendentally while the guy on BART was wrong about the internet, the LED sign system for BART does run on Linux....

  118. MOD Parent up by PRMan · · Score: 1

    You just described every detail about me. Unbelievable.

    --
    Peter predicted that you would "deliberately forget" creation 2000 years ago...
  119. Re:Similarly... any tips for soon-to-be graduates? by drew_eckhardt · · Score: 1

    I would never hire a software engineer (which takes a combination of creativity and technical aptitude) without a track record and don't know many people outside large companies who would.

    The key is that the experience doesn't have to be paid. Find an area of software that interests you (I've always been fond of systems software), take lab/project classes where you can build related real projects (I built a toy 'C' compiler in school), do something that has a meaty implementation component for your master's thesis, and do open-source projects (I added a SCSI subsystem to my favorite free unix). The open source part is especially important because it gives you something concrete to point people at.

    The first few non-trivial software projects you build will have sub-optimal designs and maintainability issues; getting that out of the way before its important

  120. This works, but... by clsours · · Score: 1

    http://xkcd.com/356/
    ...its hard to get them working again afterwards.

    --
    Seagoon: Shut up Eccles!

    Eccles: Shut up Eccles!
  121. What The Industry Misses by RenoGeek · · Score: 1

    To be honest, in my programming experience, the one thing that companies miss is the fact that programmers aren't "coding ninjas" based off experience. In my studies, I was the top programmer in all of my classes and had recommendations from all of my CS professors. The problem is, companies are blind to that fact! It didn't matter that there are those who's passion and personal experience far exceed those who have been in the industry for 5, 10, or 20 years. To date, I've worked in many companies who were so intent on hiring those "Senior Programmers" with at least 5-10 years experience, while I had the title of "Jr. Developer" only to have me go in and fix all the problems with newer, more efficient code. Newer developers are more intent on bringing systems to the 21st century, and a company that is willing to give those who have fresh ideas a chance are more likely to succeed. For example, the company I am currently with has 2 senior developers -- both 3 years post-degree nonetheless -- and the efficiency and technology behind applications released in just the past month far exceeds any of those I've seen in any company I've been with who were "too afraid" to take in new ideas.

    --
    Clones are people two!
  122. Recruit at Elite Schools by pz · · Score: 1

    IAAPP (I am a professional programmer, that is, I get paid to code). I was educated at an elite school in their computer science department. Of the people I've known in my professional life, the superstars -- the one-in-a-thousands, and I most certainly do not count myself among them -- over half were educated at elite universities.

    This means two things, first, you can find superstar programmers that were not educated at places like MIT, Carnegie Mellon, Stanford, etc. But it also means that you'll have a good chance of finding them by recruiting at places like that.

    If you ask elite universities the best way to recruit there, they'll push you toward their careers office. That will get you the good programmers. You'll only get the superstars by having a relationship with a faculty member -- perhaps your old professor -- and getting them to give you the inside scoop.

    Superstars don't go through the normal hiring mechanisms. They don't need to.

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
  123. Hinterlands = Fort Wayne, IN by NevarMore · · Score: 1

    http://tripractix.com/job_opportunities

    Fort Wayne isn't exactly a small town, but its not on the radar for most people. Have a look and send me a resume, my team needs a new developer and the rest of the company needs sysadmins for our hosted customers.

    1. Re:Hinterlands = Fort Wayne, IN by An+Ominous+Cow+Erred · · Score: 2, Insightful

      Oh, I already escaped. =) I'm now living in one of my top 3 favorite cities so I'm set now.

      In any case, Ft. Wayne is *not* a small city. It's a major metro area in its own right. You do have jobs. It's not, however, a hotspot, so you'll have to work a bit harder to convince talent from say, North Dakota, to come there (though if you made a good offer and did it right, you could!).

      Where should you be looking? Nearby cities that are filled with despair, like Coldwater, MI. Find the young, talented, but repressed geeks who are trapped there, dreaming of a way out. Draw from tiny towns in Kentucky, where a geek dreams of getting away from the rednecks in pickup trucks that throw beer bottles at him.

      The key is to find the ones that are talented but trapped. Recruiters normally are too busy trying to poach people within 20 miles of a company's zip code, so these people slip between the cracks. (Lord knows, I have a great job now and I still have to give the finger to an endless stream of recruiters -- where were they when I needed them?)

  124. How to identify a programming superstar by Wargames · · Score: 1

    A programming superstar can think about a problem for 3 months and then write 15000 lines of code in 48 hours to implement a solution that works for 10 years. A programming superstar can spend 2 weeks non-stop in a cold room hammering out a solution to save a company from bankrupcy. A programming superstar can also be faced with a crisis on a Friday evening at 5PM, write 25 lines of code that generate a 120,000 line program from a spreadsheet by 6PM so that programming superstar can go home crisis averted. A programming superstar doesn't care about language* or system or hardware, it doesn't matter... the only thing that matters is the project. Look at the projects your candidates have lead.

    One possible way to differentiate the wheat from the chafe is to ask them to write a program to solve a particular maze. The mediocre programmer will write a program that solves your maze, a good programmer will write a program to solve a class of mazes, the superstar will write a program to solve mazes. The main thing is that the superstar will enjoy solving the problem.

    *[except Perl, programming superstars hate Perl but love Rexx ;) ]

    --
    -- Each tock of the Planck clock is a new world and here we are still life. --
  125. Re:They have Bad /. karma ratings by hsdpa · · Score: 1

    They have bad /. Karma ratings I for one would hire a goatse-troll!
    --
    :(){ :|:& }:;
  126. Quality by bug1 · · Score: 1

    Interesting thing this quality you speak of, here is a quote from "Zen and the art of motorcycle maintenance"

    "Phaedrus felt that at the moment of pure quality perception, or not even quality perception, at the moment of pure quality, there is no subject and there is no object. There is only a sense of quality that produces a later awareness of subjects and objects. At the moment of pure Quality, subject and object are identical...It is this identity that is the basis of craftsmanship in all the technical arts."

    "And it is this identity that modern dualistically conceived technology lacks. The creator of it feels no particular sense of identity with it. The owner of it feels no particularly sense of identity with it. The user of it feels no particularly sense of identity with it.Hence, by Phadaerus' definition, it has no quality."

    I think this quote explains commercial vs Free software. Free software is about quality, commercial software is about money.

    Most professionals dont understand the concept of quality, professionalism is all about making compromises, a professional compromises his work to suit another purpose, be it to reach a certain market, demographic or price point. Professionals shouldnt talk about quality.

  127. Here is what you do by geekoid · · Score: 1

    You run your interview in a manner that looks good to self proclaimed superstars, then when you enter the "we're interested you phase" go to all the ones that say they aren't interested and tell them your not really like the interview, you just did that to weed out the really great people.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  128. Finding Superprogrammers. by Brett+Johnson · · Score: 3, Interesting

    In my experience, you attract premier programmers by doing this:

    - Know them personally or have worked with them in the past. When a stellar programmer changes jobs, it is almost always to work with someone they have directly worked with in the past. The great programmers don't usually browse the help-wanteds or craigslist looking for work -- they receive unsolicited offers from people they know and trust.

    - Have a project that is visible, interesting, and challenging. If a great programmer does happen to be open to new options it will be the ones that are truly interesting to him. Things that *don't* generate interest are: super-secret stealth mode startups (how can you hope to interest me if you tell me nothing), monetizing ad-space in video streaming, ecommerce, pr0n (other than as a consumer). Craigslist ads looking for "Rockstar programmers to work in a hip radical fast-moving environment with foosball tables, XBox 360s, and endless 'Dew" especially don't work.

    - Have a clear vision and communicate that vision well. Related to the previous item. If the project is interesting and challenging, you need to convey that fact effectively and motivationally. While attending an Internet2 conference, I attended a presentation by some guy studying off-shore microplate tectonics. They had embedded a network of sensors in the plates off of Puget Sound. The presentation was heavily into oceanographic and geological research -- not even remotely related to my previous employment history. But by the end of the presentation, I wanted to work on that project - now.

    - Grow your own. This is especially difficult to do. Great programmers are not born, they are bred. Intellect, problem solving skills, and drive are the raw materials; but experience working on great code with great mentors are what really builds a great programmer. Some of the best skills development happens in the first 5-7 years out of university. Stellar senior programmers tend to really become apparent in the 7-10 year experience range. Note that you rarely get great programmers right out of school. You can get talented programmers that have great potential right out of university. Identifying such diamonds-in-the-rough is a real challenge.

    - Don't be cheap. Great programmers tend to motivated more by the challenge than greed, however we still need to pay the rent/mortgage, eat, raise families. Free snacks and soda are OK, but not really sustaining. Great programmers are 4-10 times more productive than average programmers and should be compensated accordingly. Note that said compensation could be performance-based: equity or frequent raises. If you can only afford to pay a series of grad students $10/hr to write code, don't expect to be able snag a stellar professional with cup-o-noodles and a civil servant paycheck.

    1. Re:Finding Superprogrammers. by Boetsj · · Score: 1

      Couple of the points you made are described rather well in Joel Spolsky's "Smart and Gets Things Done" http://www.amazon.com/Smart-Gets-Things-Done-Technical/dp/1590598385/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1204183487&sr=8-1 which I would wholeheartedly recommend.

  129. I can't believe no one mentioned Joel Spolsky... by ThousandStars · · Score: 1
    ... at least so far as I've seen. Joel on Software already discussed it in Finding Great Developers and The Field Guide to Finding Great Developers.

    It also helps if you decide how you're going to compensate them too.

    Now that you've done the recruiting, do the interviews, which he's also discussed.

    Further questions? Read his website. Mine's about books, so it's not likely to be all that helpful for programmers.

  130. heh, if you ask riddles by geekoid · · Score: 4, Funny

    be prepared for answers that make you think.

    I did-like the riddle portion of an interview. Often given by people who thuink that are good at riddles.

    Example you responses I have given":

    "How man quarters would it take to fill this room"
    4 (I had to explain this answer at the end of the interview. )

    "How would you move MT. Fuji"
    "Am I going to work at Microsoft?"
    alternate answers:
    "Hire David Copperfield"(This gets a laugh)
    "Convince the boss guy who sold that project to fire his sales team"
    "Spec out the task, come up with a rough number, 500 Billion, after it is about 'half way through' Use the "Managed 500 Billion dollar project" on my resume to get a higher paying job somewhere else.

    Yes, I know the answer there looking for, but really who doesn't?

    I just remembered one that really pissed off the person interviewing:
    I can't believe I ahd forgotten theis.

    You have a farmer and chiken and a fox, only two of which can cross the river, but the chicken and fox can't be together without the farms.

    I picked up the phone, hit speaker, called a buddy of mine and had him put on his 9 year old son, who I repeated the question to and he answer in about 30 seconds

    My friend and his wife where laughing hysterically.

    After which I hung up, told them this was a great interview now I know for sure I never want to work here, and left.

    The word "Livid" comes to mind when thinking of there reaction. speechless would be another.

    One guy was literally sputtering....ah good times.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:heh, if you ask riddles by lgw · · Score: 1

      Calling the 9-year-old rocks. Best interview story ever. I would have hired you on the spot for that!

      Oddly, I about about the same answer for moving Mt Fuji: either bribe Japan's official cartographer to label some other point "Fujisan", or spec the project, commit to a schedule, and use that experience to get a real job. :)

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:heh, if you ask riddles by NeutronCowboy · · Score: 1

      Actually, the reason I love to ask riddles is that I want to see if people can think. I really don't care about the solution. The point of the riddle is not whether you know the answer, it is to see the thought process that a person uses to solve a problem. I'll take an answer of "I'll google it" in the case of known problems, I'll take an answer of "I'll ask someone who knows" - I'll pretty much take anything short of "I don't know" or a bullshit answer.

      There are really two things I look for in an interview: do they know what they say they know and can they think on their own. Bonus if they're personable. Everything else can be taught or looked up.

      --
      Those who can, do. Those who can't, sue.
    3. Re:heh, if you ask riddles by Anonymous Coward · · Score: 1, Interesting

      Ahhh gotta love those pych trick questions, pitiful game play on the part of interviews. I had that
      "How would you move MT. Fuji" one a couple of times. Once i just asked "Why?" and looked as though that were the craziest thing I'd ever head. Awkward silence, and no response from the interviewer. The other time I felt a bit more friendly, and said simply "If i were standing in front of it looking right at it, I'd turn around 180 degrees, then claim that it had moved as i could not see it anymore. I guess it depends on what you mean by move and your sense of persective.

    4. Re:heh, if you ask riddles by Mingco · · Score: 1

      I would respond that it's already moving. If they said no it's not, I would shift my chair a few inches and say, "In that case, I just moved it." If they continue to insist that it's not moving, I would get up and move their chair and say, "There, I now moved it for you, too." And if they say that I don't understand then, I would respond "No, you don't understand. You are the one who insisted that it wasn't moving in the first place. If you can explain why it's not moving, then the same explanation can be used to explain why I just moved it when I changed positions."

  131. Try this by lightsp33d · · Score: 1

    You don't find "Superstars" -- you meet them and work or have worked with them at some point in time.

    It is not that difficult to figure out who they are, things which are immediately apparent are: Their thinking process is well defined, almost like a mathematical theorem, layered, clear, defined; They always go the extra mile, they always create and invent, code related to the project, tools to help them in their process of their work (i.e. things they aren't really required to do as part of their work). They normally put things down on paper before they put a single line of code. They try to "prove" the design is correct before writing the code. They aren't a programmer-of-all-trades. They are normally dedicated to an industry, for example: security, networking, filesystems, storage, etc. They are an expert in that field. They have a university degree or two in related field: mathematics, cs, eeng, physics, etc. They've been tinkering with computers ever since they remember themselves. All these factors tell you something.

    Most importantly, really, is the word-of-mouth and/or the experience working with them. It's an absolute pleasure.

    Many employers say: "We need the superstars", but beware: "Superstars" have their opinions, which become immediately apparent at an interview. It really turns out that the employers aren't a match for the "superstars", not that there aren't any "superstars" out there.

  132. Best advice I saw on this thread by thrca · · Score: 1

    was to talk to your "super stars" (damn, I hate that almost as much as being called a "guru").

    If you have some really great programmers, they surely know other great programmers. If they say they don't, its because you haven't demonstrated that you can meet the needs of their friends. Would you recommend that a 5-star chef friend of yours go work at the local burger joint? I doubt it, because they A) wouldn't, B) probably wouldn't be your friend anymore, C) tell their friends not to take positions you are recommending.

    I have a handful of guys I would hire in a heartbeat if my company would step up and start compensating the great programmers what they were worth (or even an acceptable negotiation), but they don't so I won't bring my friends.

  133. answer: we don't by Uzik2 · · Score: 1

    The "truly elite" tend to be hard to work with. An employee who works
    with his employer and turns it decent work is preferable to a touchy
    prima donna that leaves you in the lurch.

    --
    -- Programming with boost is like building a house with lego. It's a cool but I wouldn't want to live in it
  134. PI: Programming Idol by owlman17 · · Score: 1

    1. How to find one? Start a programming reality show, with a panel of three judges. Each week, each of the candidates will program snippets of code. Viewers will text in their votes. Bottom one or two gets voted off each week till the programming superstar remains.

    Winner will get a huge cash incentive plus employment, stock options, etc. Any code he makes during that time will be open-source.

    2. ???
    3. Profit!!!

    I can just see it now:
    African-american judge: Y'know, you've always been my favorite dawg! I think you started off a bit unsure, but you nailed it in the end!
    Female judge: Your code... Its... just so pure. It cuts thru all the obfuscation. It really moves my heart. I'm your biggest fan.
    Brit judge: I just don't get it. You want to take on a piece of code that big that's been done to death by Knuth, you have to at least do it right. Your naming convention is dreadful, and the algorithm's uninspired. You want to stay on the show, you'll have to do better than that.

  135. Programmers Program by tjstork · · Score: 1

    Programming Superstars get that way because they program a lot. They love it. Programmers program. So, I would think that you look at people who actually have their own little shareware, blog, or some sort of program that they've written in their own time along with anything else on their resume. Just take the time to look at their sites and see what they are up to. If they are building things that you don't think your company could ever build, chances are, you would benefit from hiring them.

    --
    This is my sig.
  136. Finding Work by solprovider · · Score: 1

    Mirrors.

    I make businesses better. My personal interests are for my personal projects. Paid work results from companies realizing a great programmer is needed, usually after trying several "good" programmers. I arrive, learn about the business and the current needs, and complete projects so everybody is smiling. Programs are fast. Interfaces are easy to use and teach the job rather than requiring training. Designs are easily understood, options allow for changes in business, and the code is maintainable by normal programmers.

    Most companies need me for weeks. The largest projects only need my skills for months. With good plans and any difficult code written, projects succeed without my continuing involvement. The result is more of my time is spent waiting for work than working.

    I have been actively seeking work for a few weeks. The last effort was two years ago. Finding work is difficult. I have been involved with over 200 successful projects for over 70 companies; none of my projects were over financial or time budgets. I cannot sell myself since listing achievements sounds like bragging, focusing on teamwork makes me just a project manager, and focusing on code makes me just a programmer. Once contact is made with a customer, we focus on their needs; my breadth and depth of experience is obvious from my questions and solutions.

    Companies expect consulting firms to rave about the skills of consultants. My method is to contact several consulting firms. Consulting firms wait for a request for the best while giving most projects to less-expensive programmers. Contact is eventually made with a potential client, and I start work a few days later.

    I have met thousands of programmers. Most were good. Several were terrible. A few were great within their specialties. I have no idea how a company could locate those few. I doubt any company needs more than a few great programmers since a great programmer can handle the work of hundreds of good programmers. One project started as assisting with an almost-two-years-of-work backlog for a 20-programmer department. I focused on program design, code reuse, and mentoring the permanent teams so the work was completed quickly and the organization was more efficient. The backlog was eliminated in two months.

    I once had expectations that previous clients would contact me when attempting another urgent mission-critical project or discovering the IT department is not delivering well. Management turnover has eliminated that hope. Successful projects lead to promotions so my bosses rarely need me again. Bean counters look at immediate cost rather than ROI. Better development methods mean clients rarely have problems until most of the people aware of me have left. Few companies have used me more than once; the assignments were usually years apart, involved different skills and sometimes different consulting firms (e.g. DuPont and GM each used me for an architecture project and a programming project with no overlap of required skills.)

    Consulting firms usually prefer to offer good programmers with higher profitability than a great programmer. Web job boards seem useless; I have received only one position due to my resume being found on the Internet. (I have not posted to Joel's job board). Referrals work when management truly cares; about half my positions come from previous colleagues recommending me when a project's success seems hopeless. The rest of my jobs come from a consulting company caring more for a client's happiness than immediate profitability -- either about to lose a major contract because a project failed, or as the loss-leader suggesting that hiring more consultants from this firm will give similar results. At least one currently empty position is in that last category -- the diverse skills required are rarely found in one person and a consulting firm wants the "win" so I may be working soon.

    --
    I spend my life entertaining my brain.
    1. Re:Finding Work by LKM · · Score: 1

      Few companies have used me more than once

      Maybe their estimation of your capabilities does not match yours?

  137. this is how to find a superstar by kaizokuace · · Score: 1

    First you look at some of his sample code. Then you test the prospects mettle er I mean Metal! Do battle with guitars! If they stand up to the test of Metal they should be a superstar or on their way to superstardom!

    --
    Balderdash!
  138. You tell them... by lawn.ninja · · Score: 1

    That they will be granted 72 virgins willing to have sex with them.

  139. On a related note... by gr8_phk · · Score: 1

    I consider myself to be a great programmer (in some areas, and I know where my weaknesses are). Or more accurately, someone I consider really great can vouch for me. Anyway, I find that companies looking for great talent for important projects often list a masters degree or better as a requirement. This always turns me off for two reasons. 1) I don't have one, so I figure they'll reject me based on resume alone. 2) If they actually have some PhD types, they'll be making all the decisions and I'll be their go-fer (management supports this based on credentials of course). I can handle being a gopher for someone, but only if they're actually better than me. In that case, I'll be learning from them.

    1. Re:On a related note... by xero314 · · Score: 1

      Never let a job listing that states they require a masters keep you from considering the job. Every self taught individual in the world will tell you that you need to ignore those requirements and do what you need to if you want a company to consider you. It may not be the right environment, but it might also be that the person in charge of writing the requirements doesn't know what they really need, or is just trying to keep the slackers from applying.

      Also every person in the world has room to learn and they can learn from anyone, even people they don't consider to be better than them. And remember that if someone is higher than you in an organization they certainly have a skill you are lacking, even if that skill is the patients to get through a college program.

    2. Re:On a related note... by Rakishi · · Score: 1

      If you don't try you'll never succeed. Those requirements vary in how stringent they are and likely don't matter that much (I've seen a half dozen different positions use the exact same job requirements for example). That said you will need some way to demonstrate your ability on your resume, be it experience or recommendations from well known people or simple implied insanity/genius (ie: intelligence shown in ways that are so odd people can't help but wonder).

      In other words in getting a job it matters who you know, what people think you know and finally what you actually know. A degree is simply one way of getting the second (and theoretically third one) quickly although it's not the only way.

      In terms of what happens on the job, that really does vary depending on the people and how you act. You have to remember that an interview is as much about you learning about the company/possible co-workers/possible bosses as it is about them learning about you. If they are reasonable people then ti doesn't matter what you get hired for, if you're able to demonstrate some great ability you'll quickly be given a new position for it. Of course that requires you to do more than the bare minimum and actually go out of your way to find/solve problems (even ones you don't really need to concern yourself with). My dad has a number of such stories including one where he applied for a position he was unqualified for, bombed the interview for that position but showed such skill in what he actually knew that he was offered a much better position.

  140. Timing, and word of mouth by RexDevious · · Score: 1

    I've been programming for about 18 years, and have only had to hand in a resume once. The people who offer me jobs either already know my work, have heard about it, or offered me a job based on casual conversation.

    Finding me isn't the problem. If I would be a "superstar" in what you're trying to do, researching the problem itself will uncover something I've done in that area. The problem is I'm also fiercely loyal to whoever I work for. Which means that unless you find me at a time when I've already done what I was hired to do - I'm not going to leave to come work for someone else.

    I get job unsolicited job offers every week or so, from companies who clearly know something about me. I thank them, but tell them I'm involved in another problem and am currently unavailable. The good companies (like Yahoo) will ask me to let them know if I become available. The rest don't write back.

    Let me be clear on something here. A "superstar" programmer is *not* a great coder who will abandon his company for a higher salary or loftier title. People like that are great at first, but then eventually leave your company in the lurch - so badly that you'd have been better off with a lesser coder who stuck around. Remember, you want a great employee first, a great programmer second. The same goes for consultants for any project longer than a few weeks.

    So there are 2 ways of finding a superstar programmer.

    1. Find someone who learns fast and has a great personality, and is eager to pay their dues. Give them the resources to learn best practices, and watch them rise to the occasion. Someone like this will be at the level you need inside of a few months.
    2. Find someone who already has the experience and skills you need, and keep in touch with them until they become available.

    Both of these types of candidates will repay your patience many times over. They will put the success of your company at the top of their priorities, and their work will show it.

    The reasons for not poaching a superstar programmer from another company are the same as the reasons for not stealing someone's girlfriend. If they can be tempted them away from who they were with before, they can just as easily be tempted them away from you. Sometimes this takes the form of slacking off so they can do consulting work or just taking more time for themselves, and sometimes it takes the form of them giving you 1 week's notice in the middle of a six month project. And people with values like that rarely create work that can be handed off to someone else without painfully long ramp up times. Either way - you'll ultimately regret the hire. I've seen it happens dozens of times.

  141. perfect solution by ILuvRamen · · Score: 1

    I would strongly recommend working for an IT contracting and placement company called Tek Systems. They're the largest IT contracting company in the US and probably the world. They have relationships with some of the largest, best companies and once they approve you to work for them, it's like a quick backdoor or shortcut into a good company. A lot of their stuff is for hire too, it's not all set length project contracts. When it comes to programming, they actually have sort of a set aside group of really good programmers that they send in when the job is important. So if you really are the best programmer (like I am :-D) they'll send you on one of those. And trust me, if it's a bad place to work, they will drop that business as a customer real fast. It's like having over a dozen agents constantly searching companies for programming jobs and filtering them all out for you. Some of the time they trust Tek Systems enough that you get the contract without even going for an interview with the company since Tek Systems already interviewed you to work for them. When a smart, professional company wants someone to do a job, they just call up Tek Systems and say hey, send over a ____ and they take them and that's that. They skip the whole stupid searching and interviewing process because Tek Systems only sends really good, pre-approved workers. It's like shopping for people :-P I got a job with IBM and at a hospital through them so far and I'm only 20.

    --
    Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
  142. Chuck Norris? by owlman17 · · Score: 1

    Wait, are we thinking about the same person?

  143. Re:Easy... by superwiz · · Score: 1

    Umm, so you throw away the return value of a function? Doesn't seem very clean. I think you meant

    (void)printf(("Hello World!\n"));
    --
    Any guest worker system is indistinguishable from indentured servitude.
  144. Re:Easy... by smellotron · · Score: 1
    KISS:

    int (*main)(int, char**) = 0;
  145. What is the sound of genius happening ? by billcopc · · Score: 1

    You've got it backwards. You don't find the great programmers, they find you. If your company and your projects are interesting, and you respect your staff, your reputation will spread and attract smart masses. Likewise, if you suck balls, the incompetent fools will rush to you while the good guys will avoid you like the plague, and name low-level half-orcs after your product lines.

    You simply can't advertise "Now hiring geniuses".. well technically you can, but all you'll get is a bunch of posers and art-school dropouts. See the magic thing about us geeks is despite our anti-social nature, we hang out online, in forums not unlike Slashdot. We IM each other, we read blogs and we play MUDs and MMOs together. Inevitably with all those venues, we'll talk about life, work and money, and that's your chance to shine.

    --
    -Billco, Fnarg.com
  146. Looks like you've solved your problem... by nick5000 · · Score: 1

    ... you're on the front page of Slashdot.

  147. programmers by sentientbrendan · · Score: 1

    there are plenty of self taught programmers, but there are few self taught computer scientists and software developers.

    I have met brilliant people who are self taught, but those people are few and far between. Also, most of the brilliant self taught people I met at college, where they were going back to get their degree, even though they've been successful in the field for years.

    There are plenty of people out there who have read some "how to program" book out there and think they have the equivalent of a college degree in computer science, but most of them are garbage. The truth is a CS degree covers a lot more than programming, and a software developer needs to know a lot of theory and mathematics to do good work.

    Even if someone is self taught, they are always better off going back to college.

    1. Re:programmers by gmack · · Score: 1

      I can turn that on it's head too.. I've known some brilliant comp sci grads but a lot of them were average at best and near useless at worst.

    2. Re:programmers by xero314 · · Score: 1

      there are plenty of self taught programmers, but there are few self taught computer scientists and software developers. Who actually needs Computer Scientists. Remember scientists do research, real work is done by engineers. Yes there are plenty of self taught software, and even hardware, engineers in the world (the current leading software and hardware companies were founded by them). In generally real world programming requires very little knowledge of the inner workings of algorithms, and having someone hung up on such things will certain slow down productivity. Leave the comp sci grads to figuring out the next great compilation optimization, not writing software non-developers actually have to use.
    3. Re:programmers by Moochman · · Score: 1

      I used to think the same way as you. Programming is cool, algorithms are boring, I know how to program, so who cares? Then I took a course on algorithms that made me think differently. Mind you, it wasn't my favorite course by any means, and writing/analyzing such algorithms is far from my personal favorite activity, but that doesn't mean it's any less important.

      Think about it this way (example taken straight from the course): You're writing a database application and you need a sort function that can handle sorting a list of 1 million numbers. So you take the most intuitive, naive route: insertion sort. Even on a *supercomputer* capable of 1000 million operations per second, the sort will take around 33 minutes. Whereas if you had used a merge-sort algorithm, even on a *normal PC* only capable of 10 million ops/sec the whole thing would take just 100 seconds.

      Performance--as in time something takes to complete--is not something to take for granted; in many (read: the majority of) cases it's what makes or breaks the software in the marketplace and may prevent software from fulfilling a customer's requirements. This is especially true when it comes to algorithms, where there are often exponential increases in wait time involved if you pick the wrong algorithm. You may not find it interesting, you may think that "those silly computer scientists are holding the production up", but you need to face facts: algorithms are what makes the computing world go round. Everything from databases to media codecs to 3D graphics depends on efficient algorithms.

      I'm actually rather shocked that you don't understand this, assuming you are actually someone with a formal education in a computer-related field.

    4. Re:programmers by geekboy642 · · Score: 1

      Insertion sort isn't the most naive route. That would be bubble sort. However, in the correct context, insertion sort is useful. If your data is largely pre-sorted, or you are memory-limited, insertion sort will shine, operating in O(n) time and O(1) space.

      That said. 99% of the code you'll write is NOT algorithm code in a formal sense. If you find yourself re-inventing a sort algorithm on a modern platform, it's a sign that you've gone wrong somewhere. Libaries and APIs contain the algorithms, the code you should--and likely will--be writing is glue.

      --
      Just another "DOJ fascist authoritarian totalitarian bootlicker" -- Zeio
    5. Re:programmers by Biffers · · Score: 1

      I don't know what kind of code you write, but I think you're wrong. If a company is paying for software, they should be paying for the fastest most reliable code available. Where I live (in the NYC/tri-state area), a good number of employers are from the investment banking and insurance businesses. They expect algorithmically well written code, much of it will be multi-threaded and will handle millions of financial transactions daily that will occure in dozens of protocols (FIX, EDI, SWIFT, ebXML, ACORD, not to mention specific ones developed by 3rd party companies). Those transactions will be written using in-house written API's that every staff developer and consultant will have to learn. For enhancements or maintenance, Thousands (or hundreds of thousands) of lines of source code will have to be sifted through, the changes made and put into source control, compiled, tested in QA and then moved into production.

      In this area, you need both a college degree and experience. The college degree in Computer Science shows that you've been exposed to algorithmic software development. Experience is required because they generally don't teach you things like error checking in college:

      #include<cstdio>
      FILE *Fp=NULL;

      College:
      Fp = fopen("somefile","r+") ..

      College + Experience:
      if(!(Fp = fopen("somefile","r+"))){
            printf("that sucks\n");
            exit(1);
      }

      fclose(Fp);

      Beyond just hashing out code, someone with experience knows the importance of documentation.

    6. Re:programmers by xero314 · · Score: 1

      I have extensive knowledge in Algorithms, which is I why I know that most programmers do not need to know this information, and also that even your examples are wrong. I had to learn algorithms because I got sick of CS grads thinking that this was somehow important to business application development (the vast majority of programming that takes place in the world today).

      There is no need to know what sorting algorithm, or other algorithm, to use if you are working in a language that has significant APIs available. Most business application programmers only need to know what API interfaces to use and this is best figured out through benchmarking not understanding the underlying implementation. Sure if you are writing a compiler, working in a field were pre-existing APIs will not work for you, or possibly working on creating the next set of APIs then you may need to know algorithms, but that is why I was asking what specifically the OP considered a great programmer.

      Oh and performance and quality rarely make or break software or else Windows and MS products would not be the big sellers that they are.

    7. Re:programmers by Moochman · · Score: 1

      The database was just an example. Nice way to turn a reasonable argument into a holy flame war against computer scientists.

    8. Re:programmers by Moochman · · Score: 1

      This was not a discussion about "most programmers". This was my response to your comment that "computer scientists are not needed; all they do is hold up the development process" (paraphrased).

      Also, my examples are not wrong. But nice try at attempting to make yourself look more knowledgeable.

    9. Re:programmers by xero314 · · Score: 1
      You misunderstood my original comment. I guessing it's because you misinterpreted the statement about "real world" programmers and that I was referencing business application development (the majority of development being done). So a better paraphrasing of my statement would be "For the vast majority of development Computer Scientists are not needed and quite often caused more harm than good by chasing unnecessary reimplementation of well established algorithms."

      Also, my examples are not wrong. Many of the other responses have already pointed out where you were wrong, but allow me to reiterate and expand upon them.

      The majority of all sorting algorithms have a different application, but barring that it is agreed that Bubble sorts are the worst performing sorts for general application not insertion sorts. Second a hybrid merged-quicksort is going to be your best option for large data sets that are not already in a semi sorted order and don't require the order to remain stable. No matter how you look at it defaulting to a merged sort without knowing the state of the underlying data is foolish and a quicksort should be your fall back.

      Second why do you care about the sorting algorithm since the data store itself probably including indexing and ordering services that are going to be considerably faster than any in memory sort. If for some reason you need to do the sort in memory the development environment you are working in will probably already have a fairly well defined set of APIs that can be used for sorting and, assuming they are built well, they will chose the correct sort of the situation.

      Lastly performance is NEVER what makes or breaks software. No successful software project ever released was at the peak of efficiency. Useablity and marketing is what makes software successful, performance is only one small aspect of useablity, and in the majority of cases a minor aspect.

      I don't need to make myself look more knowledgeable and was actually trying to avoid that.
    10. Re:programmers by jeff4747 · · Score: 1

      The database was just an example.

      You are free to come up with a better example.

      Nice way to turn a reasonable argument into a holy flame war against computer scientists.

      The presence of quotes was meant to indicate sarcasm. As in "I'm a Computer Scientist! I know the BEST way to make a Database!". That's not to say all CS's do that. However, many who attach enormous value to their CS degree do.

      Let's be honest...after a few years a degree isn't very helpful any more. Sure, it's great at entry and maybe even midlevel jobs. At the time I could have received a CS degree, people were excited about Gopher and somebody had just come up with an idea of a web of hyperlinked pages.

      Programming today is drastically different, and the problems to solve are drastically different. I don't expect to implement a bubble, insert or any other sort for the rest of my career. I'm going to use the one built-in to the libraries I'm already using. My time is better spent developing and supporting the parts specific to the project.

  148. How to find a superstar by leed_25 · · Score: 1

    Well, I have a few suggestions. Try these in order:

            (1) You could require that all of your candidates take a carefully
            crafted programming test. The higher the mark that they get on
            the test, the better programmer they are. Duh.

            (2) You could ask them to bring a 5000 line sample of their code.
            Just a glance should tell you whether or not thay are a super
            star. After all, if their coding style looks like yours, they
            must be good, right?

            (3) You could get into a "design session" with them. Ask them
            something like:

                    Q: how would you design a house?

            Then let them talk and draw pictures for a few minutes. Pretend
            to be paying attention, nod in agreement a few times, ask a few
            clarifying questions --you get the idea. It doesn't really matter
            what the candidate says here, because when they are all done, you
            say something like:

                    "Oh, well that's pretty good, but I want a design that is
                    optimized for a family of giraffes" **

            What you are looking for here is how they respond to the kind of
            unexpected changes that happen in the real world.

    At this point, if the candidate takes a swing at you then you have
    found the right one.

    ---

    ** some jackass actually suggested this on his website.

  149. Interesting? Challenging? Sign me up! by tompaulco · · Score: 2, Interesting

    I used to be probably not a superstar, but certainly a star consultant in datawarehousing, replication, and database administration. Somewhere along the way (thanks Osama!) I got off of my preferred career track and now find myself working in an environment which is challenging for all the wrong reasons. My job is challenging in the way that punching your way through a brick wall is challenging, not in the way that, say, designing a skyscraper is challenging.
    I have been trying to break back into the datawarehousing world, but since my experience is now several years old, I have a hard time convincing companies to give me a chance.
    To answer your question, the best way to hire is your network. It is the same way for hiring as for getting hired. If I knew people in my area that were in the datawarehousing arena, I could probably get hired in a second, and that would be a good thing for both me and the company. Good for them, because after brushing off the rust, I know I will do an outstanding job, and good for me because I will be once again doing something I enjoy and making a difference instead of the technical equivalent of banging rocks together, which is what I do now.
    Are you hiring star datawarehouse people in addition to programmers?
    Why is everything technical in slashdot always about programming? There is so much more stuff that "nerds" do besides programming.

    --
    If you are not allowed to question your government then the government has answered your question.
  150. any environment by sentientbrendan · · Score: 1

    "There needs to be more detail on what a "Great Programmer" is. Is a great programmer a good code monkey capable of following instructions but turning out high amounts of bug free code? Is a great programmer a person that knows how to work without a specification but still do what the company or client needs? Is a great programmer a person who is great at coming up with new and unique software projects that may eventually be profitable"

    In short, a great software developer needs to be able to do all of these things and more. You also need to have your own specialty to bring to the team, so you can distinguish yourself from the other great programmers.

    >Oh and great programers do not necessarily come from formal education programs.
    >Most of the truly great programs, whether they went to college or not,
    >learned there skills through practice and self education.

    The vast majority of people come from formal education. You also need professional experience, but you'd be doing a disservice if you suggested that college isn't important. CS coursework teaches theory and mathematics that you won't get in the industry, and which is important in high level work. A lot of the good people in the industry who are self taught end up going back to school later after they realize they've hit a wall in what they can teach themselves.

    This may be an unpopular thing to say on slashdot, where everyone is convinced that they are uber leet HAXORS even all they do is dick around with their linux install, code a little python, and live out of their mom's basement.

    1. Re:any environment by xero314 · · Score: 1

      This may be an unpopular thing to say on slashdot, where everyone is convinced that they are uber leet HAXORS even all they do is dick around with their linux install, code a little python, and live out of their mom's basement. Thanks for trying to add something useful and intelligent to the conversation. Another skill a good programmer may need is the ability to communicate their opinions without the need to denigrate those around them with offensive hyperbola.
  151. Two-step process. by europa+universalis · · Score: 1

    Step 1: Find a superstar.
    Step 2: Teach the superstar to program.

    More seriously, how does one *become* a programming superstar? I mean, I'll do it. If no-one else seems to want to, I mean. Sure. Programming superstar. Sounds cool.

    The only thing is, I would rather be lit on fire than have someone try to teach me that Java is the perfect 'lingua franca' of computer science, so that sort of rules out formal education, in my part of the world.

  152. Evil SuperStars.... by refactored · · Score: 1
    Even if you're Evil Inc, hiring Evil superstars is usually A Bad Thing, since they tend to feel screwing Evil Inc is a valid thing to be doing AND fun.

    Sysadmins.... Sigh... it just seems to go with the territory doesn't it.

    SSRC? Google turns up...

    • Social Science Research Council
    • SSRC is a leading manufacturer of theatrical distribution products found in entertainment facilities.
    • Structural Stability Research Council :: Welcome
    • SSRC v1.30 (open source)
    • A fast and high quality sampling rate converter (resampling)
    • Social Science Research Center (SSRC)
    • Storage Systems Research Center @ UC Santa Cruz
    • ....
    So which is it?
  153. I'll one-up you with a car analogy. by pavon · · Score: 5, Insightful

    "We get brilliant results from average people managing brilliant processes. We observe that our competitors often get average (or worse) results from brilliant people managing broken processes." - Toyota

    1. Re:I'll one-up you with a car analogy. by airhed13 · · Score: 1

      The value of a process isn't in managing the brilliant people. If they're brilliant, they probably don't really need the process. They'll have developed a system on their own that works. The value of a process is to provide a guidebook for the average or sub-average employee who either doesn't care enough to manage their production, or isn't cognizant of how to do it. A brilliant process will force relative incompetents to function on a level of basic competence where at least they aren't costing the company more than they produce. A broken process, however, will drag even the brilliant people down to inefficiency.

    2. Re:I'll one-up you with a car analogy. by sjames · · Score: 2, Insightful

      I'll one up that. If you proceduralize your developers the same way Toyota proceduralizes manufacturing, you'll drive out all of the developers and be left with code monkeys.

    3. Re:I'll one-up you with a car analogy. by AVee · · Score: 1

      Definately, but there will finally b software that doesn't fall to pieces at the first speedbump.

      That, and you will need your briliant programmers to set up the procedures and the tooling etc, because that's the hard part. But hey, thats when you cam actually start talking about 'Software engineering'.

    4. Re:I'll one-up you with a car analogy. by sjames · · Score: 1

      Definately, but there will finally b software that doesn't fall to pieces at the first speedbump.

      Not actually. You see, Toyota has a highly proceduralized MANUFACTURING process. In software, DESIGN is about 90% of the effort. Grinding out code (manufacturing) is about 10%.

      Only a code monkey would find the application of manufacturing proceduralism to a design process acceptable. The rest, realising that the effort is doomed to fail, will abandon ship.

      If you want DESIGN to higher standards, first, you'll have to pay a lot more for your software. There's a reason you can't just pick up one size fits all blueprints to a bridge for $100 and tell a general contractor to hop to it.

      When it's a crime to release software without the needed sign-offs by engineers (and also make it a crime to fire an engineer for not signing and go shopping for the signature) you'll see the quality go up substantially. You'll also see all those bells and whistles go away and the price go up.

      A less extreme approach that would bring a better balance will depend on consumers actually making better decisions and understanding that computers are NOT "just like that sometimes" but inferior software is.

  154. Still not so smart... by refactored · · Score: 2, Interesting

    SanFran is still in the US.... In Christchurch NZ, which has a functional social system, there are no homeless, the city is pretty clean, it has fair transportation system, excellent food (if you avoid anything that looks vaguely britishy...) And best of all are the beaches and mountains, which reduce the need for mall ratting to zero. (It's the only place I know where the Banks are closed all weekend...but the camping supply shops are open 7 days a week!) Only one problem.... nothing really Bad happens so the news papers are really boring. I like that.

    1. Re:Still not so smart... by Builder · · Score: 1

      Thanks for the headsup - I'll start packing now!

      Just one quick question - any dropzones around ?

      I'm not joking here... London is ripping my soul out :(

    2. Re:Still not so smart... by refactored · · Score: 1
      Child prostitutes? There was a newspaper scandal about that a year or so back... The whole thing seems to have died away. I suspect there were one or two tear-a-ways who triggered a huge to-hoo-ha about not much. As I say, the news papers have nothing to report and are pretty hopeless about the little they do have.

      Bored Drunken idiots? Yup... Is a problem here for sure. Fortunately they tend to head off to the UK or Oz as soon possible. ;-))

      NZ, the pimple on the Great Bum of the Earth where sheep out number the people 10 to 1 and nothing interesting ever happens....

      I can sit on a high perch in the alps and watch nothing happen for hours.... I love it.

      I can walk kms and kms down a beach.... and the same amount (0) of action goes on..... I love it.

  155. You don't find a programmer superstar by Argos+Avatar · · Score: 1

    he (she?) finds you.

    --
    Q: What's purple and works from home? A: A non-Abelian group. (It doesn't commute.)
  156. MOD PARENT UP! by LittleJedi · · Score: 1

    The truth is that people here are often opinionated, brash, and hostile to ideas they dislike.

    Spot on. 'Course, that describes painfully nearly all people who post anywhere on the Internet, but that's the best simple summation I've seen of the average slashdot poster in my years of lurking.

    MOD PARENT UP!

  157. Here's my list: (Long) by Mongoose+Disciple · · Score: 1

    1) A lot of people have said networking/referrals; this is absolutely true. The best people don't generally need to hit the job sites when they do need work -- they just let their friends in the industry know that they're looking and work will find them. More likely, they'll get poached away from their current job long before it even gets to that point, and it's not because they're posting their resume or taking lots of calls from headhunters. Does this mean you'll need to throw a lot of money at them to get them to come over? Not necessarily, but it may. If you're unwilling to do this, you don't value quality people as much as you think you do.

    Related to this: You need to make your company as ridiculously good a place to work for your current employees as you can. Bonuses for referals are helpful, even important, but alone they're not enough. There's a level of job satisfaction where your better employees will tell their out of work or looking friends to apply, and there's a higher level where your better employees become a constant and fantastic advertisement for your company because they're so happy with their job and want so much to share the joy of a great job with their friends. You really want to be in this second category.

    Side question that I don't have a good answer to but that I'd be interested in hearing other people's answers to: Given that the value of networking in getting the best people and, on the other side, finding the best jobs is so high, how do you pull good people from other areas (geographically mostly, but also technologically if, say, your company is mostly Java programmers but you really really need to bring on one great embedded C guy)? Same deal with being a programmer looking to relocate -- there are definitely moves I'd personally make if I could find the right opportunity for it, but without that kind of network in play it'd most likely need to be too blind a move.

    2) Value education. I mean really, really value education. Be willing to pay for all kinds of education for your people -- books, conferences, classes, whatever. Whatever it is they want, even if it doesn't directly relate to the job. Often, the best people are passionate about technology even in their private life, but I find they're often as passionate about some other kind of learning, be it music, philosophy, political science, etc. You absolutely need to encourage (and by encourage, put your money where your mouth is) technical education to even be in the race, but encouraging education in all its forms will put you ahead of the pack and offer a benefit that is hard to replace or pass up.

    Be willing to give them paid time off work to do these things. Yes, this costs. It's worth it.

    3) Consider hiring consultants for shorter-term projects. Yes, we've all worked with lots and lots of terrible consultants. If you draw one of those people, when their contract is up you're done with them and you don't hire them again. It cost you something, but a job search isn't cheap, and at least you probably got some useful work out of them. On the other hand, some consultants will blow you away. A few of these will be ready to do something different in their career, and if you're willing to make them the right offer, you can get them. I've seen a lot of the best consultants I've worked with transition to non-consulting companies this way -- they got to a point in their lives where they wanted steady hours to ease the strain on their families, or they wanted to move towards a management position, or they wanted to do design as a bigger part of their job, or they wanted to work from home more often, whatever -- they were great at what they did and ready for something else from their job, and one of their clients was smart enough to offer it to them.

    4) Decide what kind(s) of people you need, and hire accordingly. What is a superstar, really?

    There's a passage in the Art of War that goes: The skillful employer of men will employ the wise man, the brave man, th

  158. Joel Spolsky has an answer for you by sameerds · · Score: 1
    Finding Great Developers
    http://www.joelonsoftware.com/articles/FindingGreatDevelopers.html

    Instead of thinking as recruiting as a "gather resumes, filter resumes" procedure, you're going to have to think of it as a "track down the winners and make them talk to you" procedure.

    I have three basic methods for how to go about this:

          1. Go to the mountain
          2. Internships
          3. Build your own community*
  159. I give the Joel test to potential employers by vinn01 · · Score: 1

    http://www.joelonsoftware.com/articles/fog0000000043.html

    The Joel Test

          1. Do you use source control?
          2. Can you make a build in one step?
          3. Do you make daily builds?
          4. Do you have a bug database?
          5. Do you fix bugs before writing new code?
          6. Do you have an up-to-date schedule?
          7. Do you have a spec?
          8. Do programmers have quiet working conditions?
          9. Do you use the best tools money can buy?
        10. Do you have testers?
        11. Do new candidates write code during their interview?
        12. Do you do hallway usability testing?

    1. Re:I give the Joel test to potential employers by cbart387 · · Score: 1

      Good stuff.

      I'll be a college graduate this May and I have a couple interviews scheduled. I've been trying to think of questions to ask so I don't get stuck in a crappy environment because I didn't ask the right questions. It's hard to know what to ask without having 'real-world' experience. I added some questions based off of those guideline so thank you for providing the link!

      --
      Lack of planning on your part does not constitute an emergency on mine.
  160. Show me the money. by kcdoodle · · Score: 2, Informative

    DO:
    1. Show me the money/benefits/insurance/401k
    2. Give me the "Say So" when it comes to my decisions. No questions asked.
    3. Give me the tools/budget.
    4. Give me the specs or give me time to get the specs
    5. Give me the people I need
    6. Let me design it, code it, test it, fix it, document it.
    7. When I am done Go to step 1 with a new, different project.


    DO NOT:
    1. Make me attend meetings, I can do every decision by Email.
    Email gives me a "paper trail" to show what decisions were really made, when and by who. If you can say it to my face you can type it into the damn computer.
    2. Make me beg for resources. I know what I need. I will use open source whenever possible/practical. I will not waste ANY money, I want to take it home in my paycheck, not give it to some vendor.
    3. Lock me into any software. This is my area of expertise. I do not care that you made a stupid contract with software vendor.
    4. Keep moving the target. Lock down what we are trying to do in a month. Then we start. You keep changing the product during development, I am gone.

    This list could go on forever, but you get the idea.

    Smart people like freedom. They like responsibility. We respect good decision makers and hate wishy washy management.

    When I got to my present job there were 5 computers in boxes, a couple of routers and hubs, an idea and me. Been going 2 years now and the work I started has blossomed into 12 computers working full time, doing automation work. The contract pays us for the work our programs do, not for writing the programs. SWEET.

    Making more money every month.

    --

    - I live the greatest adventure anyone could possibly desire. - Tosk the Hunted
  161. Nonsense by HappyEngineer · · Score: 5, Informative

    Some people are simply not up to the job of being a programmer. They cut corners and ignore good design in order to get the project done real quick. It may seem like they're getting the work done, and maybe they are, but crap code piles up. It takes time to work out the bugs. Over time it'll build up so much that it wouldn't even occur to people to refactor it.

    I've worked with people like this. No matter how much you try to encourage them to follow good design, they will continue to just ignore all good sense. A typical example is a former coworker of mine who was asked to make a small change to an app that sent out email notifications. He needed to make a slight change to take care of one particular circumstance, so he copied an entire class (hundreds of lines of code) and changed exactly one line to do what he wanted.

    When this code later broke (due to that single line) we asked him about it and he denied even writing it. We looked at source control and it was definitely him. (This in itself was surprising because he often deployed changes without checking in code. We tried many times to tell him never to do that.) I asked him why he had copied an entire class just to change one line when it was trivially easy to modify the class to handle both situations. He said he just wanted to get it done. I told him it probably took him longer to do it the way he did it. He just shrugged.

    How do you respond to someone like that? I'm sorry, but he will never be a good programmer. Some people just don't have it in them. He was a very nice guy, but he was a terrible programmer.

    Thankfully, most of my coworkers do have it in them. I've been privileged to work with some great people. But it's pure fantasy to think that everyone is capable of being a decent programmer.

    1. Re:Nonsense by bateleur · · Score: 1

      This in itself was surprising because he often deployed changes without checking in code. We tried many times to tell him never to do that.

      At the risk of stating the obvious: this should be impossible. Your deployment path should go through your version control system, not exist in parallel with it.

      How do you respond to someone like that?

      Peer reviewed code is a good start. Not hierarchical necessarily, just make sure that whenever somebody codes something it gets read by at least one other person before it's deployed.

    2. Re:Nonsense by DuckDodgers · · Score: 1

      HappyEngineer, you describe the type of mistake I used to make as a fresh graduate and even as a not-so-fresh graduate, and have since outgrown.

      All the training and mentoring in the world won't make Forrest Gump into a skilled software developer. But there are an awful lot of mediocre developers out there who could be damn good.

    3. Re:Nonsense by Stanistani · · Score: 2, Funny

      Hey, finding good algorithms is like looking in a box of chocolates for shrimp... as my momma always used to tell me... CompSci is as CompSci does...

    4. Re:Nonsense by Cornflake917 · · Score: 1

      Some people are simply not up to the job of being a programmer. They cut corners and ignore good design in order to get the project done real quick. Cutting corners and ignoring good design shows that the person isn't motivated, and nothing about their inherent abilities. A great programmer could do the exact same thing if he/she isn't motivated and doesn't care about the company they work for or the project they are working on.

      Barring mental disabilities and deficiencies in mathematics, any person as the "ability" to become a decent programmer. Whether they have the motivation, patience, and willpower to sit down and learn the necessary skills is another question.

      Obviously, some people learn faster than others.

  162. It;'s really about passion by fireheadca · · Score: 1

    For superstars...
    Look for those who are in a different field completely and yet are able to answer
    those tough interview questions.

    Passion drives those ones.

    ---
    Anyone wanna buy a car?

  163. I used to do that by HangingChad · · Score: 1

    Interns are a cheap way to test the water. When you find someone you like, hire them on full time at a good rate.

    That's a good way to find junior people but not anyone with experience. I used to work with a local community college for student labor. I remember getting a call from the coordinator one day explaining that she really valued our participation in the program but it would be really nice if I would stop referring to the candidates as "galley slaves."

    Not too bright but they rowed really well. Oh, well.

    The problem with senior people is they go out and start their own companies. Or they partner with other small groups of equally talented people on a project basis. Employer? We don't need no stinking employer! No matter how great you think your company is, a bad day working for yourself is better than the best day working for someone else.

    --
    That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
  164. You're looking for the wrong thing by jandersen · · Score: 2, Insightful

    You don't want a 'super-star', believe me. Super-stars are primadonnas, and amazingly good at grabbing the attention and looking impressive; but most programming work is un-glamorous, tedious, hard work, simply, and for that you need people who are able to make a constant and reliable effort. These people are almost without exception modest, a bit shy, possibly nerdy, and certainly not 'super-stars'.

    On the other hand - the way you describe your company sounds over-hyped and conceited, so maybe you really are looking for attention-grabbers and posers.

  165. Crusoe wasn't bad by r00t · · Score: 1

    They got burned by the move toward Java, .net, and similar stuff.

    For running regular old app code, the Crusoe wasn't all that bad.
    (considering the power usage, and considering the competition
    of the day)

  166. Maybe it's not finding "superstars" ... by Specks · · Score: 1

    It's not about finding those who are already "superstars" but in identifying potential "superstars".

    --
    Specks
    Batteries not included
  167. Jobreel by learza · · Score: 1

    If you're in Australia there's a new service similar to Joel's: http://jobreel.com.au/

    Same no-agencies policy, so it's small and selective and not so attractive to job-seekers who adopt the resume cluster-bomb approach. And wherever you're advertising, some of the guidelines in comments above are very good advice.

  168. Talk to the ones you've already got by gujo-odori · · Score: 1

    A lot of people have posted a lot of (mostly good) advice about how to entice the superstar to join you once said superstar has been found, but not really all that much about that first initial step: finding.

    For finding, talk to the ones you've got. Tell them you're looking for some more. They are going to be active in communities where those kinds of people are. Ask them for some names. Set up an initial contact from there, either directly or together with the referrer. If the cultural/personality fit is right, the probably won't be all that hard to entice. Good, smart, motivated people want to work with people like themselves. The more of them you have, the more of them you can get.

    My company is a lot like what you describe, and a number of our people (including myself) were hired as a result of somebody saying "Hey, I know somebody I think we really ought to talk to."

  169. "Superstar" == "Prima Donna" by syousef · · Score: 2, Insightful

    Actually, I read "superstar" and my mind translates to "prima donna". Do you actually want a prima donna working for you?

    I also have to ask, why do you NEED superstars? Can't you organize the team to get the job done without a genius to pull it all together?

    --
    These posts express my own personal views, not those of my employer
  170. Great Programmers by MacOSXHead · · Score: 1

    I believe there are two types:

    1.) Mad geniuses who can violate most accepted programming practices, produce great new products, and walk away with the glory and leave the glorious mess to those who come after him or her.

    2.) Software professionals who may be a little more tortoise than hare. They understand the companies they work for, adopt practices that fit into these companies, and spend much of their time mentoring anyone who will listen. They know that the best thing they can do is leave a better place than they found.

    Just my experience. Don't even get me into bad programers. There are so many...

    -ltr

  171. Haven't Google figured this out...? by Fred+0101010011 · · Score: 1

    You don't find them, you need to attract them, by having a business that offers it's employees interesting things to do in a nice environement, and a set of intelligent people that the new superstar gets along with... Superstars probably tend to end up at superstar companies, and that's why superstar companies are superstar companies - dull coders works for, and akes up the dull companies.

  172. You mean this sort of thing... by refactored · · Score: 1
    London is ripping my soul out

    Come off it man! After Brakpan you can't have one left to rip!

    Drop zone? You mean this?

    http://www.skydivingnz.com/

    Hanging up there between the Alps and the sea those guys must be getting one helluva good view!

    1. Re:You mean this sort of thing... by Builder · · Score: 1

      Well, it's been a lot of time since Brakpan, so I had time to grow a new one... Krugersdorp was the final straw though ;)

      The DZ looks good - I'll pack :D

  173. Hacker vs. Architect by LKM · · Score: 1

    Compared to quantum field theory or category theory, C++ or Java hacking is freaking child's play.

    ...if you want a hacker (somebody who gets a task and gets it done), sure. If you want a software engineer, somebody who knows how to design a system, no.

    Learning how to program is easy. You and (I would guess) about 30% of the population can probably teach themselves how to program in a week. Learning how to design systems, on the other hand, is hard. You can't learn that in a week, and many people probably can't learn it on their own at all. Which is why you go to a university for four years to learn it.

    You don't study Computer Science to learn how to program. You study computer science to learn how to design systems. You write whole operating systems, databases and compilers, you learn about chip design and assembly and how to design and implement a script runtime, and all that fun, hard stuff. That's not hacking, that's designing systems. Hiring hackers is great, but you'll still need at least one architect to tell them what and how to hack.

  174. Talent is nothing by LKM · · Score: 1

    What does talent even mean? I'm actually not sure such a thing exists at all. To get a good product, you need a working process and developers with knowledge and experience. Maybe talent helps you attain knowledge and experience (if it even exists), but talent alone is worthless.

  175. Funny replies or maybe not so funny by tuomoks · · Score: 1

    First, Joels list :
                1. Do you use source control?
                2. Can you make a build in one step?
                3. Do you make daily builds?
                4. Do you have a bug database?
                5. Do you fix bugs before writing new code?
                6. Do you have an up-to-date schedule?
                7. Do you have a spec?
                8. Do programmers have quiet working conditions?
                9. Do you use the best tools money can buy?
            10. Do you have testers?
            11. Do new candidates write code during their interview?
            12. Do you do hallway usability testing?

    has nothing to do with "superstar" programmer, it is just a rambling of common things mostly out of the control of any programmer. Superstar may be fast or may not, a mood point in lifetime a product. Superstar may or may not be a good corporate citizen, that is only to please the management. Superstar has opinions because he/she knows what he/she is talking. Superstar leads others, not that he/she wants but because what he/she is. Superstar listens even managers but makes his/hers own decisions. Superstar can be the worst programmer if forced to work against the best practices (he/she knows much better than any manager) or using the bad tools, etc especially when good ones are available. Superstar doesn't care what platform, language, operating system or business problem is - he/she gets the work done and teaches others aside. Superstar writes extensible and flexible systems that can run and be maintained "forever". And so on.. Now - (almost) all this goes against current management idea but sorry, you can't control a superstar, you can only give interesting problems to him/her to solve and if you want "good" results to support him/her. Superstars don't care of money BUT are very sensitive to that. Superstar can get bored or even agitated of the so common "carrots" as a corporate sign to your desk for work well done, etc. Superstars want to get out, they are actually very social and amazingly often very family oriented, so two, three seminars or development conferences a year will keep them more happy. NO - pony and dog shows will not do that, they hate those. A long list and you may ask what separates them from CEO's - they just haven't made up their mind to start own company!

  176. Megadeth solution by Yvanhoe · · Score: 1

    You take a mortal man
    And put him in control
    Watch him become a god
    Watch peoples' heads aroll


    I think that's what works. It begins with giving people a chance and responsabilities.

    --
    The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
  177. Post a topic like this to Slashdot ... by DrJimbo · · Score: 1
    ... the great programmers will be among the people that don't respond.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
  178. Are you fucking kidding me? by LKM · · Score: 1

    What can a "superstar" programmer expect to be doing in 10 years at your company? Hopefully not still programming.

    What? Is that some kind of joke? The worst thing you can do with a great programmer is to promote him (or her) out of programming. Great programmers want to program. What you need to provide is not a career path out of programming, but a good career path withing programming. For most great programmers, going from programming to non-programming is not a promotion, it's a demotion. If you want to retain great programmers, be able to promote them while letting them be programmers.

  179. Do you want, or need, a "programming superstar?" by Animats · · Score: 1

    A big question is whether you need a "programming superstar". If you're trying to figure out how to do seismic analysis using a rack of graphics boards, or improve the robustness of 3D SLAM for mobile robots, or make a hair simulator work in underwater scenes, or get better density from an IC layout algorithm, or work on the RF end of cell phones, you need "programming superstars". If you're writing yet another "Web 2.0" app, you don't.

    Most programming today isn't really that difficult as such. Most of the algorithmic problems have been solved. You usually don't need to invent all that much. Difficulty generally lies in understanding some messy and ill-documented thing with which you need to interface. That's not a "superstar" problem, just a big headache.

  180. Agree, find hidden gems by elloGov · · Score: 1

    Third year, programming, I can attest that I outperform, out-design and outwork most programmers at work and I work for a huge and reputable corporation (I am just about ready to move out of this big corporate structure). I pick up things very quickly, am a generalist, I can find a creative innovative solution to any problem. I don't keep notes, memorize textbooks, chapters, etc. What one learns in 2 years, I learn in 1 month. However, being a non-CS major and no official training, having dropped out of High-school, GED, average state-school degree, with no "eye-popping resume builder"; I am unlikely to fit the suit of an "ideal candidate" for a competitive "exciting" Superstar Programmer position. As far as I am concerned, the day I fit that ideal candidate position for such jobs, I won't be looking for jobs. You can argue that being the ideal candidate on paper is a sign of weakness. If you have such stellar background, why the fuck are you interviewing? Are you a bookworm? Have you memorized books? Are you purely a hard-worker? Are you just ambitious? Maybe, you know how to sell? I have a huge passion for learning and I am highly unorthodox. Here is my advice: If you are going to interview people following same old procedures you have read about or seen, don't waste your time, because you already made your mind up on who you are looking for before the person walks in. This is why the interview process is worthless in further identifying qualified candidates. Be unique and customize your own interviewing process. Forget the formalities, forget the same old cliche questions: "Tell me how you overcame adversity!" uhhhh "Are you a team player?" I mean come on, all you are asking anyone to do is just act for however minutes this stupid pretend ideal session lasts. Lastly, look for the hidden gems, it's by far your best return on investment. Nothing in my resume says Ivy League, Rock star, Wow, but I am one capable son of a bitch! These are my thoughts on JUST the interviewing (finding) process. Then you have to keep them!

  181. I'd say... by octogen · · Score: 1

    SELECT "fname", "name" FROM "job_application" WHERE "iq" > 150 ORDER BY "iq" DESC;

    no.. seriously, you will not know in advance who is a real programming superstar. You will know after a few years, by judging the way he/she DESIGNS software rather than just coding it, in the first place. You will know after a few of his/her programs have been running a few years without ever crashing or messing up your data.
    Anyway, I think that having a very high IQ (especially in math/logic) is a prerequisite to becoming a really good software developer.

  182. The Right Fit by yams · · Score: 1

    My approach to hiring has always been more like impedance matching (you used "signal to noise ratio", so I'm assuming you know this too).

    What kind of person best suits this situation. Some roles require very little redesign, more maintenance, good uptime, no oversight. In such cases, I specifically look for people who have been doing such work, people who have the qualities to work independently. Some roles require people who need to do something radically different. They need to communicate well with a various different groups and come up with a radical new design. In such cases, I look for people who are good communicators, knowledge of various technologies to be able to provide new ideas.

    I want to stress that both roles are very critical for the organization. I would probably give both of them the same compensation, but it would be disastrous to hire the first kind of person for the second kind of role, or vice versa.

    Also, unlike impedance matching, these qualities are not quantifiable. There are various kinds of roles requiring various kinds of people. Sometimes, you don't get the perfect match, but you need to take a decision to make the best match and bring up the person to speed in the other requirements.

    Another important point is to make sure that you set the candidate's expectations to reality. If you tell the candidate that he is going to redesign the company and let him realise that he is only there to fix bugs, he will give you a hard time, even if he is incapable of finding another job that he thinks he wants. A frank discussion during the interview could make the difference between an unproductive employee and a "super" employee.

  183. Easy... by Morkalin · · Score: 1

    How to find great programmers? Ask Slashdot.

  184. Use a decent recruitment company by netpixie · · Score: 1

    Just because most recruitment consultants are rubbish, doesn't mean all of them are.

    Find one with a reputation and use them.

    I'm basically thinking of http://www.ecmselection.co.uk/ here, they won't accept you as a client (on either side of the deal) if you're not very good, so companies *know* that they are are not going to be sent any poor candidates, and candidates *know* they are going to be sent to decent companies with decent jobs for decent salaries. Everyone's a winner.

  185. Difficult at startups by andrewm_za · · Score: 1

    As a dev manager at a startup where we're trying our damndest to hire developers, I know all too well how the traditional job sites don't provide the goods. The people worth hiring are not the ones looking for jobs.

    It must be said that hiring for a startup is even more challenging, because you don't have the time or resources to hire junior and train up; you can't pay the same salary as a large corporate; and you generally don't have that many developers through which to network. You have to sell the job with phrases like "fun startup environment", "new projects & technologies", and "stock options".

    I throw out 9 out of every 10 resumes immediately. I could write a book on all the reasons. Spelling and grammar mistakes, or lousy formatting, are unforgiveable. If you're not going to put in an effort to get the job, what quality of work can we expect once you've got it? I can't believe how many people claim "expert knowledge" of things like arrays, cookies and querystrings. That's just clutching at straws. If you spend 7 pages explaining your skills to me like I'm an idiot, you're in the bin - a good developer knows how to keep things simple. The most important question I ask in an interview is "Which development journals and blogs do you read?" because above all else, a good developer is passionate about what they do.

  186. Look for them. (I've stopped looking for a job) by Qbertino · · Score: 2, Interesting

    The answer is easy: Look for them.

    Truth is: I've stopped looking for a job. The last interview I had a few years ago was promising for both sides. It was a classic example. Complex interactive Web Developement with Flash & PHP - which I have years of hands-on non-trivial project experience with. The guys were nice and even the boss interviewed me personally. They said they'd contact me in a week and I never heard of them again. Given, they were just building up and things were a tad chaotic, but their new website says they're still desperately looking for devs of that kind. Bullshit!

    They didn't want experienced programmers. They wanted cheap, 5 Euro per hour students who fell for the idea of working on a cool project for factually zilch compensation. That's what it feels like all over the place. Confidentials are nothing but smoke and mirrors for competitors and investors ("Look here, we're growing fast!") and the bullshit companies put out into the open about the lack of experts - like the German autmotive builders right now whilst laying off thousands of people - isn't taken for granted by *anyone* anymore. Expert and normal postman alike.

    I'm now a freelancer since 2003. It sucks to have to deal with the requirements of the German IRS, look out for the legal requirements, get into pissing contests with clients who don't want to pay and generally stay organised and watch out that you don't work for free or let billing slip just because the project is fun - because the next rent is allways around the corner. But it keeps me grounded and I actually have work to do. And AFAICT I'm not the only one in the field who ditched job-hunting for freelancing lately. Maybe you should look there. I'd actually go into employment again if the job is neat and interessting enough.

    The bottom line is: If you are really looking for good programmers you'll find them. Just don't try to screw them over and pay a fair price and they will listen.

    --
    We suffer more in our imagination than in reality. - Seneca
  187. You're wrong. Talkative programmers are great. by LKM · · Score: 1

    People who comment on boards just like to hear themselves talk. You don't want them.

    You're wrong. These are precisely the people you want. Programmers who like to communicate are rare. If you can get them, do. These are the people who

    • Will document their code without being asked
    • Will write tutorials on how to use their service into your wiki
    • Will write tutorials for the users of your software
    • Will write and maintain user documentation
    • Will do presentations of your application to your employees and to other companies

    Programmers who also like to write, talk and communicate are rare. Get them when you can.

  188. take your best developers into the process by sick_soul · · Score: 2, Insightful


    When hiring, take your best developers into the process.
    They recognize people like them in a very short time,
    with very few questions.

  189. Re:Change the others around them: Bingo! by Anonymous Coward · · Score: 1

    You want people who can lead by example, without even trying.


    Man, I hate to respond to such a good succinct post (definitely one of the best posts I've seen). But I just want to add one little thing (which is why I'll never write a good post).



    In reality, those that can lead by example are always trying. And it's hard. Very, very, very hard. At least half the people you work with hate your guts. There's always some intrigue shoved in your direction. Always somebody who wants to take you out because you are ruining their free ride.



    In truth, it's hard; it's lonely; it's thankless. Those who can do it best appear not to be trying. They never take credit. They seem to just glide from one situation to the next, effortlessly making the world a place worth living in. But it takes its toll.



    So if you've got someone in your organization doing this for you, spend some time just to say thank you. It makes more difference than you would believe.


  190. Re.: How Do You Find Programming Superstars? by TangoCharlie · · Score: 1

    > How Do You Find Programming Superstars?

    I generally find them rather arrogant... and often rather smelly. Generally with unwashed
    long hair and long straggly beards. All-in-all, rather unpleasant characters.

    --
    return 0; }
  191. Joking right? by Peaker · · Score: 1

    A good project manager does not necessarily know much about good programming.

    A good programmer is _far_ better and more knowledgable at programming than his project manager, and no amount of pure hard work will make a bad programmer into a good one.

  192. Put a banner here :) by IvanDeLaJara · · Score: 1

    Put a banner here or use the Jobs section :)

  193. Superstar .... depends on your definition by shakotah · · Score: 1

    My company has the same problem, most of our interviews give us barely passable people. Once we find a good programmer we don't normally have a problem with retention. Those that are (or believe they are) superstars normally only stay for a while. Once the difficult problems are solved they loose interest, or their egos start getting in the way. Out of 11 truly brilliant people I"ve worked with in this job only 3 have been able to stay and continue to work here. Mostly because they are the ones that can work with others and are not arrogant/condescending/etc which tends to be the case with many "superstars", specially with the ones that can't deliver.

  194. How to find awesome programmers by 192939495969798999 · · Score: 1

    0. Awesome programmers use base zero for lists.
    1. Awesome programmers are already gainfully employed.
    2. Show me the money!
    3. It better be more money than that buddy; remember #1.
    4. two words: Mercedes Benz.
    5. Poaching disgruntled ones from other companies may be an easy way to get awesome programmers, but disgruntle takes a while to shake and can yield slightly lower productivity up front.

    Notes:
    0. Awesome programmers aren't necessarily fast, and cannot necessarily solve whatever wacky programming issue you have going on... you probably need at least an awesome architect and/or manager to go with them.
    1. In case #6 doesn't make sense to you, consider this: just because 1 woman can make a baby in 9 months, doesn't mean 9 women can make a baby in 1 month.

    --
    stuff |
  195. Unusual hires are made by unusual means by Chris.Nelson · · Score: 1

    Superstar programmers are hired like CEOs and other unique positions: word of mouth. Ask your programmers, "Who did you used to work with elsewhere who would be great here?" Ask your opposite number at a comparable company, "Who did you almost hire last time? Can I have their resume?"

  196. just be more like google..... by hesaigo999ca · · Score: 1

    We are an odd bunch, really, we like to play pool at work, do our laundry in the same building we do our work in, more bonuses, free lunch etc... is all a great reason why Google ends up with all the brightest ones. M$ started off that way, but then began cutting back and hence millennium and so forth...

    If we saw more companies act like this towards their employees, we would be a happier bunch and more likely to stop working underground circles trying to get money for all the personal info we got...

    I once worked in a company where all the employees were so overworked and under payed in accounting that they couldn't keep anyone for more then 6 months at a time...these are the people handling the finances for this company, imagine what they did to the IT staff ...(the same president of this company never spent much money on his IT staff or IT dept, his quote was "well if it doesn't bring back any money, its useless")

  197. What is a programmer? by boristdog · · Score: 1

    Some people are good software coders.

    Some people are good software designers.

    Some people are good interface designers.

    Some people are good DB designers.

    You will rarely, if ever, find all three in one person. But they are all necessary for almost all large software projects. Who is your superstar?

  198. Superstar Programmers find you, not the other way by Vorlath · · Score: 1

    They find you, not the other way around.
    When they do find you, you'll notice they will let you state what you have to offer at the beginning and they will interview you, not the other way around. They don't care for your interview although the questions you ask are also reflective of what kind of people you have. So yes, even your questions are analysed. Because of this, most interviewers think these programmers are telling them how to do their jobs and these interviewers resent being interviewed themselves when they believe they are the only ones who has a right to form an opinion. Most superstar programmers will fail your interview because it's not up to them to pass (hence they will often fail on purpose to see how you handle it), so it's up to the interviewer to show their skill. If you turn negative, then it's over. If you turn positive and try and engage in a conversation, bonus.

    Also, many jobs say they want superstar programmers, but are only interested in scamming them by not paying them or saying they have a certain range in mind and then later on, they will go below it. That's a deal killer right there.

    If you want to know if someone is a superstar programmer, ask them to talk about one of their favourite projects and what challenges they faced and whatnot. Anyone, in any field, that truly loves what they do won't be able to shut up. You have to entice them first though. Once they pick up the conversation and start talking a lot, then you at least know you have someone that has potential. Either way, you'll find out a lot more this way than any other technique beyond the simple programming questions.

    Oh, and if you see programmers walk out of interviews, those are either superstar programmers or you're the worst interviewer in the world (likely the latter).

  199. Hrmmm... by theAtomicFireball · · Score: 1

    The signal-to-noise ratio here isn't likely to be that much better than on the big job boards. Though undoubtedly most of us who read Slashdot think we qualify as "superstars" (even if all the evidence is to the contrary), it should be assumed that out of the hundreds of thousands of registered users, there are not more than a few thousand true stars of the sort your are looking for. From a quick read through, I'd venture a guess that about one in five or less of the posts actually gives useful information, and several contain what I would call disturbingly bad advice that sounds like it was authored by an MBA whose undergrad degree was in psychology or sociology or some other soft, unstructured major and who have never actually worked closely with geeks. I have been in and around the industry long enough and have worked with enough obvious superstars that I think I can offer some moderately good advice regardless of whether I, myself, am a superstar.

    First, there are recruiters who specialize in finding 'passive', high-end talent. You will pay a fair amount of money compared to a listing on Dice (usually a percentage of first year salary), but in the long run, it'll save you money. The reputable recruiters will refund money if the person leaves or is fired for cause in the first year - make sure that your contract specifies that.

    Even with that, it's really quite difficult, because so many people have entered the field. The dot-com and Y2K fueled work shortage of the late nineties drove up the rates artificially high for even mediocre programmers and, as a result, a lot of people who would have otherwise gone into other fields, decided to go into programming because it "paid well". That one fact makes it so much harder to separate the wheat from the chaff.

    Although the stereotype of the high-end programmer having no social skills and poor hygiene is not completely warranted, it is also not entirely without basis. The best programmers very well may not be the one who come across the best in an interview. If social interaction and communication are an essential part of the job, then you need to look for people who can communicate well in personl, but if not, and you are looking for a real, roll-up-the-elbows coder who's going to sit at a computer ten hours a day and rarely speak to live humans, then don't put too much weight on how the person comes across in the interview, or you could unintentionally weed out some great people. Basically, the main criterion you should look for is somebody who would be programming even if they weren't being paid to do it. You want people who are motivated by the challenge, not primarily by the money. Unfortunately, that doesn't mean you can pay them less than they are worth unless you have a project that offers truly unique challenges. Ask potential candidates about their coding experience prior to their first job; ask them why they went into programming in the first place. Ask them about the first "real" piece of software they wrote, and then gauge their enthusiasm as they tell you. If their response is a class project in a college or technical school class, there's an increased chance the person chose the field for the money. Of course, there are people who don't discover they love coding until they take a college or technical school class, so don't rule people out simply because they got a late start. Certainly, you should ask them why they went into the field; you may not get an honest answer, but you might.

    To attract the type of person you claim you want, you need to set up your work environment so they have a fairly large amount of flexibility and freedom - they often do not respond well to set hours or work rules written by some MBA who just doesn't grok programmers. This is a difficult thing to manage in a large company, because non-superstars will expect the same freedom and flexibility, and most corporations seem to have a pathological desire not to give such freedom to anybody. You shouldn't, of course, bend a rule that was created for

  200. Better filter by lwriemen · · Score: 1

    Ask them if they know how to program in Executable UML.

  201. Usenet and Chat Rooms by dwarfking · · Score: 1

    Back some time ago, one method that was used was to lurk on Usenet news groups and see who was actively trying to help people solve problems. I was actually offered a really good job in the mid-90s for that very reason.

    You get to see if the person really knows their stuff, how enthusiastic they are and how they relate to others.

    With the Usenet not as popular any more, you might try and find chat channels associated with areas of interest you need folks and monitor those.

  202. volume... by stoicio · · Score: 1

    "We've had much better luck with (for example) the Joel on
    Software job boards, but that still doesn't generate enough volume."

    Maybe there really isn't that much volume.

    The thing about the 'bell curve' is that most of the
    part of the curve that is really above average is
    really thin. (ie: low population)

    Pay reasonable money and give people some downtime
    and you'll get 'geek share'.

  203. Look for the words "wrote code to write code" by Mycroft_514 · · Score: 1

    in the resume. No better way to find your superstars. This is the guy who is thinking so far ahead of your regular programmers, he is in a different league.

    I've done it a few times, and there are two levels to this. Writing code in language A to write code in Language B and writing code in A to write code in A. The latter is harder.

    What this will bring about is someone who BUILDS HIS OWN TOOLS. Example. I just finished writing a program that takes a tablename, bounces off the system catalog and gets the databasename. It then writes parameters for a couple of utility steps later in the same jobstream. Why? So the DBA doesn't have to look up the databasename to perform the on request job stream. This saves him the time it takes to go manually look up the databasename. Now save that 10 minutes 6 times a week (and sometimes it is 6 times a DAY!) and he has an extra hour to work on other issues that week.

    Another saying I have. I am "successful" at a company, if I implemented changes that would save them more than my salary cost them. For example. Three related changes at an insurance company, saved them $60K in processing costs per year - even after I left! (freed up about 3 hours of mainframe processing per night) Or how about this one - 1 line of code changed in 1 program at a major entertainment company - freed up $10 million in capital!

    Your superstar has to be able to find stuff like that and DOCUMENT the effect.

  204. Nope, I've got the way to do it by elrous0 · · Score: 1
    We all know that a lot of the best programmers live in California, like pictures of hot scantily-clad women, and are hardcore gamers. So my suggestion is this:

    Put a really hot, scantily-clad woman out on an LA street-corner holding up a sign that says "Looking to give jobs to the hardcore".

    I guarantee it will generate a lot of interest.

    --
    SJW: Someone who has run out of real oppression, and has to fake it.
  205. You're absolutely right. by DaedalusLogic · · Score: 1

    I agree it would be the best process to review code before it gets committed. Sometimes adopting this standard is harder to adhere to when you have too little manpower to face the deadlines you have looming. That's when a real challenge begins to try and catch the organization and restore order before it falls headlong down a flight of stairs.

    1. Re:You're absolutely right. by The_reformant · · Score: 1

      But the thing is it will almost certainly save time, and not jsut in the long run. Straight away by giving an auditable trail of responsibility to the reviewer as well as the author you end up with less commits which break the build (since the reviewer should be building the commit in a sandbox) which can stop other developers becoming blocked and ensure there is always a stable codebase should you need to release

      --
      I have discovered a truly remarkable sig which this post is too small to contain.
  206. Find somebody ... by widmerpool · · Score: 1

    ... who doesn't spend half the morning reading 600 posts on how to find a superstar programmer.

  207. Highest amount of comments ever!? by mwvdlee · · Score: 1

    Since every slashdot reader considers him-/herself a programming superstar, obviously this post has the highest number of comments in a long while.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  208. Have exciting projects! by yoinkityboinkity · · Score: 1

    And advertise that you do. Any really great programmer is great because he loves his craft and wants to use it to do exciting things. If you do something cutting edge and exciting, advertise THAT, because that is what will bring in the talent. Of course, you have to pay the man what he deserves (if he truly is good), but the work will attract him more than the perks. A truly superstar programmer is generally going to love programming so much that the most important thing is the quality of the work that he can do, everything else is icing (which is important, but you need a good cake first). Seriously. Great programmers are great because they love it. If the person is only concerned about money and perks, to them it's just a job, and you probably don't want them. (Again, you want to have those things, but it's not the main driving force)

  209. Be specific by MrMoDoJoJr · · Score: 1

    We've been trying to recruit for months with no success. While looking for work myself I came across my current company's add on Monster. When I saw the add I realized why we hadn't had any good applicants. Whoever posted the add talked so much about how we interface with the customer and how our standards of excellence are so high, that it left out the important bits i.e. What is the job and how much does it pay. The only bit of the add that discussed anything about the job was a list of buzz words and job skills that seemed to be more beefed out than it should have been. I think we would have had more luck placing an add that simply said "Wanted: Excellent C# programmers for Windows Forms applications. Excellent pay and benefits available"

  210. Super Star Teams by iknownuttin · · Score: 1
    Now, maybe the question wasn't about 'superstar' coders, but in employees in general. If so, it didn't come off that way to me.

    You described, quite well, how to create a super star team. Which is what most organizations need: not a single star.

    --
    I prefer Flambe as apposed flamebait.
  211. Superstars are a flawed strategy by blueberry_tx · · Score: 1

    Relying superstars is a flawed strategy.

    The most important attributes of a successful company are its leadership.
    The company must know where it is going and how it is going to get there.
    This means having an excellent management team, product managers, and
    software architects. Implementation, and your success, becomes a matter
    of execution, not of heroics.

    We all like to fantasize about the breakthough products coming up from
    engineering. Sometimes that even happens. But in the
    real world it all about consistency. That means a team of good, solid
    all-arounders you can move around as your needs change.

  212. Do Companies Want Superstars? by carlgt1 · · Score: 1

    I don't really think they do. They just want the cheapest person possible who they think can do the job.

    The interview format these days seems to be a "phone screen" tech grilling coupled with an office grilling by dweebs who think they are superstars. Asking every topic from Stroustrup's C++ book, or old college questions about traversing binary trees is no way to find a superstar.

    I think good references and a "network" are far more important for finding ideal candidates & superstars; but what we have now is basically a "meat-market", thanks to (from what I hear) the vast legions of H1Bs who do & say anything on their resume to get an interview & job.

  213. Real Programmer by m3rck · · Score: 1

    "Real Programmers have no use for managers. Managers are a necessary evil. They exist only to deal with personnel bozos, bean counters, senior planners, and other mental defectives."

  214. Can I weigh in? by Bobb+Sledd · · Score: 1

    I am not a superstar programmer (by a long shot), so I probably am not the type you are looking for...

    However, I am a creative mind and I solve problems, and some of it requires programming. I guess people would call me a "generalist." I'm paid fairly well and I enjoy my job (so I'm not looking right now).

    So when I'm looking for work, here's my dilemma: When I see a posting for a job, there are three things that keep me from wasting my time of even submitting a resume:

    1. The company didn't print the compensation amount. (Why would I apply for a job that pays half what I make now?) Be up-front with what you pay so I know what to expect. You'll get less noise, and I'll waste less time. And don't give a range like $50K - $75K. We both know that means $50K.

    2. They leave out some important details of what the job really entails. Using anecdotal examples does wonders for me.

    3. They require some credential/certificate (that usually isn't even necessary) before they would even look at my resume anyway.

    If companies would just say what it is they want done, how senior of a person they want doing it, and how much they are going to pay, then I could reduce your noise by either sending a resume or not.

    --
    "They said I probly shouldn't fly with just one eye," "I am Bender. Please insert girder."
  215. the best way to find that I know of... by Ahzzmandius · · Score: 1

    is to look at open source projects that are related to the products that you want this "superstar" to work on. Review the code base and compare the commit logs to get the names of the ones that wrote great code. Almost all superstars care more about the code than making gobs of money, so they will be out there in the public projects committing their hearts away. :)

    Reviewing code is FAR preferable to interviewing for finding that right programmer. Have your existing staff look around if you aren't comfortable in your ability to see good code when it's in front of you. Even if you are comfortable with the code, take samples of code that you like and present them with numbers instead of names to your existing staff to vote on which code is the most elegant, easy to read, and efficient. Approach the top 10 names on the list and you will probably find one or two that are currently between projects.

  216. Telling Schmucks from Superstars... by CountryGeek · · Score: 1

    Your posting reminded me of a post I read a while back:

    http://onstartups.com/home/tabid/3339/bid/3504/Startup-Developers-Telling-Schmucks-from-Superstars-5-min-quiz.aspx

    I agree with all of his points, but the one that resonates with me most is:

    "#12. You're going to start your own company someday. So, you're interested in sales, marketing, operations and things other than figuring out how to make Ruby on Rails scale to large numbers of users when there are complicated database queries involved."

    I think you're looking for the total package, someone who can do anything, and ends up choosing what they want to do. The problem is, the after #12, none of the "total package" folks will be interested in working for someone else. Thus, the set of candidates is shrinking as they finally take the plunge...

  217. Find One Who Is Left Handed by curmudgeon99 · · Score: 1

    Well, though I expect a firestorm for this comment, I would say find one who is left handed. In my career--coincidence or not--the most superior performers: creative, energetic, thinking-out-of-the-box, were the Left Handed developers.

  218. Re:Do you want, or need, a "programming superstar? by carlgt1 · · Score: 1

    haha, that's true, I don't know how many mundane companies I've been to that claim their people are the "best and brightest" and are looking for the "same." Even google doesn't really impress me, so they think they get all of these hotshots for what's basically advertising and "payola" scams?

  219. Don't feed me shit ... by Syncerus · · Score: 1

    and tell me that it's ice cream.

    --
    "Man is nothing without the works of man" -- Helvetius
  220. Where do you work? by Yunzil · · Score: 1

    "The company I work for is a great place to work; we only hire really great people, we work on hard, interesting problems, and we treat our employees well."

    So, um, who do you work for? And how much do you pay?

  221. Your biggest problem is.. by hilather · · Score: 1

    Honestly, I've actually met quite a few people who I would consider "superstar" programmers. I myself am only quite average. Most of the superstars were stuck in low paying jobs at fairly small businesses, because they couldn't make it past HR type standards that big corporations like to set in place. Not everyone has the time/patience or money to go to school and get a diploma/degree for something they are already more proficient at then their professors. Before you start asking where all the decent programmers are, you better figure out how many resumes are sent to the waste basket instead of being sent to your desk.

  222. Willingness to improve by steelclash84 · · Score: 1

    I don't understand why people think programming skill is some sort of "gift". Let's call it what it is: a skill, and an acquired one that that. If I were a project manager looking for programmers, I would look for some that have steadily increased in their skill sets, from simple projects to gradually more complex systems. No one is an expert at their job as soon as they are out of the box. If they are willing to learn, willing to admit mistakes, and willing to learn from their mistakes is what makes good programmers. 9 times out of 10, genius programmers probably aren't interested in projects that require a load of work. You need people willing to trudge through, be attentive to details, and are able to think ahead of their own project. In my own shop, I've seen what I thought were terrible programmers really start to shine once they got pushed neck deep into the work.

  223. The Turing Test by suitti · · Score: 1

    Most companies don't know about the superstars they have. Or otherwise.

    If you ARE a superstar, then you should be able to identify one in
    a conversation. It's the Turing Test. Is the person across the
    table competent?

    Unfortunately, being a really good programmer does not always make you
    good at other things. For example, i'm terrible at sales.

    So here's one of the better conversation starters in the interview:

    What are your favorite tools?

    Oh, and try to get some detail about some past project.

    I'm really good at this. Perhaps i should hire myself out to perform interviews.
    But it should be noted that the only real candidate i talked to turned us down.

    --
    -- Stephen.
  224. Specification by peccary · · Score: 1

    When you specified the work for your outsourced buddies, did you specify that the input was sorted (and UTF-8 or 8-bit ASCII) ? If you didn't, that was hardly their fault.

  225. Programming Super Stars by virtualthinker · · Score: 1

    We are all around ... problem is for years the business people in charge have made it impossible to talk to them by refusing to speak with anyone not on a vendor list. They insist on dealing with an agency. The agency has every interest in keeping us from talking to you. So eventually there is so much "business type noise" the technologist and those who could use their help are on opposite sides of the universe. We are here. Email us.

  226. Lazy is a horrbile trait by geekoid · · Score: 1

    in a programmer. It is a completely ignorant thing to say at best.

    Lazy people don't 'work smarter' they do the minimal amount of work AT THE TIME. They do NOT think ahead and say "How can i make this easier next time?" Thinking ahead is not what lazy people do at all.

    You want someone that values their time. Lazy people don't value there time, they value expending as little energy as possible at any given moment.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:Lazy is a horrbile trait by douji · · Score: 1

      but what about smart lazy people who can plan to be lazy at a later time?

  227. Class B people get hired when "growth" outpaces... by AntrygRevok.net · · Score: 1

    Class B people get hired when ( inflationary, like Big Bang )"growth" outpaces
    Managed Development.

    Read "A New Brand World" ( http://www.amazon.com/New-Brand-World-Principles-Twenty-First/dp/0142001902/ ) by the former brand-manager for Nike & Starbucks:
    their super-growth period ( Starbucks ) meant hiring rather a few former macdeath managers, and they didn't "get" cafe-culture,
    so they obliterated some of it,
    in exchange for supersized coffee cups.

    Sometimes one has to have the brains to turn-down an opportunity, in order to keep one's soul,
    but that blows the short-term-bottom-line,
    you know?

    ===

    PS: Also read:
    Al & Laura Ries, The 22 Immutable Laws of Branding
    http://www.amazon.com/22-Immutable-Laws-Branding/dp/0060007737/
    & Focus - The Future of Your Company Depends On It
    http://www.amazon.com/Focus-Company-Depends-HarperBusiness-Essentials/dp/B000GG4G3K/
    Both of which counter some of what the first book says, and eloquently

    PPS:

    Western Style:
    Hire the skill-set, change the person-nature.
    Which results in .. firing 'em, because their nature didn't change!
    Japanese Style:
    Hire the someone, change the skill-set

    Which is more-valid, seen plainly as that?

    --
    Try also my gallery: http://photo.net/photos/AntrygRevo
  228. MOD PARENT UP by Actually,+I+do+RTFA · · Score: 1

    Hear, hear. "I am a lazy programmer" is a self-agrandizing way of saying "I will do whatever is expediant."

    --
    Your ad here. Ask me how!
  229. Then.. by wwind123 · · Score: 1

    Who hired class B people?

  230. Start by changing your own language... by jotaeleemeese · · Score: 1

    Superstars? If I was applying for a serious job I would avoid a company advertising positions for superstars this or that.

    You are not making auditions for a soap opera or a bad B movie after all.

    --
    IANAL but write like a drunk one.
  231. Don't bother seeking them by magical_mystery_meat · · Score: 1

    It's great when you get a superstar, but you'll drive yourself nuts looking for them. Either they'll find you if they think the work is good enough, or you'll luck out and get one who doesn't know that it gets any better.

    That said, if you're writing stuff like generic CRUD apps on five year old Java frameworks, chances are you're not going to attract superstars. Superstars want cool things to play with. They can work anywhere. Give them a reason to work for you.

    If you insist on looking for superstars, be sure you're getting real superstars and not just guys who are good at job interviews.

  232. stars by dmlpat · · Score: 1

    I suppose your company wants to hire good developers, because stars you cannot recruit them And I doubt you can use them efficiently, I have the chance to know many stars,some you probably can call superstars, no company exploit the potential of any of them seriously :-) The companies clearly see those guys solve problems others cannot, but they don't even think to push the limits of those guys The superstars are rarely the people you see of the photographies, there are exceptions :-) And don't think about recruiting them, the stars are already working on something they like too much to abandon it : sorry Stars don't need help to find their way, they have clear vision of what they want to do and not do Stars will never put their CV is the WEB in the middle of that noise "polite form", this is totally illogical I would not recruit somebody that is so desperate to publish his CV on the WEB, when his peers should find him a direct entry to the best projects Then you still think you have some very interesting project that require exceptional developers, find some entry in the network Experts know each others and can recommend many friends, ask for some ranking from 1 to 100, shoot for 95 And in middle of those experts there are some gems, your talent is to find them, but you have done only 10% of the task Good luck By the way , if you look for talents why you have not made a clear description of the talents you are looking for ? What are your projects ? Propose a nice laptop to any person that give a successful pointer to the talent you are looking assuming you recruit him : 2K$ for such a talent is pretty cheap

  233. Programming competitions by David+Deharbe · · Score: 1

    www.topcoder.com and icpcres.baylor.edu

  234. Go back to first principles by James+Youngman · · Score: 1

    You indicate that you're looking for elite staff and are complaining that the number you're finding is very low. That's the very definition of elite. The elite are by definition in a tiny minority.

  235. i was just there by sdedeo · · Score: 1

    Yup, all true (I hear Auckland has some danger areas, though.) Christchurch is wonderful. Except that everyone I met was either 21, and getting ready to go on an O.E. they hoped never to return from, or 28 and back from their O.E. after exhausting their visas without getting a spouse or a job that could keep them somewhere where the papers are scary, the homeless nasty, and there's something going on. Not to knock it -- there were a few Christchurchers happy to be there at 30 (one told me the city was so nice because there were no Maori making crime -- I felt a little schadenfreude that there are racists in paradise), and the internet makes things easier, but if you have ambitions that don't involve the interaction of geography and gravity, it's hard to realize.

    --
    Protect your liberties. Donate to the ACLU