On Wed, Jun 30, 2010 at 3:34 PM, Paul Johnson <paul@cogito.org.uk> wrote:
I'm starting to see job adverts mentioning Haskell as a "nice to have", and even in some cases as a technology to work with.

However right now I'm looking at it from the other side.  Suppose someone wants to hire a Haskell developer or three.  How easy is this?  I'd appreciate replies from people who have actually done this.

I've had a fairly easy time of hiring Haskell programmers. However, when I do, I am actively recruiting particular candidates, who are active in the community, and who have particular skills that I am looking for rather than throwing out a net. The blogosphere, reddit, #haskell and stackoverflow all make pretty decent filters to identify and build relationships with good Haskell programmers -- especially if you are plugged into the community yourself.

* How many applications did you get?

I tend to actively recruit rather than throw open the floodgates.

* How many of those applicants knew what a monad is, or how to write FizzBuzz in Haskell?

"Knowledge of Haskell" means very different things to different people. I'd be somewhat leery of blindly hiring someone based on their ability to answer a couple of pop Haskell quiz questions.

A better test might be if they really understood Applicative and Traversable, or if they knew how to use hsc2hs; Talk about unboxing and when to apply strictness annotations, finger trees, stream fusion, purely functional data structures or ways to implement memoization in a purely functional setting, or how to abuse side effects to do so in a less pure way. Those are the kinds of things you get exposed to through actually using Haskell, rather than through reading a monad tutorial.

-Edward Kmett