5 ways to tweak your resume

Sign up for weekly Clojure tips, software design, and a Clojure coding challenge.

Your resume is often the first thing a hiring manager will see. It needs to be concise and highlight exactly what you want them to know about you. Its job is to get them to contact you for an interview. Here are some things that will make you stand out. These are arranged roughly in order from the most powerful to the least.

1. Programming experience in the language the job is asking for

These can be at work or side projects on GitHub. An ideal project will accomplish some specific goal that you can name. For instance, a specific goal could be "I wanted to build a Twitter bot to boost my social media presence. This bot increased my retweets by 20%."

These side projects don't have to take long. They don't need to be complicated. Just show that you can make things happen with the functional language.

Bonus points for

2. Other Functional Programming experience

Clojure, Haskell, Erlang, Scala — heck, even functional JavaScript or Java 8 streams will be impressive.

Bonus points for

  • Knowing your 3 functional tools (map, filter, reduce)
  • Using immutable data structures to model a problem

3. Learning functional programming

At the very least, this shows that you know what you're getting into. Even a college course or some completed exercises in SICP or another functional programming book would help.

Bonus points for

  • Macros
  • An interesting use of types
  • Solving interesting problems (with code on GitHub!)
  • A local meetup presentation about how to get started with a language

4. Platform experience

Clojure and Scala run on the JVM, Elixir runs on Erlang, PureScript and Elm run on JavaScript. There's just a lot of little details about how the platform works, how the platform is deployed, and all of that stuff that comes in handy when programming a hosted language. If the language they use at the company is hosted, it could help you stand out a little.

Bonus points for

  • Deploying applications on the platform
  • Using other languages on the host platform
  • Configuring the host platform

5. Multiple languages

If you're going to be learning a new language on the job, show that you can actually do that. The best candidates will have at least 4 languages under their belts with a variety of paradigms.

Bonus points for

  • Two or more paradigms (OOP, FP, procedural, logic)
  • Two or more syntax families (C vs Python vs Ruby vs Haskell vs Lisp)

These tweaks help the hiring manager see that you can and have passed most of the difficult hurdles. If you really want to stand out, you should hit all of these. You'll notice I linked to many courses that are available as part of the PurelyFunctional.tv membership. When you sign up, you'll get access to courses that are designed get you to a working project that you can host on your own server and push to GitHub. You can then add to them over time. Meanwhile, you're adding valuable skills to your resume and specific projects you can bring up in an interview. Sign up for a membership today.

You probably can't do a functional programming project at work, so how do you find a suitable side project? That's the topic of the next part. Sign up in the form at the bottom of the page.

Action for the day:

By this point you should have a lot of material to churn into your resume. Comb through your ten job listings that you chose a few days ago. Copy your resume (or start a new one) into 10 different Google Docs, and name each one after the job you want. One at a time, tweak the resumes for each job, using the five points above and the five hurdles from the previous email, along with the specific requirements listed. There will be a lot of overlap, but customizing the resume for jobs where you would really stand out is a great way to gain an advantage. In the next email, we'll see some side projects you can do in a weekend to fill out any holes.