I'm just like a lot of young developers out there. I'm 23, I'm just starting to get out there as a self-proclaimed professional software engineer, and I'm discovering the ways in which I'm naive. Some of the first bastards to welcome me to the cold world of pro development were (are) recruiters.
Because I've been involved in 'quite' some situations in the past year of dealing with recruiters, I feel like I should help my fellow newbies by kicking some of my hard-earned wisdom.
Know the following when you're dealing with/being contacted by recruiters:
Recruiters don't care about you. Listen, I don't know much about how recruitment agencies pay their recruiters, but the bottom line is that they very clearly see each candidate as a possible sale, not as people who want to live without fucking up personal career prospects. Even if the recruiter happens to care about the way your career looks in 5 years, I can almost guarantee they give many more fucks about how you can land them another contract with some company they're working with.
Recruiters usually don't know jack shit about code. I've met with plenty of recruiters at this point, both internal and external to their respective hiring clients/companies. A good 95 percent of them wouldn't be able to tell you that Django isn't a programming language, let alone what a pointer is. That's good for you in at least one way: if you know your shit, you can talk circles around them and get them to put you in front of some high-paying companies. The downside is that if you know your shit, you can talk yourself into circles. The next tip should tell you what those circles are.
Recruiters want a sale. Therefore, it appears that they will say just about anything to companies if they have any feeling that you're someone who can write anything but "Hello, World" -- err...assuming they know what "Hello, World" is and anything about what a programmer should know at the very least. This up-talk can be great if you're trying to get into a company on Wall Street or some well-funded startup. The problem is that it can just be up-talk, nothing else, which means the perception the company who's interviewing you has of you can be inflated beyond your ability as an engineer. If you get through the screening/interviews with that fluff on the table, the company can rely on their relationship with the recruitment agency to manage you. In a nutshell, because recruiters want to make the sale, they might try really hard to make you look really good if you've mentioned a number of buzzwords during your screening interviews.
You should never pay shit. Seriously, if a recruiter tells you about any fees, hang up the phone, don't reply their email, etc. You can do the same networking to get your foot in the door somewhere, so being assisted by a recruiter shouldn't result in monetary loss. It's all about the gains, baby.
Recruiters will try to convince you to drop a huge opportunity. I was faced with offers from some bigger companies after having interviewed with them on my own prior to dealing with a recruiter. Although the recruiter's input had very little to do with my final decision, being candid during my meetings with the recruiter led to my hearing a bunch of nonsense about the companies I was receiving offers from. They (recruiters) will make you feel like it's a stupid decision to take those companies independently if you let them. Don't let them. It's time to be tough on yourself and reject their ruthless advancement when faced with such decisions. The contracts govern your life, not theirs. I can't stress that enough, so...
Read everything, request all contracts and signatures, and request that all promises be documented and jointly signed by all parties including yourself. Here's a spot in which I royally fucked myself over, but you don't have to. Recruiters, I noticed, try really hard to keep the programmer from the paperwork. They won't always do this by beating around the bush when asked for any paperwork managed between them and the company about to hire you. Instead, they may actually try really hard to keep you from reading the paperwork they provide you with by rushing you. You're in no rush to sign shit. You're in no rush to sign shit. YOU'RE IN NO RUSH TO SIGN SHIT. Really. If you lose the company's interest, email the company personally; let the company know--without the recruiter's blessing--that you've been faced with a lot of paperwork to sign and you just want to be sure you're not getting fucked. If the company doesn't understand, it's probably a company you won't want to deal with. Period. If that's something you're cool with, don't read as thoroughly as you can and sign away. I wish you lots of luck. Nonetheless, business does not run on implications, smiles and compliments. It's hard to fight a well-written contract, though. Remember that.
Recruiters are not your friends. At all. End of story. It sucks, but I've noticed that they really don't care about you as much as many of them insinuate they do. I'm pretty sure most of them are in a rush to get to the next sale. That's a salesmen, not your mother.
When a recruiter asks you to come in during the initial phone call, ask, "Why?" Don't be afraid to ask. Recruiters don't pay you to leave your house, but you lose money traveling to the recruiters. Remember a few tips ago when I mentioned you shouldn't suffer any monetary losses, all gains? Even bus fare is a cost, gas costs; shit costs, yo. You should be able to do everything for free, from home. You're a developer, motherfuckinggoddammit. Try to talk your way out of meeting them. Most of the time, you end up explaining your projects, they might ask you something technical from some stupid list of rudimentary programming questions, and then they bombard you with fucking business cards. The meet and greet isn't worth the time and nervous sweat most of the time. You're trying to get paid, bruh.
No, you're not making a decision you'll regret when you take one company over some recruiter's offer/prospective offer. Some bum-ass motherfucking recruiter told me over the phone, "You're making a big mistake" after I kindly declined one of his opportunities. I was facing a few other offers/things in the works at the time and what he mentioned wasn't attractive. His comment told me that he was desperate. I'm not the arrogant type, but his arrogant ass made me get my Kanye on and tell myself he was beneath me -- he and his offer was. How dare he threaten me with some bullshit like that? Look out for characters like him. If I wasn't strong-willed, I'd have followed him up on that and missed out on a lot.
Not all recruiters are bad, but the the competitive nature of their business is very, very clear, and it's very easy to get caught in the middle of that. Good salesmen highlight a problem, glamorize the illusion of a solution even if there isn't a solution to glamorize, and they aim to create a sense of urgency in their potential customer so that there's very little time for the customer to think before signing the dotted line. I could be wrong about all of this, but I'm certainly open to a change in my outlook. I'm looking to change my opinion for the better.