[Haskell-cafe] How easy is it to hire Haskell programmers
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. * How many applications did you get? * How many of those applicants knew what a monad is, or how to write FizzBuzz in Haskell? Thanks, Paul. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On Wed, Jun 30, 2010 at 4:34 PM, Paul Johnson 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 guess it must be a lot easier to find applicants if you don't require them to live in the same city/country as you. Cheers, -- Felipe. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
> On Wed, Jun 30, 2010 at 4:34 PM, Paul Johnson 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 guess it must be a lot easier to find applicants if you don't > require them to live in the same city/country as you. "Objection!" My experience (circa 2005) had shown that it is easy to hire Haskell programmers (in Moscow). We've got about ten resumes from single post in FIDO conference, most of them tried Haskell for small projects and were glad to use it for paying job. Only one or two of them had substantial previous Haskell experience but all resumes were from quite capable programmers. I think "Haskell is nice to have" is a convenient filter for good programmers. At least it was then. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
paul: > 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. > > * How many applications did you get? > > * How many of those applicants knew what a monad is, or how to write > FizzBuzz in Haskell? Galois has had no trouble hiring Haskell programmers for a few years now. Generally, if we advertise a position, we'll have 20-50 applicants within a few weeks, with often extremely high skill sets. I've heard anecdotes from other commercial users, with similar experiences. The open source training people are getting in Haskell seems to really be paying off. For those interested in getting hired, I'd encourage you to distinguish yourselves in the market as much as you can: write libraries and get them used by others, blog about what you're doing, be visible in the community. -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
It depends on the type of a position. If it is a "one-shot"/contract job then you are looking for the concrete skillset/expertise, i.e. "Haskell". For relatively longterm or permanent positions I think it is better to give a priority to smart and "getting things done" type of persons rather than specific skills. But they should have some relevant experience. For instance, if you're looking for the functional programmers, you should consider ML/SML/OCaml, Scheme, Erlang, ... (Well, in case of these two, better to check that person has some grasp of static typing :)) programmers as well. And learning (fun) should be an important aspect of the position. Regards, Zura Paul Johnson-2 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. > > * How many applications did you get? > > * How many of those applicants knew what a monad is, or how to write > FizzBuzz in Haskell? > > Thanks, > > Paul. > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > -- View this message in context: http://old.nabble.com/How-easy-is-it-to-hire-Haskell-programmers-tp29038634p29048310.html Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
> And learning (fun) should be an important aspect of the position. Whatever FP you're coming from, I don't think you can pick up Haskell on the job. Haskell seems to require you to disappear into a cave for a while, then again I haven't had the pleasure of working with experienced Haskell programmers. -deech > > Regards, > Zura > > > Paul Johnson-2 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. >> >> * How many applications did you get? >> >> * How many of those applicants knew what a monad is, or how to write >> FizzBuzz in Haskell? >> >> Thanks, >> >> Paul. >> ___ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> >> > > -- > View this message in context: > http://old.nabble.com/How-easy-is-it-to-hire-Haskell-programmers-tp29038634p29048310.html > Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
That's not really true. We train people at Galois in Haskell, on the job. Often they have prior FP experience, but not always. aditya.siram: > > And learning (fun) should be an important aspect of the position. > Whatever FP you're coming from, I don't think you can pick up Haskell > on the job. Haskell seems to require you to disappear into a cave for > a while, then again I haven't had the pleasure of working with > experienced Haskell programmers. > > -deech > > > > > Regards, > > Zura > > > > > > Paul Johnson-2 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. > >> > >> * How many applications did you get? > >> > >> * How many of those applicants knew what a monad is, or how to write > >> FizzBuzz in Haskell? > >> > >> Thanks, > >> > >> Paul. > >> ___ > >> Haskell-Cafe mailing list > >> Haskell-Cafe@haskell.org > >> http://www.haskell.org/mailman/listinfo/haskell-cafe > >> > >> > > > > -- > > View this message in context: > > http://old.nabble.com/How-easy-is-it-to-hire-Haskell-programmers-tp29038634p29048310.html > > Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. > > > > ___ > > Haskell-Cafe mailing list > > Haskell-Cafe@haskell.org > > http://www.haskell.org/mailman/listinfo/haskell-cafe > > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
Right, but I assume you have local experts who are willing to teach on site. In most companies I've worked for there is minimal training. Haskell really needs someone who can patiently walk alongside. I'm picturing a non-Haskell developer getting thrown into the deep end. Now that I think about it I think that's part of why companies choose Java/C# etc. - they can just let Google train their people. -deech On Thu, Jul 1, 2010 at 12:18 PM, Don Stewart wrote: > That's not really true. We train people at Galois in Haskell, on the job. > Often they have prior FP experience, but not always. > > aditya.siram: >> > And learning (fun) should be an important aspect of the position. >> Whatever FP you're coming from, I don't think you can pick up Haskell >> on the job. Haskell seems to require you to disappear into a cave for >> a while, then again I haven't had the pleasure of working with >> experienced Haskell programmers. >> >> -deech >> >> > >> > Regards, >> > Zura >> > >> > >> > Paul Johnson-2 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. >> >> >> >> * How many applications did you get? >> >> >> >> * How many of those applicants knew what a monad is, or how to write >> >> FizzBuzz in Haskell? >> >> >> >> Thanks, >> >> >> >> Paul. >> >> ___ >> >> Haskell-Cafe mailing list >> >> Haskell-Cafe@haskell.org >> >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> >> >> >> >> > >> > -- >> > View this message in context: >> > http://old.nabble.com/How-easy-is-it-to-hire-Haskell-programmers-tp29038634p29048310.html >> > Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. >> > >> > ___ >> > Haskell-Cafe mailing list >> > Haskell-Cafe@haskell.org >> > http://www.haskell.org/mailman/listinfo/haskell-cafe >> > >> ___ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 7/1/10 13:41 , aditya siram wrote: > I'm picturing a non-Haskell developer getting thrown into the deep > end. Now that I think about it I think that's part of why companies > choose Java/C# etc. - they can just let Google train their people. ...and now you know why so many programs are buggy. (says the human fuzzer) - -- brandon s. allbery [linux,solaris,freebsd,perl] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkws15wACgkQIn7hlCsL25U8DgCeMgexWRbRqbI8pjqBlTnG+3RQ iisAnjbG0PhjHcrfxsnrkKOPNogRv58w =JOUe -END PGP SIGNATURE- ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On Wed, 2010-06-30 at 20:34 +0100, Paul Johnson 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. We have been doing this very recently, in fact we are currently half way through interviewing. > * How many applications did you get? > > * How many of those applicants knew what a monad is, or how to write > FizzBuzz in Haskell? When we are done we intend to write up a blog post more details, e.g. numbers and the range/distribution of experience among candidates. I hope that will be useful to people who are interested in hiring Haskell programmers. We don't know how many can do FizzBuzz or equivalent because we picked a shortlist before doing interviewing. In general we have been very impressed with both the number and quality of candidates. As Felipe says, not restricting to applicants in the same country helps. -- Duncan Coutts, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On Fri, Jul 2, 2010 at 12:34 PM, Duncan Coutts wrote: > > > When we are done we intend to write up a blog post more details, e.g. > numbers and the range/distribution of experience among candidates. I > hope that will be useful to people who are interested in hiring Haskell > programmers. > > It would also be useful to people who are interested in being hired as a Haskell programmer, so they know where to send the hitmen, I mean, what to do to improve. -- JP Moresmau http://jpmoresmau.blogspot.com/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On Wed, Jun 30, 2010 at 3:34 PM, Paul Johnson 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 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
> 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. Sonuds good. And please don't ask about specific GHC compiler flags. (I had to answer such questions once. Fortunately the other bits of the Haskell parts of the interview were more relevant.) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
Edward Kmett wrote: "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. Hmm, interesting. Applicative and Traversable are two classes I've never used and don't really understand the purpose of. I have no idea what hsc2hs is. I keep hearing finger trees mentioned, but only in connection to papers that I can't access. So I guess that means that I don't count as a "knowledgable" Haskell programmer. :-( On the other hand, I could talk for hours about stream fusion or STM. (Hell, I've even had a go at implementing both of these; the latter made it into The Monad Reader.) All of which conclusively demonstrates... something. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On Fri, Jul 02, 2010 at 06:03:31PM +0100, Andrew Coppin wrote: > Edward Kmett wrote: > >"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. > > Hmm, interesting. Applicative and Traversable are two classes I've > never used and don't really understand the purpose of. I have no > idea what hsc2hs is. I keep hearing finger trees mentioned, but only > in connection to papers that I can't access. So I guess that means > that I don't count as a "knowledgable" Haskell programmer. :-( > > On the other hand, I could talk for hours about stream fusion or > STM. (Hell, I've even had a go at implementing both of these; the > latter made it into The Monad Reader.) All of which conclusively > demonstrates... something. One thing it might demonstrate is the inherent deficiency of using litmus tests in evaluating applicants. -- Darrin Chandler| Phoenix BSD User Group | MetaBUG dwchand...@stilyagin.com | http://phxbug.org/ | http://metabug.org/ http://www.stilyagin.com/ | Daemons in the Desert | Global BUG Federation ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
Maybe the codebase he's hiring for makes heavy use of Applicative, Traversable, unboxing etc. -deech On Fri, Jul 2, 2010 at 12:03 PM, Andrew Coppin wrote: > Edward Kmett wrote: >> >> "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. > > Hmm, interesting. Applicative and Traversable are two classes I've never > used and don't really understand the purpose of. I have no idea what hsc2hs > is. I keep hearing finger trees mentioned, but only in connection to papers > that I can't access. So I guess that means that I don't count as a > "knowledgable" Haskell programmer. :-( > > On the other hand, I could talk for hours about stream fusion or STM. (Hell, > I've even had a go at implementing both of these; the latter made it into > The Monad Reader.) All of which conclusively demonstrates... something. > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On 02/07/10 14:43, Edward Kmett wrote: "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. Fair enough, and I should probably have put a smiley in there. I'd also just that day read a couple of laments from hiring managers about applicants for Java jobs who *couldn't* write Fizzbuzz. I was really trying to ask about the general level of knowledge amongst the job applicants. Paul. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
Andrew Coppin wrote: Hmm, interesting. Applicative and Traversable are two classes I've never used and don't really understand the purpose of. Their main purpose is to avoid the list bias so prevalent from the Lispish side of FP. Namely, there are many different kinds of collections which can be traversed or folded in ways similar to lists, the Foldable and Traversable classes give a common interface for all those collections thereby removing the excuse of using lists because they have a nicer/more-FP interface than Set, Map, Sequence,... More abstractly, they capture essential properties of concrete functors which represent containers. So for folks who think of functors as (only) being containers, these are the methods they expect to have. I have no idea what hsc2hs is. One of the libraries for facilitating bindings between C and Haskell. Edward Yang is giving a general discussion[0] of the many libraries for C--Haskell binding and how they compare. I keep hearing finger trees mentioned, but only in connection to papers that I can't access. Check out Data.Sequence[1] and Data.FingerTree[2] for canonical examples. There's also Edward Kmett's Data.Rope[3] (not to be confused with Pierre-Etienne Meunier's Data.Rope[3']). Also, see apfelmus's post [4] about finger trees and monoids for a more general perspective. [0] http://blog.ezyang.com/2010/06/the-haskell-preprocessor-hierarchy/ [1] http://hackage.haskell.org/package/containers [2] http://hackage.haskell.org/package/fingertree [3] http://hackage.haskell.org/package/rope [3'] http://hackage.haskell.org/package/Data-Rope [4] http://apfelmus.nfshost.com/articles/monoid-fingertree.html -- Live well, ~wren ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
aditya siram writes: > Maybe the codebase he's hiring for makes heavy use of Applicative, > Traversable, unboxing etc. Nah, I talked to him about it last night (because like Andrew I've never really used either of those classes, though I do know what hsc2hs is, just never used it). Edward just figured that topics like that give an indication of someone's relative Haskell knowledge. -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
andrewcoppin: > Edward Kmett wrote: >> "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. > > Hmm, interesting. Applicative and Traversable are two classes I've never > used and don't really understand the purpose of. I have no idea what > hsc2hs is. I keep hearing finger trees mentioned, but only in connection > to papers that I can't access. So I guess that means that I don't count > as a "knowledgable" Haskell programmer. :-( RWH is free and online, and covers many useful things. There's no excuse :-) -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
Don Stewart writes: > andrewcoppin: >> Edward Kmett wrote: >>> "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. >> >> Hmm, interesting. Applicative and Traversable are two classes I've never >> used and don't really understand the purpose of. I have no idea what >> hsc2hs is. I keep hearing finger trees mentioned, but only in connection >> to papers that I can't access. So I guess that means that I don't count >> as a "knowledgable" Haskell programmer. :-( > > RWH is free and online, and covers many useful things. There's no > excuse :-) Knowing about something /= knowing how to use it. I own and have read RWH, but I've never had to use hsc2hs, or Applicative, etc. -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
ivan.miljenovic: > >> Hmm, interesting. Applicative and Traversable are two classes I've never > >> used and don't really understand the purpose of. I have no idea what > >> hsc2hs is. I keep hearing finger trees mentioned, but only in connection > >> to papers that I can't access. So I guess that means that I don't count > >> as a "knowledgable" Haskell programmer. :-( > > > > RWH is free and online, and covers many useful things. There's no > > excuse :-) > > Knowing about something /= knowing how to use it. I own and have read > RWH, but I've never had to use hsc2hs, or Applicative, etc. > Writing libraries that bind to C is a great way to have to use a lot of hsc2hs (or c2hs), so clearly you need to contribute more libraries :-) But in this case, the OP didn't even know *about* the something. -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On Jul 2, 2010, at 7:08 PM, Ivan Lazar Miljenovic wrote: Knowing about something /= knowing how to use it. I own and have read RWH, but I've never had to use hsc2hs, or Applicative, etc. Applicative is nice. I had to Google for hsc2hs. This is what I get for learning Haskell from the Haskell 98 Report and the Gentle Intro, and by writing programs. I read and commented on RWH while it was in beta.But I don't even know C. As a kid, I got tripped up by = meaning "binds to, for now" instead of being an equivalence relation (though I didn't know that at the time). As an adult, I just didn't care. I studied Mathematics and Philosophy and learned how to write proofs in maybe 2 dozen logics and maybe 100 algebras. This is a common problem in "rich" languages: There is more than one way to solve a problem, even if the algorithmic content is essentially the same. The only sane way I have found to deal with this is to just ignore unfamiliar combinators and focus on a function definition's mathematical content, as much as possible. In particular, every function is a many-to-one relation made from a "join" of types (in the lattice of types). Haskell's rich type theory makes this easier than Perl or Lisp, for example. You can often guess the right interpretation for a combinator merely by looking at its type, and mentally deriving its free theorem (or equivalently, characterizing its free function), which is easy with some practice. Put another way, free theorems/functions are plumbing to be ignored. The mathematically interesting parts of a function definition are the parts that aren't free, and have to be explicitly defined, often in terms of pairs of values. This mathematical approach makes these sorts of litmus tests trivial, in the worst sense possible. I'm not interested in memorizing hundreds or thousands of combinators. That's what Google/Haddock/text books are for. I had to Google to remember what FizzBuzz was, and I had to try GHCi to figure out of mod was named mod or %. And with the right tools, I was able to solve it in under a minute. It took about 10 seconds to get the logic down on paper, using arrows of the Categorical variety. This does not make me a Haskell n00b. These kinds of ideas are rather subversive in a business environment. In my experience, businesses want to balance this sort of flexibility with maintaining a common body of knowledge. This leads to those brutish patterns OO people seem to love. At least functional patterns are expressive and often written in terms of free functions for some type or type class. I remember an incident at a previous job, where a slightly more senior employee told me that I should be using the factory pattern instead of a map to traverse a list of "logic objects". I gave him a little challenge. I told him to just write up the supporting code (i.e., just the class names, imports, interfaces. No implementations.) for the class hierarchy while I solved the problem my way. It would be a race. 10 minutes later, I was done. Half an hour later, he came by my desk, looked at the logic for traversing a list of hashes and writing a functor into the solution space, and agreed I was right.___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On 3 Jul 2010, at 03:39, Don Stewart wrote: > ivan.miljenovic: Hmm, interesting. Applicative and Traversable are two classes I've never used and don't really understand the purpose of. I have no idea what hsc2hs is. I keep hearing finger trees mentioned, but only in connection to papers that I can't access. So I guess that means that I don't count as a "knowledgable" Haskell programmer. :-( >>> >>> RWH is free and online, and covers many useful things. There's no >>> excuse :-) >> >> Knowing about something /= knowing how to use it. I own and have read >> RWH, but I've never had to use hsc2hs, or Applicative, etc. >> > > Writing libraries that bind to C is a great way to have to use a lot of > hsc2hs (or c2hs), so clearly you need to contribute more libraries :-) Alternatively, they're already busy contributing lots of purely functional libraries, instead of doing (still valuable) work getting C cludges working. Bob___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On 2 July 2010 11:56, JP Moresmau wrote: > > On Fri, Jul 2, 2010 at 12:34 PM, Duncan Coutts > wrote: >> >> When we are done we intend to write up a blog post more details, e.g. >> numbers and the range/distribution of experience among candidates. I >> hope that will be useful to people who are interested in hiring Haskell >> programmers. >> > > It would also be useful to people who are interested in being hired as a > Haskell programmer, so they know where to send the hitmen, :-) > I mean, what to do to improve. Yes, I hope it will also serve the purpose of providing useful feedback to those people who want it. For the majority of candidates who receive rejection letters it's always going to be hard and a disappointment. Some people will want details and others will just want to forget about it. In our recent recruitment we decided to go for relatively terse letters and we will provide more information about the kind of applications we got via our blog. So people who are interested will be able to see roughly where they were in the field and what kind of decision procedures were used. I've never done recruitment before so I don't know for sure, but hopefully that is a reasonable compromise between providing no feedback and forcing candidates to read long rejection letters with too much painful detail. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On Fri, 2010-07-02 at 09:43 -0400, Edward Kmett wrote: > > * How many applications did you get? > > I tend to actively recruit rather than throw open the floodgates. We did that initially. We are now very pleased that we switched track to openly advertising. We've had many excellent people who applied that we either did not know or would not have thought of asking (and I like to think we know a lot of people in the community quite well). On the other hand it is certainly more work. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How easy is it to hire Haskell programmers
On Fri, Jul 2, 2010 at 15:43, Edward Kmett wrote: > I've had a fairly easy time of hiring Haskell programmers. > Does this mean your company actively uses Haskell in projects? Would you be willing/able to describe this work in more detail for the curious? Sean ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe