Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

How Do You Find Programming Superstars?

Posted by ScuttleMonkey on Wed Feb 27, 2008 05:06 PM
from the can't-beat-a-human-signal-to-noise-filter dept.
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?
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Uh (Score:5, Funny)

    by iONiUM (530420) on Wednesday February 27 2008, @05:06PM (#22579690) Journal
    I'm right here.
    • Appeal (Score:5, Funny)

      by Jeremiah Cornelius (137) * on Wednesday February 27 2008, @05:09PM (#22579766) Homepage Journal
      to their obvious sense of humility, and only ask for mere "stars".

      That, or go trawling through the strip-clubs near Boston.
      • Re:Appeal (Score:5, Insightful)

        by ShieldW0lf (601553) on Wednesday February 27 2008, @05:30PM (#22580130) Journal
        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.
        • Re:Appeal (Score:5, Insightful)

          by Fozzyuw (950608) on Wednesday February 27 2008, @06:02PM (#22580702)

          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

          • Re:Appeal (Score:5, Interesting)

            by Maxo-Texas (864189) on Wednesday February 27 2008, @08:52PM (#22582706)
            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.

              • Re:Appeal (Score:5, Insightful)

                by CastrTroy (595695) on Wednesday February 27 2008, @08:54PM (#22582744) Homepage
                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.
                  • Nonsense (Score:5, Informative)

                    by HappyEngineer (888000) on Wednesday February 27 2008, @11:47PM (#22584310) Homepage
                    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.

              • by pavon (30274) on Wednesday February 27 2008, @10:07PM (#22583530)
                "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
              • Re:Appeal (Score:5, Insightful)

                by drew_eckhardt (30709) on Wednesday February 27 2008, @10:38PM (#22583776) Homepage
                >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.
              • Re:Appeal (Score:5, Insightful)

                by xero314 (722674) on Thursday February 28 2008, @12:49AM (#22584694)

                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.
  • by Dusty00 (1106595) on Wednesday February 27 2008, @05:07PM (#22579722)
    Be Google.
    • Re:Simple answer... (Score:5, Interesting)

      by flannelboy (344272) on Wednesday February 27 2008, @05:23PM (#22580020) Homepage
      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.
      • by davidwr (791652) on Wednesday February 27 2008, @05:32PM (#22580160) Homepage Journal

        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.
      • by lgw (121541) on Wednesday February 27 2008, @06:17PM (#22580876) Journal

        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.
        • by AuMatar (183847) on Wednesday February 27 2008, @06:03PM (#22580724)
          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.
        • by mikael (484) on Wednesday February 27 2008, @06:35PM (#22581124)
          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.
  • One opinion (Score:5, Insightful)

    by fyngyrz (762201) * on Wednesday February 27 2008, @05:08PM (#22579736) Homepage Journal

    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.

    • Re:One opinion (Score:5, Interesting)

      by Intron (870560) on Wednesday February 27 2008, @05:15PM (#22579880)
      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.
    • Re:One opinion (Score:5, Insightful)

      by penix1 (722987) on Wednesday February 27 2008, @05:21PM (#22579972) Homepage
      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.
      • Re:One opinion (Score:5, Insightful)

        by PhrostyMcByte (589271) <phrosty@gmail.com> on Wednesday February 27 2008, @06:02PM (#22580698) Homepage
        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.
        • by prockcore (543967) on Wednesday February 27 2008, @06:24PM (#22580966)

          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?"
        • by geekoid (135745) <dadinportland.yahoo@com> on Wednesday February 27 2008, @07:52PM (#22582054) Homepage Journal
          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.
    • Re:One opinion (Score:5, Insightful)

      by tknd (979052) on Wednesday February 27 2008, @06:07PM (#22580764)

      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

  • by vanyel (28049) * on Wednesday February 27 2008, @05:09PM (#22579772) Journal
    You can't have both quality and quantity. Searching for the best of the best is bound to return a small number of people.
  • 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?).
  • Linkedin (Score:5, Funny)

    by Nefarious Wheel (628136) <nefariouswheel@nospam.gmail.com> on Wednesday February 27 2008, @05:10PM (#22579792) Journal
    (Clears throat, adopts heroic stage pose) "People... people who know people..."

    (Dodges ballistic vegetable matter)

  • by COMON$ (806135) on Wednesday February 27 2008, @05:12PM (#22579820) Journal
    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.

  • by bbrack (842686) on Wednesday February 27 2008, @05:13PM (#22579844)
    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
      • by rhizome (115711) on Wednesday February 27 2008, @06:34PM (#22581098) Homepage
        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.
  • In 3 Ways... (Score:5, Interesting)

    by FreeKill (1020271) on Wednesday February 27 2008, @05:16PM (#22579888) Homepage
    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.
  • Why? (Score:5, Insightful)

    by mapkinase (958129) on Wednesday February 27 2008, @05:17PM (#22579914) Homepage Journal
    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.
  • by justdrew (706141) on Wednesday February 27 2008, @05:17PM (#22579918)
    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.
  • by wonkavader (605434) on Wednesday February 27 2008, @05:17PM (#22579920)
    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.
  • by seanadams.com (463190) * on Wednesday February 27 2008, @05:18PM (#22579934) Homepage
    ...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!
  • by CaptainPatent (1087643) on Wednesday February 27 2008, @05:22PM (#22579996) Journal

    What methods have other people used to find the truly elite?


    Wouldn't that be sort?
  • 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.

  • by mapkinase (958129) on Wednesday February 27 2008, @05:32PM (#22580156) Homepage Journal
    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.
  • by johnlcallaway (165670) on Wednesday February 27 2008, @05:36PM (#22580222)
    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.
  • by TheGrapeApe (833505) on Wednesday February 27 2008, @06:05PM (#22580744)
    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.
  • by asc99c (938635) on Wednesday February 27 2008, @06:15PM (#22580844) Homepage
    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.
  • by ryanisflyboy (202507) * on Wednesday February 27 2008, @06:15PM (#22580848) Homepage Journal
    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 [mozy.com]

    What you have to be prepared for is the unexpected winner:

    http://uphpu.org/pipermail/uphpu/2006-November/005608.html [uphpu.org]

    It was so succesful they did a second take, check here for sample questions:

    http://mozy.com/contest [mozy.com]
  • by LaskoVortex (1153471) on Wednesday February 27 2008, @06:19PM (#22580908)

    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 [nobelprize.org]:

    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.

  • by An Ominous Cow Erred (28892) on Wednesday February 27 2008, @06:23PM (#22580948)
    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.

        • Re:Simple filter. (Score:5, Interesting)

          by bmajik (96670) <matt@mattevans.org> on Wednesday February 27 2008, @06:56PM (#22581396) Homepage Journal

          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.