Hunting for a job can be a difficult process. Since I have some buddies who are going through the process now, and my current employer is hiring, I figured I would share a little bit of my dubious, unsolicited wisdom on the subject. Today I’m going to talk about recruiters.

Notice that what I say here is very specific to programming careers and is probably specific to my geographical area and skill set. Take my advice with a gain of salt.

Recruiter Basics

I can hunt for a job myself. I can put my resume together, search the internet for open positions, contact hiring managers, schedule interviews and negotiate salary. Recruiters are interesting here only because they can save time and effort. A recruiter can farm through and filter out job postings for you and contact you later with only the creme de la creme. In this way, a good recruiter can be “worth it”.

But then again, as a job hunter you aren’t paying the bill, are you? And if you aren’t writing them a check, then they don’t really work for you and there is no way to compare “worth”.

I want to make very clear: I am not against recruiters and a good recruiter can do a heck of a lot towards smoothing the transition into a new job or out of an old job. The people I complain about here are not the good ones. First, let’s talk about some common fallacies.

Fallacy 1: They Work For Me

Towards the end of senior year in college I had a friend say to me “I’m not worried about finding a job. I have three recruiters working for me!” Sorry, they don’t work for you. You aren’t their client, you’re their product. When you understand that, so many things come into focus.

Fallacy 2: I Make More, They Make More

I’ve heard people say “Recruiters get paid a percentage, so the more I get, the more they get too. It’s in their best interest to get me the best deal possible.” No. That’s not how it works. Walmart isn’t one of the biggest and most profitable companies in the world because it sells high-end goods. Walmart’s strategy is all about volume, and it’s a strategy that works.

Many recruiters do work on a percentage. Getting you an unusually good deal at the expense of the employer (their paying client) is self-defeating. See, if an employer feels like the recruiter is taking advantage, they are highly unlikely to call that recruiter again (or even answer their emails) next time they have an opening. Recruiters work for the employers, and the first step is convincing the employers to let them in the door.

Let’s do the math. Consider a recruiter who earns 20% on any placement. The recruiter finds a senior-level programmer who has a steady job but is casually looking for other options. He can afford to wait and be selective. So the recruiter sends him an email with half a dozen opportunities through which the candidate sorts and picks one for a phone screen. The phone screen maybe leads to an interview after which the candidate is unimpressed and chooses not to pursue it. The recruiter looks and finds another half-dozen positions for the next email, and the process repeats. When the candidate finally selects a position, he is making 150 thousand dollars, giving a 20% payday of 30k. This seems like a decent payday for our dedicated and tireless recruiter, earned over the course of, let’s say, 5 weeks.

Consider instead the same recruiter making the same commission, but working with younger candidates fresh out of school. Being unemployed and under considerable debt makes these candidates significantly less picky. Plus, as they are assured repeatedly, your first job out of school is never one you keep for long, so the deal doesn’t need to be perfect. After a few years they’ll be able to transfer somewhere else for a big pay jump. The recruiter sends each of them an email with 12 job postings (low-level positions being much more common than more prestigious, senior-level ones) through which the candidates quickly sort, schedule several phone screens which lead to some interviews, which lead to a single offer which is quickly accepted. Each candidate places for an average of 50 thousand dollars, leaving a 10k payday for our recruiter. But, because he was able to place more junior-level candidates in the same amount of time as our one senior-level candidate, the recruiter has earned 50k in the same 5 weeks.

A good recruiter makes the most money by stuffing the most people into new jobs in the shortest amount of time (while keeping employers happy). Obviously increasing the quality of the placement for both candidate and employer can help things like professional reputation, but in the short-term any placement is a good placement.

Recruiter Goals

See, recruiters have three basic goals:

  1. Get a good deal for the employer, so the employer is willing to work with them again in the future.
  2. Make the process relatively easy for the candidates, so it’s easy to get them onboard with the process.
  3. Make deals as quickly as possible, to increase volume.

Unscrupulous Recruiters

I was working at a job that I had been placed at through a recruiter. He called me 18 months to the day after I first started there to ask me if “things are still going well”. And I don’t need to tell you that any suggestion of things not being so would have been met with an offer to help find something better. 18 months to the day. I don’t know exactly what the recruiter’s contract with my employer looked like, but I have to imagine that the number “18” appeared somewhere prominent. I wonder how far in advance he added me into his Outlook calendar?

Some recruiters have written into their contract that they won’t poach from their clients (the companies, not you). Some recruiters don’t. If it isn’t in the contract, some recruiters will be perfectly happy to place you and then turn around to poach you again.

Money and the 10% Rule

A practice that I find to be particularly unpleasant is what I’m calling “The Ten Percent Rule”. Basically, it works like this: A lazy recruiter (or, a lazy recruiter in concert with a lazy employeer) asks how much money you’re making now. Being helpful, you tell her. She takes your current salary, adds 10% to it, and uses that as the start for negotiations with the prospective employer, regardless of what the position is advertised to pay, or whether the expressed salary is satisfactory for the candidate. The idea is this: 10% is a good enough raise that most candidates would jump at it quickly, but it’s low enough that most employers will take the deal quickly too. Win-win, right?

When I accepted my first job out of school I had been unemployed for a few months (working on my GSOC project that summer!) and was getting desperate for anything. The offer was lower than I was hoping, but they were a small startup with a lot of growth potential and I was promised yearly performance reviews with merit-based pay increases. Being young and a little naive I took the offer with the assumption that I would be able to demonstrate my value and be rewarded later. As we all remember, 2008 and 2009 happened. The economy collapsed in on itself and the industry I was in was particularly hard hit. We were told that while our jobs were safe, there was a company-wide freeze on pay increases. My salary, which was low when I took the job and very low with two years experience on my resume, was stuck without any hope of increase.

So I called a recruiter and he told me about that pesky 10% rule. I did the math and realized that my current low salary plus 10%, was still lower than I thought I should be making. I looked without a recruiter and found a job for about a 35% increase. This was, according to some basic market research, what other similar jobs were offering at the time. It’s not that I was looking to make too much money, I was only looking to get closer to a fair market value.

Years later when it came time to look again (for reasons not relating to money) I called a recruiter. He asked “how much are you making now” and I refused, politely, to tell him. “How am I going to know where to start negotiating from?” so I told him that I wanted to be paid what the job was worth, no more, no less. He begrudgingly accepted my terms, I found a job for more than a 10% jump, and I was very happy to accept it. I didn’t ask for more money because I didn’t need to. The company was offering that much because that’s what they felt I was worth to them. A lowball starting point for negotiations would have hurt me and not helped anybody.

Programmer Value And Turnaround

I had a buddy who was working his first job out of college for relatively low pay (like my first job). When he moved to a new position he followed my advice and refused to tell his recruiter about his current salary. When the first offer came in, for a 45% pay jump, he took it. Despite that kind of a jump, he isn’t over-paid by any stretch.

The problem with the 10% rule, and about half of the recruiters I talk to still cling to it, is that it can put you into a trap. If your pay is low and you move for 10%, your pay will probably still be too low. Programmers, as they get older and more experienced start to command more money for a variety of reasons. We lose people due to attrition and because of other opportunities. Good programmers get lured into management or team leadership, or they start to specialize. A new CS graduate doesn’t really have much experience in anything, so they can really walk into any entry-level job because most employers recognize that new grads need to be trained. You do a few years in Ruby, and when it comes time to find a new job you have a choice: Find a mid-level job that requires a few years with Ruby, or start down at the bottom of the totem pole again with no years experience in something else. You either move up and continue specializing, or you start on a jack-of-all-trades path, or maybe you find something different entirely. Maybe you start moving into networking and security, or you start specializing in DB admin, or you start getting more into requirements gathering and analysis. Or maybe…

My point with all this is that people start to specialize, which means the pool of potential candidates for higher-level programming jobs is smaller, which means money goes up. It doesn’t go up forever, people will plateau sooner than later (it’s hard to find a job asking for more than 8 or 10 years experience, because after that your specialized skills are out-of-date anyway and the pool of applicants would be so small that you would take a long time to fill the position). I’ll talk more about the career paths open to developers in a later post.

