Hiring Haskell programmers

Eray Ozkural erayo@cs.bilkent.edu.tr
Tue, 12 Mar 2002 04:37:35 +0200

Hash: SHA1

On Tuesday 12 March 2002 03:05, Mark Carroll wrote:
> Be able to modify or add to the code base within a few weeks, in such a
> way that somebody doesn't have to come back later and repair your work.
> (-: So, no, not just the syntax: much harder, in my opinion, is to learn
> how to phrase even just simple algorithms in an efficient and functional
> way. When I first learned Standard ML, after years of imperative
> programming, my brain almost hurt for the first few weeks.

I think the practice of software engineering applies here as well as any other 
language. How hard was it for Cycorp to hire LISP programmers? (Not a good 
example I know) I would imagine one would have to be a little mathematically 
oriented for grokking the hack content of course. Any good programmer with a 
knowledge of declarative programming in the tradition of LISP and Prolog, 
IMHO, will do the job.

Also I'd think that knowledge of the application domain and methods matters 
more than the programming language. If you require one to write machine 
learning code, how would you expect him to write a single line without 
knowing the subject?

I'd imagine that persons who are experienced at any programming language which 
allows a reasonable level of abstraction (say C++), will be quite comfortable 
with Haskell. The type system of Haskell is a great win, and although the 
APIs are yet to be standardized (for common programming tasks) it will do a 
great job in many fields.

I wouldn't be particularly enthusiastic about using a language like Haskell to 
implement a simple thing such as a "chatroom" but I would imagine it would 
have great benefits in research where you have to try out a lot of 
mathematical ideas, in complex symbolic AI tasks, in compiler 
design/implementation, etc.

Therefore, ideally, I would look for somebody who has
  a) concrete programming experience
  b) knowledge of symbolic languages
  c) theoretical knowledge of your domain

If I were to find that person who would be really able to program in Haskell, 
I would look for somebody who has done a variety of things rather than 
focusing on a single technology/application (just pure mathematics wouldn't 
do ;). That kind of a person would be able to find his way in any maze.


- -- 
Eray Ozkural (exa) <erayo@cs.bilkent.edu.tr>
Comp. Sci. Dept., Bilkent University, Ankara
www: http://www.cs.bilkent.edu.tr/~erayo
GPG public key fingerprint: 360C 852F 88B0 A745 F31B  EA0F 7C07 AE16 874D 539C
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org