Matching Smart Programmers With Great Jobs: There Has To Be A Better Way

January 16, 2007

Looking for local java programming contract has been the usual frustrating game of looking for opportunities, taking silly tests, talking with brainless recruiters, trying to make sense of job descriptions written in Klingon, and sometimes even interviewing with a real person.

Surely in this enlightened internet age there has to be a better way to match smart programmers with good jobs. Yet we continue in the same pointless algorithm that existed long before computers were even invented: the professional equivalent to a prom date search.

As I've said before, in the last two jobs they interviewed 30 or so people for my position (one to find me and one to replace me) not including all of the rejected resumes. Both of these companies used multiple recruiting firms, posted direct jobs to various job boards, and asked everyone for contacts. In one case it took 6 months to find my replacement before they found someone with similar ability; yet in the same timeframe 3 more senior engineers left and they have little hope of finding equivalent engineers.

The usual game involves look at various job posting sites (monster,careerbuilder,etc), sending in your resume (if you are lucky, filling out a form based resume builder from hell is more common) and then dealing with the inevitable resume slinger (most firms use recruiting companies, which I enjoy about as much as bail bondsmen). Many large companies require some kind of screening test, which might be answering a few technical questions, or even worse using a testing site like Brainbench. Then you wait while some kind of background process takes place, mysterious processing on the various resumes they've collected occurs, and possibly at some random future date you find out if an interview is requested. Sometimes they start with a set of phone interviews or a first round of in person interviews. Unless you fail completely you then go back to the wait cycle until you here a response (or not, often the recruiter will abandon you if they don't hear back right away).

Sometimes it goes better when you deal with the job manager directly. For my last two non-contract jobs I was contacted by a reader of this blog (in it's early days), came in and basically was hired the same day. The second job I found on a job board startup I was looking at for ajax ideas; I interviewed the next day and was hired the day after. The first job was frustrating but at least I knew it going in; the second was a train wreck in progress but I didn't recognize it until a couple months in. It's important to evaluate the job as well as the job evaluating you.

The problem with this process is that each potential employer or recruiter evaluates you as if you just popped into being, and even worse, may assume you are lying about everything in your past and in your resume. There is a good reason for this assumption, having been involved in the hiring process, most people lie on their resume to keep up with those who really know their stuff and don't need to lie. That's why everyone is forced to take screening tests. It also explains why unusual resumes are often overlooked; they look too much like someone is cramming lies into their resume in order to get noticed. These folks then hope someone clueless will be interviewing them, and get a job they aren't qualified for. I've worked with many people I assume followed this route, there is no other explanation how they got a programming job without the ability to program. So companies looking for good programmers are forced to be defensive, and potentially let great employees get away in order to avoid the embarrassing potential of hiring a janitor.

Yet even with all this defensive hiring, most places I have worked (other than my own 2 companies in the 80's where I only hired programmers I knew) have a few good programmers and a lot of mediocre or even worse people. How all these job seekers (like the 30 or so mentioned above) stay employed enough to have a resume is something I've always wondered about.

How can these be made better, both for the programmers and for the hiring companies? There are millions of tech recruiters, who are saddled with the job of hunting for resumes to throw at their customers (always remember the programmer is not the customer); go to any of their web sites and they all brag on how great they are, yet all of them are the same. Every employer I have known hates their recruiting firms as much as the programmers hate to deal with them. Yet the system continues. Is there any hope?

I wish I had a brilliant idea that would make the whole process better. It still comes down to trust, how does a middleman get to trust both job seekers and employee seekers enough to properly match them up to the satisfaction of both. Or how does a company determine sufficiently that they are hiring a great programmer without spending enormous amounts of money and time on each candidate. Maybe there is not great solution. Google has huge amounts of money so they can afford to spend a lot trying to find the perfect employees but even that doesn't guarantee the best results; so what hope is there for Joe's Financial Services?

If anyone has a great idea to make this work better please implement it soon. I know a great programmer with a broad resume and a long history of doing good work!