Are there enough functional programming jobs?

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

The short answer is "yes". But let me tell you a story. Every time I go to a functional programming conference, I hear the same question posed to the audience: "How many of you are looking for a job?" Lots of hands go up. "How many here are looking to hire?" About the same number of hands go up.

There are enough jobs. And there are more all the time. But that's not the question you should be asking. When people ask that, they're afraid that there won't be job mobility. What if they get a functional job but they hate the company? Or what if the job goes away? Will their skills be transferable?

If you ask that question, what you're essentially asking is "will I learn the same old stuff everyone is using?" There's a lot of good reasons for doing that, including your own financial security. But I can't imagine you want to do functional programming just for financial security.

The truth is that functional programming is more rare and valuable to employers. And the value is increasing. Skill in functional programming transcends the language, just like object oriented design skills transcend language. FP is a way of thinking that you can bring to a company to help solve their problems. By thinking in terms of specific technologies, you severely limit your career to the commodity "code monkey" track.

When you think about directing your career along higher lines, such as functional programming, you'll attract better jobs and better mentors. That's why at PurelyFunctional.tv we focus on the principles of functional programming. Syntax and libraries are important, and we definitely have courses on those. But more important are the deep principles that we teach. How do you think functionally? How do you break down a problem into composable parts? What are the basic building blocks of functional programming? These are things that you can use regardless of language and they will never get old. If you're ready to jump right in, sign up for a membership today.

Action for the day:

Last time, you figure out what languages you'd ideally be working with, and what languages were stepping stones to those. Today, before we start looking at jobs tomorrow, take a moment to reflect on the stepping stones of your career. Draw a timeline of where you've been. What were the major milestones leading up to your interest in functional programming? Mark down where you are now. Why is functional programming a part of your career thinking? Then mark where you'd like to be in one, five, and ten years. What are your goals in life? What industry would you like to work in? What technologies can support that? How will functional programming help you? We'll be using these answers to evaluate the many jobs that are out there.

There are plenty of jobs out there, and more all the time. But where can you find them? We'll address that in the next part.

More posts in the Career Guide