Today I'd like to take a step back and ask: What is a functional programming hiring manager looking for?
The main job of the hiring manager -- the person sifting through resumes -- is to filter out the unqualified candidates. They get so many candidates in general that they need an easy way to get to the good stuff. I've been in charge of hiring and it's brutal. But there are some things you can use to filter the candidates. I call these the 5 hurdles of hirability. The further you get, the better your chances.
1. Can you program?
You may be shocked, but a good portion of the candidates for programming jobs can't even program a simple loop. Are they just extremely confident? Or applying to every job that comes by? Maybe they didn't even read the job listing. Who knows? It's for people like this that the FizzBuzz exercise was created. It gets you that first level filter to make sure you're talking to a programmer.
2. Can you plan, develop, finish, and debug a program?
Many people program side projects in their spare time, or do a little bit of coding at work. But what the hiring manager wants to know is that if they give you a programming task, you can get it done. Many tasks are ambiguous, require looking up documentation, or even experimentation to get them finished. This is hard to check directly in an interview, but asking for occasions where this has happened is a good substitute.
3. Can you achieve business goals with software?
Many programmers never get here. They may be able to ship features and follow directions, but can they take a business need and run with it? Business needs run the gamut: increase profits, decrease costs, bring in more customers, increase brand awareness, make existing customers happier. What you need to show is that you recognize the business need and build a solution that helps it.
4. Can you learn new technologies?
A lot of very proficient programmers are only familiar with the language they learned in college. While there's nothing wrong with that, most small to medium sized companies today are moving faster than universities can keep up. If you're looking to do functional programming, chances are it was not your main language in your education. Is there some evidence that you can learn a new technology?
5. Can you think functionally?
Finally, there's this final hurdle: can you think in a functional way? It's a bit different from object oriented and procedural that it's worth it for a manager to look for evidence that you can actually solve problems in this new paradigm. What has the candidate done with functional languages? Have they managed to synthesize the pragmatic, procedural parts with an interesting functional design?
Do all hiring managers use this list? No, probably not. And some companies are going to prioritize one aspect over another. But this list is a pretty good approximation of the kinds of things an interviewer is looking for. At PurelyFunctional.tv, we design our lessons to focus on all of these points. Following along with our lessons will help you build the skills you need to advance your career in Functional Programming. Sign up for a membership today.
How do you prove that you've reached and surpassed these hurdles? That's what we'll look at next time. If you're not signed up, find the opt-in form at the bottom of this page.
Action for the day:
At this point, you've done a lot of analysis of your goals and some jobs out there. Now it's time to dig into your past and find the stories that are going to set you apart. Do a quick scan over your life to find two or three stories that illustrate each point. Obviously, the first hurdles are a little easier to prove, but you'd be surprised how hard it can be to find a story showing that you know how to program. Find any holes? We'll be addressing some of those in the next few emails. These stories will come in handy both on your resume and in the interviews.
More posts in the Career Guide
- Are there enough functional programming jobs?
- Where to find functional jobs
- Where do you find the time to get productive in functional programming?
- What do you really need to know to be hireable?
- The 5 hurdles of hirability** ← you are here
- 10 Programming projects to boost your resume
- Join and build a social network
- Job application action plan
- How to leap past 90% of applicants