Developers: When being a one-trick pony is of the utmost value

There are some organizations that are interested in generalist programmers or tech people. There are roles where your technical skills are less interesting than your ability to solve business problems by using some programming magic.

But most programming jobs aren’t like that. Most programming jobs are looking for developers already experienced with the employer’s technology stack to solve the employer’s problems primarily using that technology stack.

Most jobs aren’t looking for Senior Programmers, they’re looking for Senior Python Programmers, Senior Ruby on Rails Programmers, Senior C# Developers or Senior Node.js Developers, or whatever the job-spec happens to say.

And when that’s the case, the recruiter will be speed reading your resume looking for proof that that’s what you can do, and you’ll be really helping yourself by making it clear you fit the bill.

Pssssst! Enjoying the article?

I'll email you once a fortnight with a summary of anything new I've written, and also send you the free How to write a developer resume that'll get you hired e-book.

Talk About the Important Things First and at Length

If you’re applying for a Node.js role, and your experience using Visual Basic takes up as much room on your resume as your Express.js experience, you’re doing it wrong.

Heck, if you’re applying for a Node.js role, and your experience using Visual Basic takes up as much ink as the fact that you read (and mostly understood) the Promises documentation once, you’re still doing it wrong.

This kind of thing is common and terrible:

Skills:

  • JavaScript (7 years)
  • Java (2 years)
  • Linux (5.5 years)
  • SMTP (2 years)
  • FTP (12 years)
  • T-SQL (1 year)

If you’re thinking: “Do Node.js developers really list SMTP and FTP as skills?”, the answer is yes. Tragically so.

Only the non-technical recruiter or HR person cares (meet the interview gatekeepers) about a long-list of auxiliary skills, they’ve seen 5,000 resumes like this, and they don’t even know what FTP is.

We’re aiming to prove our skills, not just mention them. And if you’re applying for a Node.js role, the main skill you’re trying to prove you have is Node.js

If you’re applying for a Node.js role, then Node.js should be the first heading on your Skills section, it should be the largest part of your Skills section, and it should be full of proof that you know Node.js.

Stop Complaining, Show Me the Examples

How do we achieve this? Let’s take an example, and then break-down what’s going on:

Skills

NodeJS and JavaScript

Web Development

I have extensive experience of using Express.js, and appreciate its light-weight and unopinionated approach. I’ve found Middleware to be invaluable for inserting debugging code deep into requests, and for composing distinct pieces of functionality into one coherent whole. I have commercial experience using Meteor with React, and find that the publish-subscribe pattern allows for simple-to-reason-about consistency of data throughout the whole application. I have some exposure to AngularJS.

Testing

I have a deep and broad experience with various JavaScript testing tools. Most general testing I have approached with Selenium, but I’ve also worked in teams with an aggressive focus on unit testing with Mocha. Mocha’s flexibility is excellent, although I’ve found the sheer number of ways a test-suite using Mocha can be setup can be a barrier to getting started with a new team. I have some experience building Behaviour Driven Development user stories using CucumberJS, which I like because it forces technical and non-technical members of a team to agree in writing to sets of behaviour.

Quite a mouthful! What’s going on here, and why?

Let’s start with:

I have extensive experience of using Express.js, and appreciate its light-weight and unopinionated approach

One way to present your experiences as proof that you’ve actually used the tooling you’ve mentioned is to form and present opinions on them. It shows the hiring manager that your experience probably really happened, and it also gives the interviewers jumping-off points to talk about with you. If you choose to opine about a subject, make sure you have something interesting to say about it in the interview!

Mocha’s flexibility is excellent, although I’ve found the sheer number of ways a test-suite using Mocha can be setup can be a barrier to getting started with a new team.

It’s always worth showing off your battle scars — what are the insights you’ve gained from your experience? The more interesting problems you’ve encountered and solved, the more useful experience you’re bringing to your new team.

This also starts to get into “contentious opinions” territory — something that will allow you to explore how you have technical debates about the pros and cons of technology with your interviewers, without being too weird. We can double-down on that:

I have some experience building Behaviour Driven Development user stories using CucumberJS, which I like because it forces technical and non-technical members of a team to agree in writing to sets of behaviour.

Many developers have heard of, or dabbled with tools like CucumberJS. Some will have formed strong opinions about it. Interviewers will want to talk about things like these, so if you’ve prepared interesting things to say about it, you can keep the interview on topics which are interesting.

One more quick aside: played with a technology but don’t want to commit to being an expert on it? I like:

I have some exposure to AngularJS

It’ll get you past cursory keyword searches against your resume, while giving you an out if you get a question or two that’s out of your depth.

Finally, you might notice I’ve emboldened key technologies. It looks a bit naff, but it helps someone skimming your resume to pick out the things that are interesting to them.

Two bonus pieces of advice

This is neither the first nor last piece of content about describing your skills on your resume, but I’d like to throw in two other simple tips if you’re applying for an “x Programmer” role.

First: Make sure your previous job-titles align with the job-title you’re applying for as far as possible. If that’s not possible (maybe you’re “Software Engineer II” at your current role), take a look at When two job titles are better than one.

Second: start your resume with a clear, unambiguous mention that the person reading it is in the right place. Applying for a Senior Python Developer role? Have the first line of your resume be:

I’m a Senior Python Developer with seven year’s experience.

You’ll stop non-technical people missing the forest for the trees as they read through your experience.

All done?

I'll email you once a fortnight with a summary of anything new I've written, and also send you the free How to write a developer resume that'll get you hired e-book.

Published by

Peter

Peter is a former developer and CTO turned recruiter who wants to demystify the recruitment process so that developers can find jobs and get paid more.