What do you really need to know to be hireable?

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

From a reader:

I'm currently working as a software developer in Ruby but I would love to work in Clojure, though I'm still a beginner. Unfortunately, I don't think my company would switch to Clojure any time soon. And I also don't have much free time to work on Clojure. What do I have to learn to be hirable in Clojure?

This is kind of a trick question. The reason it's a trick question is technically you need zero Clojure knowledge to get a job in Clojure. I know this because I just met someone who was hired right out of a Rails internship into an existing Clojure codebase. He had absolutely no Clojure experience.

I talk to a lot of people who work in functional programming and are hiring for functional programming. There's two broad categories of experience requirements for those jobs.

1. They want experienced functional programmers.

You'll find jobs like this for a couple of reasons. Sometimes they want to replace an experienced programmer who is leaving. And sometimes they're just starting up and want to hit the ground running. I have also seen it where the CTO likes functional programming but wants someone better than them because functional programming is new ground for them.

For these jobs, they're really looking for someone with solid functional programming skills. But there's a secret I'll reveal at the end of this email.

2. There is no functional programming experience required.

This category is more interesting. You'll often hear them say they're "looking for good people". They know it will be hard to find experienced functional programmers.

For these jobs they are willing to invest time and money making you a functional programmer. You will be paid to learn a functional language, often working with mentors. A great way to show you can learn is by actually learning. At PurelyFunctional.tv, we focus on practical as well as theoretical skills. Practical skills include the libraries and tools you'll need to makes software today. Theoretical skills include the principles learned from the entire history of functional programming, which will help you today and for the rest of your career. Sign up for a membership today.

Functional programming experience will help, of course. I can only imagine the second type gets way more applications, so you'll want to stand out. But still, you don't need much functional experience. The little secret that I hinted at before is that even jobs that are looking for experienced functional programmers often will hire smart people who are excited to learn. Requirements are just a suggestion. If they're just a suggestion, how do you prove you can do the job? We'll address that in the next few emails. If you're not signed up, find the opt-in form at the bottom of this page.

Action for the day:

Take a moment to evaluate yourself. Are you experienced or inexperienced? Then take your ten job listings that you chose and categorize them as either wanting experienced or inexperienced. Underline or highlight the parts that indicate that in each of the job listings. Give a guess as to your chances for each of the jobs. Evaluate each technology that you uncovered in your analysis. How can you learn enough to pass the interview? We'll see some simple things you can do in the next few emails.

More posts in the Career Guide