How Do You Find Programming Superstars? 763
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?
This may help... (Score:4, Informative)
Re:Not a programmer here but... (Score:4, Informative)
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.
Flip the question around (Score:3, 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.
Programming puzzles & internal referrals (Score:2, Informative)
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.
Re:One opinion (Score:4, Informative)
Show me the money. (Score:3, Informative)
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.
Nonsense (Score:5, Informative)
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.
Re:OSS guys? (Score:3, Informative)
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.
Re:Appeal (Score:2, Informative)
Yes you can. But you will need lots of cotton and lots of pressure.