A lot of schools teach languages like C++ or Java. So if companies want their entry-level developers to learn a different language they need to teach them on the job. Two or three years later, any companies who are looking for mid-level developers with those skills need to find a person who either taught themselves or else was trained in their previous position (or, they need to find somebody with a similar skillset and hope they can make the transition, which isn’t always easy). This is why there can be a relatively big jump from a developer’s first job to their second.

This is also a big problem for companies, because many companies want to offer something like 2% every year for cost of living, maybe up to 5% total for merit, but the next company wants to offer you 10% or more after two or three years to jump ship. This is a major reason why programmers skip around a lot. I’ve heard many people say that the turnaround for a developer will be 2-3 years on average, and you can be damn sure all recruiters you’ve been in contact are aware of that fact.

As an aside, why more companies don’t know this, and don’t take steps to retain their top talent in the face of such relentless poaching, I will never know. I have to imagine it would cost less, on balance.

Real Numbers

To backup some of what I’m saying, I searched through some online job postings recently with some keywords from my own resume in my general geographical area. I list them by the years of experience they are asking for and the pay that they are offering (obviously many job postings don’t include salary numbers or specific years experience, so there may be a selection bias here):

  1. New grad, 35k-50k
  2. New grad, 50k-55k
  3. 2+ years experience, 50k-55k
  4. 2+ years experience 50k-70k
  5. 2+ years experience, 60k-70k
  6. 2+ years experience, up to 85k
  7. 1-3 years experience, up to 80k
  8. 3+ years experience, up to 80k
  9. 5+ years experience, 60k-65k
  10. 5+ years experience, 65k-75k
  11. 5+ years experience, 90k-100k
  12. 10+ years experience, 120k-160k

At the start of their career a CS grad can expect about 50k in their first job, probably about 60k (a 20% jump!) after 2 years, probably about 75k after 5 years (a 25% jump!) and 120k if they stick with it for 10 years (a 60% jump!). Now I’m not trying to put dollar signs into anybody’s eyes. For these kinds of numbers you need to work hard and continuously learn new technologies. But what I do want to point out is that a a recruiter blindly offering a 10% starting point for negotiations isn’t doing you any favors at any point.

Don’t Tell

Allison Greene, of AskAManager.org fame agrees with me. [Don’t tell people what you are currently making], especially if you don’t want your salary history to be the guide for your salary future.

My general rule is that you should never tell a recruiter what you are currently making. The one exception to this rule is if you’ve already talked about what you want to make in your next move. If you are making 50k, but want to be making 65k, start with the later number. Here’s an example conversation:

Recruiter: What are you making now and what do you want to make?

Me: I've been doing some research, and it looks like the kinds of jobs I'm
after are paying about 65k. I probably wouldn't be willing to leave my
current position for much less than that. Does that sound right to you?

Recruiter: Yeah, looking at your resume and some jobs, it looks like 65k is
fair. What are you making now?

And at that point, maybe it’s okay to tell what you are currently making, but it shouldn’t matter. You’ve already told what your target range is, and that should be used to inform the negotiations. What you are currently making is completely irrelevant, so why would a recruiter want to know?

In Review

In review, there are a few things to keep in mind about recruiters before you get involved with them:

  1. You don’t pay them, so they don’t work for you. You aren’t the client, you are the product
  2. Getting you any deal quickly is better for the recruiter than getting you the best deal possible
  3. Don’t tell them what you are currently making. Some recruiters will refuse to work with you because of this. That’s fine. There are always more recruiters out there.
  4. Do some research on your own and make sure you know what you are worth. Don’t let a recruiter or anybody railroad you into a bad deal just because it’s quick.
  5. Some recruiters can be very unscrupulous. Beware.

I’ve worked with some good recruiters in the past and I would work with some of them in the future too, if the opportunity arose. Just make sure that, if you choose to go this route, that you understand the relationship and take steps to protect yourself.