[Haskell-cafe] How easy is it to hire Haskell programmers

2010-06-30 Thread Paul Johnson
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

2010-06-30 Thread Felipe Lessa
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

2010-06-30 Thread Serguey Zefirov
> 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

2010-06-30 Thread Don Stewart
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

2010-07-01 Thread Zura_

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

2010-07-01 Thread 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


Re: [Haskell-cafe] How easy is it to hire Haskell programmers

2010-07-01 Thread Don Stewart
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

2010-07-01 Thread aditya siram
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

2010-07-01 Thread Brandon S Allbery KF8NH
-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

2010-07-02 Thread Duncan Coutts
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

2010-07-02 Thread JP Moresmau
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

2010-07-02 Thread Edward Kmett
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

2010-07-02 Thread Matthias Görgens
> 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

2010-07-02 Thread Andrew Coppin

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

2010-07-02 Thread Darrin Chandler
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

2010-07-02 Thread aditya siram
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

2010-07-02 Thread Paul Johnson

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

2010-07-02 Thread wren ng thornton

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

2010-07-02 Thread Ivan Lazar Miljenovic
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

2010-07-02 Thread Don Stewart
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

2010-07-02 Thread Ivan Lazar Miljenovic
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

2010-07-02 Thread Don Stewart
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

2010-07-02 Thread Alexander Solla


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

2010-07-03 Thread Thomas Davie

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

2010-07-03 Thread Duncan Coutts
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

2010-07-03 Thread Duncan Coutts
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

2010-07-05 Thread Sean Leather
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