Advice for Contacting Developers: Straight from a Software Engineer’s Mouth

Advice for Contacting Developers: Straight from a Software Engineer’s Mouth
No Recruiter Spam
Do Not Spam

I met a software engineer this week at a Node.js meetup.  We chatted about Ruby vs. Nodejs and I mentioned that I ran across a blog with interesting Ruby vs. Node benchmark data.  He gave me his business card and asked me to forward him the link.  Being a LinkedIn addict, I, of course, looked him up on LinkedIn.

The very first thing I saw on his profile got my attention immediately:

Hi! Thanks for looking at my profile. If I haven’t already reached out to you, please be sure to read the section “Advice for Contacting (_Name_)” below before contacting me.

STOP! Go back and read that again!

I’m a software engineer with experience in — brace yourselves, buzz words coming! — scalable, mission critical systems that handle big data…

Although it’s common to see this type of specific “instructions” on the profiles of those highly sought after engineers and developers, I liked that his “instructions” are very specific, and he tells the readers of his profile (i.e. recruiters) clearly what he wants and doesn’t want.  It takes the guess work out of the picture.  This means, if a recruiter wants to hear back from this engineer, all they need to do is to follow these specific instructions.  Simple.  (Here’s a more complete list of what developers look for in a job.)

This saves everyone’s time and energy.  This engineer doesn’t need to entertain positions that he has zero interest in and the recruiters can use that time to reach out to other developers who are better fit for the roles they want to fill.

Let’s take a look at his entire message to dissect it.  Then, do an exercise to develop a sample “reach out” message that go by his “rules. ”

I’m a software engineer with experience in — brace yourselves, buzz words coming! — scalable, mission critical systems that handle big data. I have experience throughout the stack, and I can point you to live examples on several major websites. I’ve written back-end services which handle thousands of requests per second; I’ve designed databases to handle millions of unique users; I’ve written front-end code to work in IE6 (that may be the most impressive achievement of all!) I’ve worked with Hadoop/Elastic Map Reduce, MySQL, Oracle, NoSQL, jQuery, CSS, Amazon Web Services, Java and Perl. I know how to write a security analysis and know what XSRF, SQL injection, and buffer overflows are. I’m happiest when I can work as a jack-of-all trades, working on all aspects of a system from initial concept through to full-stack implementation and testing.

Don’t stop at all the technical terms, such as Hadoop, Elastic Map/Reduce, NoSQL, etc.  The key here is “jack-of-all trades, working on all aspects of a system from initial concept through to full-stack implementation and testing.”  Oftentimes, engineers don’t get to work on all aspects of a system, particularly on a bigger team where each engineer tend to be assigned a specific portion or component within the entire software system.  When I see this engineer intentionally mentions “testing” along with implementation, I immediately give him a whole bunch of extra bonus points.  It’s a great mentality to have and a-must to building high quality software.

I’m always interesting in new opportunities, especially those that allow me to work on transformative consumer technologies. “Consumer” because I like to help people. For example, it’s much more fun to let every day people manage, say, their finances, than to write a piece of software which is used only by the accounting department in a Fortune 500 company. “Transformative” because I want to have passion for your product, and have a burning desire to use it myself. If I can’t see the value in what you’re doing, or if it’s already been done by someone else, then why bother? I want to produce software which absolutely, positively delights customers, not just meets some requirements.

This paragraph needs no explanation.  Consumer software, yes.  (Traditional) Enterprise software, no.

I’m a flexible team player and can adapt to most situations. My personal software engineering philosophy tends towards a data-driven experimental approach which favors lightweight, fast iterative development over lengthy project schedules.

This means he’s looking for an agile.  Most consumer software teams probably already fit the bill for the most part.

Please don’t contact me telling me how hot the job market is, how awesome your company is, or what have you, unless you’ve actually read my profile. You know that advice for job seekers to tailor their cover letter to each specific company and position? When you contact me, that is your cover letter. If your cover letter indicates you won’t even bother to read my LinkedIn profile, you don’t really stand a chance*.
* unless you also include an astoundingly high salary offer (hint:

Since most like the compensation range for the role you’re recruiting for won’t be in the “really offensive” category, your best shot is to write you “cover letter” (i.e. your recruiting message) customized to what’s said in his profile.  Don’t use your handy dandy template with lots of “fluff” word, such as “hot startup”, “exciting”, “rocket growth”, etc.

I get a lot of cold calls (via email, of course), and I am rarely interested. I get the sense most of these stem from desperation as good software engineers are difficult to find, and unfortunately I hate to simply be a LinkedIn search result. If you’re initiating the contact, please include the following statement, verbatim: “world class engineer”. You don’t have to label me that; in fact you could even simply say “I do not want a world class engineer”. As long as those words are used verbatim, you’re all set.

A small dose of sense of humor (or sarcasm) here…

91 different recruiters have contacted me without having made the preceding indication of having read my LinkedIn profile, most recently on March 18, 2014. Some of these recruiters work for the same company, and sometimes the same recruiter has contacted me on multiple occasions. I’ve interviewed with precisely 0 of these individuals — and I’m keeping a list. Do you like a 0.000% batting average? Please spare both of us the time, and either indicate you’ve read my profile (and obviously, you’re already ahead of the game since you’re reading this), or don’t contact me. Finally, I should mention I’ve been astounded by the occasional recruiter who does read this but fails to follow the rules.

The (repeated) message here can’t be louder or clearer – READ HIS PROFILE and LEARN WHAT HE WANTS.

Please do not attempt to guess my contact information as some crazy way of getting my attention. It doesn’t make you stand out from the pack; reading my profile does.

Third time’s a charm.  Read his profile.

Here’s the list of “Don’ts”:

  • Include fluffy that doesn’t connect to what he says in his profile
  • Reach out without personalizing your message

Here’s the list of “Dos”:

  • Make sure your role utilizes his expertise (i.e. all the buzz words he mentioned)
  • Reach out when your position lets him do things that are exciting to him (consumer software, full-stack implementation & testing)

A sample reach out that follows the instructions and will get you his attention:

Hello (_Name_):

I read your profile and it caught my attention because you mentioned that you’re interested in building software that would make a difference in people’s lives every day.

Codecademy is a community of people learning to make things with code. We’ve helped millions of people.  You have the opportunity to work with a team that is making tremendous impact on a global scale, but we’re still small and close knit. We’re pulling together a team that dreams of our product and wakes up every morning motivated to change the lives of millions of people.

You’ll have a chance to work on many different parts of our system.  Currently, we use JavaScript (nodejs), Ruby on Rails, MongoDB, Hadoop, running on AWS.  We see is a good match between our technology stack and your expertise.

We’d love to tell you more about our product, people on the team and company’s future plans, and answer any questions you might have.  Hope to hear from you soon.



It’s a good idea to run a check on your recruiting message with the Recruiter Lint tool at  Don’t send it out until you have a score of at least 7 or 8 out of 10.  By the way, this sample message got a 9 out 10.

It doesn’t feel good to receive spams (i.e. messages with no relevance) or to be labeled as a spammer.  An extra 5 minutes spent on reading potential candidates’ profile and another extra 5 minutes of customization will give you a much higher response rate of your recruiting email, not to mention earning you some professional respect.


1 thought on “Advice for Contacting Developers: Straight from a Software Engineer’s Mouth”

  1. Pingback: Advice for Contacting Developers: Straight from a Software Engineer’s Mouth | ideas for creating great teams

Leave a Comment

Your email address will not be published.