- What I send when I get junk mail that smells like it came from a recruiter. Because I don’t even bother reading them, most of the time. Most of the time, my mail filters auto-reply and I don’t even have to know it happened.
- What I would liketo see. This is a template for actually hiring a good programmer without pissing us off.
- And then … an annotated copy of the kind of crap every programmer loathes to see. Warning: There is profanity — not as much as it deserves, but still, there is some.
Thanks for your interest!
It looks like you’ve send me an eMail about a job offer. My Résumé and C.V. can be found at http://star-hope.org/brpocock/ if you’d like to review it. This is always current. There’s even a PDF link in the left margin.
If you’d like to discuss a job opportunity or schedule an interview, please make sure you include at least the following information. Just two things. It’s easy.
The name of the programming language (Lisp, Java, C) or operating system (Linux, Android, iOS) are not sufficient information to guess what the job is. Nor is “Senior Programmer.”
Motivational speaker phrases like “leveraging the latest technologies to build value for our shareholders” don’t count, either.
An example of a good answer might be, “programmer to work on an MMO-RPG for kids.” Need more hints? Matt Youell has some advice.
You’re trying to get me interested in this job, right? My résumé and CV gives you all kinds of information about the kinds of things I find interesting. So tell me something that will make me care.
- Is the project really unique and exciting?
- Do you have a great team of people I’ve always wanted to work with?
- Do you offer fantastic benefits?
- Are there meetings?
Look, I get 20-50 mails from recruiters every day. Most of them are pretty much worthless. “Senior Java developer needed for Android software” tells me almost nothing. Wasting my time with eMails that don’t actually give enough information for me to guess what job you’re trying to get me to apply for — I consider that far more rude. Think of this as my attempt to make the world a better place.
I’m sorry if my filters caught you, and you’re legitimate. On the upside, I no longer waste my time on 20+ junk mails a day, so I can afford to skip the “game” and have an intelligent conversation with those of you who are actually making the necessary effort to know something about the position before we speak.
Example of a good eMail to recruit a programmer.
OK, seriously, people have asked me for this. Really. Here’s an example of something that would actually get a response:
To: Susie Q. Programmer <email@example.com>
From: Joe Recruiter <firstname.lastname@example.org>
Subject: I18N/L10N Programmer to support Customer Service apps
The Subject mentions something that Joe saw in Susie’s CV that made him think she’d like this job. Avoiding acronyms is usually best, but “internationalization and localization” gets abbreviated for a good reason.
Hi, I’m Joe Recruiter, and I found your résumé at http://example.com/susie-q-knows-parens.html — is this current?
In the first ¶, Joe mentions how he got Susie’s information.
I have a need for a programmer to support an existing, in-house app that’s used to support our customer service department at WidgetCorp.
I see you have some experience with internationalization and localization efforts and large-scale real-time systemts like this. Would you be interested in discussing whether a position with WidgetCorp would be a good fit for you?
As you might know, WidgetCorp ships thousands of custom widgets ewery day, and we have customer service offices in three countries for sun-chasing 24-hour support, joined by a collection of programs that combine SIP+VoIP, various intsant messaging platforms, eMail, and even faxes in Japan and China. The whole system has ad-hoc i18n/l10n in 9 main languages and serves up both the public-facing web front-ends from some Amazon cloud instances and private hosting focilities as well as the inward-facing Customer Relations Management system for our contact center staffs.
Naturally, we offer a competitive salary and pension plan, flexible work hours, 20% time, full family health benefits, and we’d be willing to discuss either a telecommute or in-office position with our Boca Raton office. There would be ocassional travel for conferences as needed (we usually attend GUADEC and spend a few extra days in the host country with our families as a “team building” event) and twice-a-year meetings at our main offices in Atlanta, GA.
No attached company logos or page-long corporate mottos; just a signature — and, since there isn’t a bunch of noise at the end, Susie may still be reading, which means she hasn’t made up her mind yet, so Joe gets one last shot…
Example of a Typical Bad Recruiting eMail.
Annotated with why it’s bad in RED.
We are working on a number of exciting opportunities but I’m not going to tell you what they are yet and are eager to talk with you and see if XXXX is the right fit. We value your time and would like to learn more about your skills, experience, and career aspirations because we couldn’t be bothered to read your résumé.
Below is some information about an immediate opportunity for which you might be interested. Please contact me at your earliest convenience so that we can have an initial discussion and go from there. Call me at XXXX
Title: Sr iOS developer What do I already know about this?
I’m guessing that “Sr” means “senior” and you forgot the “.”?
It has something to do with Apple iOS — probably. It could be a typo for Cisco’s IOS.
“developer” is in lower-case … why?
Um, wait, are you done? So, what are you developing? A game? A fax viewer? A web page? — Hello?? What is the job??
At this point, I stopped reading and skimmed ahead to look for hints in the sea of verbose bullet points … blech …
Location: Torrance, CA which is 3,000 miles away from you probably and not someplace you’ve ever heard of, and there’s no indication if we expect you to visit this office or telecommute or …
Duration: Long term Well, that’s good … what is “long” term? And why avoid the typical term “permanent?”
Interview: Phone Hire OK, WTF. You think you can interview a programmer on the phone? Yeah, that sounds great. I can totally discuss things by reading code over the phone during the interview. Like, “paren define-tack-compiler-tack-macro curry paren function ampersand-rest arguments close paren let paren paren curries paren make-tack-gensym-tack-list paren length arguments close double-quote all-caps CURRY close close close back-quote paren let comma paren mapcar sharp-quote list curries arguments close paren declare paren optimize paren speed 3 close paren safety 1 close paren debug 1 close close close paren lambda paren ampersand-rest more close paren apply comma-function comma-at-curries more close close close close close.” That makes great sense.
Surely, you mean, “initial phone screening with a meaningful follow-up interview to be arranged before hire,” right?
Position: 1 Is that a good thing? Would position 2 have been better?
In case you don’t know what a programmer does…
• ? Responsible for coding and unit testing application software
OK, right, “programmer,” I get it…
across including production support,
wait, WTF? Is that even English? Looks like badly cut-and-pasted stuff?
enhancements to existing applications, and new development.
OK, back to the “no shit” territory.
• ? Design, document, and Implement
Hmm, so you want a programmer and a tech writer now? Do I get paid double?
Implement is capitalized. You did mean “program,” right?
I sure as Hell hope you’re designing, then programming, and then documenting, or … well, let’s just toss those docs in the toilet, otherwise.
client-side mobile applications.
Client-side … implying that there’s a server-side somewhere?
And of course the mobile side are clients. You wouldn’t run a server on an iPod.
I already got the “mobile” part. You said iOS already. iOS is a mobile OS. Stop repeating yourself!
Hey, wait, there are multiple applications? That’s different. What are they?
• ? Design, document, and implement object-oriented REST architectures for mobile applications.
You must have copied this from somewhere else, right? Because now you’re asking for an iOS programmer to write multiple applications, and a tech writer to document them all, and a server architect, programmer, and writer, too?
Why would they have to be object-oriented REST architectures? OOP is not a panacea that works in every situation. If I’m supposed to be designing these things, is there some reason you think I would need to use OOP? What if a functional or monadic or continuation-passing design was a better fit?
If I’m the designer, who came up with this rather arbitrary-seeming requirement?
Oh, and by the way, what am I supposed to be designing???
And, hey, the vague “job title” didn’t mention anything about server architecture development or technical writing … what’s going on here?
REST, at least, is a good goal to shoot for, but fortunately it’s so poorly-defined a concept that stepping on a ketchup packet technically qulifies as a Representational State Transfer system, so that’s really just a noise word. The sentence would say the exact same thing without it. So why is it there?
• ? Participate in architecture and design of mobile applications.
Yeah, you said that already. Twice.
• ? Ensure cross-platform application compatibility with dominant mobile platforms.
Wait, what? There are two major mobile platforms — Android is the “dominant” one, with iOS coming in a close second. Trailing the field are FirefoxOS, Blackberry, Simbian, Windows Phone, Windows Mobile (no relation), and a dozen others.
But the “title” said iOS. So … are we also porting these apps to run on Android? What about the Blackberry RIMOS?
Are all the apps getting ported?
Or am I working with some other team that’s going to re-invent my apps (the ones I’m supposed to be designing) and talk to the server(s) I’m programming?
• ? Apply strong analytical and development skills to troubleshoot and performance tune mobile/mobile-web applications.
Right, basic definition of what does a programmer do, I got that.
— oh, shit, no I didn’t see that. Mobile web apps, too? So — wait — now I’m writing multiple apps, for iOS and maybe Android and also mobile web, and their servers, and also documenting all of this? Wow, I must have a lot of resources available to me …
• ? Mentors and assists other developers with mobile application projects.
OK, so there are other programmers, and I’ll be mentoring them. Cool.
• ? Ensure that all coding complies with SDLC standards.
Let’s guess that SDLC means “Software Development Life Cycle.”
So this says that I need to ensure that everyone’s code is written to “comply with” a model that explains that you should design your code and then write it and later have it reviewed and debugged.
That sentence makes no sense.
Wait, what makes this any different from the last section?
• ? Advanced understanding of java/GWT, Android, or iOS application development.
Java® is capitalized. It’s a proper name.
GWT — OK, you’re stupid for using an acronym without defining it, but let me guess that this means the Google Web Toolkit (pronounced “gwit.”) That must mean somebody has decided that they want me to design those mobile web apps using it.
That’s really strange, because you already told me I was going to design and architect them. So what happens if GWT isn’t the right tool for the job? Do I have to cram the square peg into the round hole for some reason? Why?
Oh … there’s an “OR” there. So I weed to know a lot about this one, very specific web app toolkit, or any kind of development on Android or iOS… ? OK, fine.
If you’re hiring me as an iOS programmer + server programmer + Android programmer + mobile web programmer + technical writer, isn’t this redundant?
• ? Deep Knowledge and experience with Rich Internet Application development.
Are these particular applications “Rich” (in caps! better treatment than poor Java got…) because they cost a lot to develop? Is capital-K-Knowledge somehow better than little-e-experience?
If you’re hiring me as an iOS programmer + server programmer + Android programmer + mobile web programmer + technical writer, isn’t this redundant — all over again?
• ? Thorough understanding of development tools and processes, source control, versioning, branching.
Oh, wait, you want a programmer who knows how to use tools? Gee whiz.
By the way, at least two of the things you mention are synonyms for one of the others.
So far, this whole “Skills” section is a waste of time …
• ? Ability to achieve results working independently with limited guidance.
Well, since apparently I’m the architect and designer, I guess that’s abviously a “given.” Although, I’m already getting the idea that the “limited guidance” might be more like “arbitrary technology decisions will be imposed upon you by people who don’t know what you’re doing.”
Now, aside from feeling madly insulted by this eMail, at this point I’m thinking:
What the Hell are all these apps supposed to actually DO??
Even though you’ve explained what it is that a prgrammer does to me over and over again, and demonstrated some really poor English skills, and made me guess that you want me to write multiple client apps on at least three distinct platforms, and their servers, and then document tho whole stack, you still haven’t told me what any of these apps are!!
• ? Ability to effectively manage implementation of enhancements, change requests, and releases across multiple, competing, high-priority projects with varying deadlines.
Wow, I would really have stopped reading here, if I gave a damn.
So now I’m the project manager, and obviously I work for unreasonable twits?
Great, just great.
• ? Experience with change management tools and processes, including source code control, versioning, branching, defect tracking and release management.
That sounds familiar. Maybe because it’s a basic part of the definition of “programmer,” and a complete waste of my time to mention it here.
Or maybe because it’s the second time you’ve mentioned it. In this paragraph.
• ? Strong interpersonal skills; customer and results oriented.
OK, I’ll give you a “bye” on this, since obviously I’m the project manager, mentor, and stuff, too.
• ? Excellent written and verbal communication skills.
Excellent, as compared to whom? The person who wrote this drivel? That’s a pretty low bar to set.
Now, wait just a durn minute. You haven’t told me what these apps I’m designing are going to do, but you’re really going to dictate that I have to have worked for certain other people or something? Bah …
You know what? If you find a project manager who can appease unreasonable twits, a programmer who can mentor multiple apprentices, write several apss on four different platforms, and a tech writer who can document all of that, you should be damned happy, whether or not she happens to have the “experience” that you’re about to name.
• ? 5+ years of experience in IT/Technology industry
• ? 5+ years experience developing mobile or Rich Internet Applications.
• ? 2+ years java or 2+ years objective-C development experience.
• ? 2+ years developing mobile applications on iOS, Android or mobile web platforms.
Wait, you already implied all of that, pretty much.
Are you being paid by the word?
Quit wasting my time.
What are the apps???
Seriously, don’t even get me started on how brain-dead this is.
• ? 4 year Bachelor’s degree in Computer Science, Information Technology, or equivalent experience.
Right. Like, say, the equivalent experience of being a senior programmer who can design and program multiple apps across at least four architectures, document them, mentor apprentices, and also be a project manager?
If you are interested in learning more about the above position,
Stop. Right. There.
There is no “above position.” Because there is no way for me to start to guess what the job entails because nothing at all in this mail gives me the slightest idea of what the job actually is.
And that is why I don’t bother to read your mail, recruiters. Because of crap like this.
WHAT IS THE JOB???
oh, but wait, there’s more…
please respond at your earliest convenience, along with an updated resume because we just mailed this crap out to millions of people and have no idea who you are. It would be very helpful if you could provide the following information to aid in the process because we are too lazy to actually read your résumé which probably mentions these things:
1. Your current location (city & state):
2. Contact number:
3 Expected rate / compensation: which should be fun because we’re not telling you what the job is so you may as well ask for $10M a month with a private jet
4. Date of availability:
5. Work Authorization Status:
About Us! because we’re more interested in advertising for ourselves than telling you what job it is that we’re trying to get you to interview for
- Founded in XXX
- Publicly held (“XX” on XXX) The funny part is there’s a really goofy error here in the part I’ve redacted too.
- $100+ million in Annual Revenue Ah, so now you know what to ask for in “Compensation.” $12M/year seems reasonable.
- 650+ Billable Consultants What did those people do that you’re billing them for?
- Flexible Benefits What on Earth does that mean?
- Competitive / On-time Pay Wait, should I be worried? I’ve never had anyone tell me that they would pay me on time. That’s like saying “this pen will not blow up and shoot ink everywhere! Wink, wink!” — The very fact that you mention it makes me believe you’re probably lying.
XXX offers a generous referral bonus for any consultant you refer
Wait, why would I be referring a consultant? To whom? Whaaat…??
who is hired on a XXX engagement.
“Engagement?” Are you hiring mercenaries? Pirates? … Wedding planners? WTH?
|Thanks & Keep SmilingThe irony. I’m so not smiling. This entire message was a waste of electrons.
You’ve managed to make a terrible first impression and convey next to nothing about the job.
Team Lead – IT Recruitment
Really? That’s sad.
|XXXXX, STREET-ADDRESS-REMOVED(PHONE# EMAIL)
Oh. right. In case I want to call you to try to shake some sense out of that tree.
About XXXX (NYSE Amex: XXXX):XXXXX
|Please consider the environment and do not print this email unless absolutely necessary.WTF.
Yeah, because there’s a rash of people printing unnecessary eMails?
The fact that your signature is longer than most of my eMail messages probably doesn’t help.
Netiquette Reminder: eMail Signatures should never exceed 2 lines, or 150 characters, whichever is less. In other words, if you can’t text it, or Tweet it, don’t put it in your .signature. It makes you look ignorant, and rude.
This email was sent to XXXX, by XXXXXX
Oh, is that what those “From” and “To” fields are for? Gee whiz …
To remove your email address permanently from future mailings, please CLICK HERE