<br><br><div><span class="gmail_quote">On 11/02/2008, <b class="gmail_sendername">Richie Jarvis</b> <<a href="mailto:richie@helkit.com">richie@helkit.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
My recruitment is more tending towards Field Engineers, who require a<br>very broad background in multiple techs. Same rules apply though - I<br>did like Geoffrey's list - its very good (apart from the specific<br>references to things some folks might not have heard of... WTF is<br>
Scheme - /me googles....)</blockquote><div><br><br>Well again - it's not the specifics but the depth of understanding and the ability to communicate that I look for. I think there is an element of tailoring these requirements to the job in hand. If I were hiring people to write mundane in-house database applications my expectations would differ. Incidentally, for the roles I recruit for, I would be a little worried if someone had not even heard of Scheme - though that would never be a deciding factor in it's self. I will admit Scheme is not widely used in businesses, but it is one of the primary languages in a whole domain of programming and the primary language used in some of the primary texts on computer science over the last 30 years. <br>
<br>I don't expect everyone to have in depth to not be aware of it or any other language in particular (I really don't care if you have 5 years experience in Smalltalk or Eiffel), but not being aware of what these languages are and broadly where they fit into the scheme of things (no pun intended) suggests that the person in question has not looked at the wider topic of programming - i.e. they have not looked beyond the day-to-day requirements of their job. Given that the question is "How to tell if someone is a really good programmer?", I think this level of interest is vital. I have met plenty of proficient programmer who work 9-5 and don't program outside work, or only learn new skills when they think they need to in order to find another job (or stay employed) - but I have never met a really good or great programmer who lived like that.<br>
<br>Also worth saying people who claim to know about something, but then come out wih inaccurate statement cribbed from popular opinion don't do well in my books either.<br><br>Incidentally, for those who are in the dark: Scheme is on of the two main, stadardised dialects of Lisp, the other being Common Lisp. Unlike Common Lisp, Scheme's standard is very much alive and in development. The latest standard R6RS (the Revised, Revised, Revised, Revised, Revised, Revised Report of the algorithmic language Scheme) was only ratified in August 2007. Whilst Common Lisp is a huge standard with a massive library of commands, Scheme takes the approach that small is beautiful and (as a standard) has probably faired better because of it.. <br>
<br>Here a tiny intro from MSDN magazine:<br><br><a href="http://msdn.microsoft.com/msdnmag/issues/05/10/EndBracket/default.aspx">http://msdn.microsoft.com/msdnmag/issues/05/10/EndBracket/default.aspx</a><br><br>Peter Norvig, director of research at Google has some stuff about Scheme, Lisp (more generally), Python and Java:<br>
<br><a href="http://norvig.com/">http://norvig.com/</a><br></div><br></div>The canonical book on computer science using Scheme is freely available here:<br><br><a href="http://mitpress.mit.edu/sicp/full-text/book/book.html">http://mitpress.mit.edu/sicp/full-text/book/book.html</a><br>
<br><br>.. any questions I'm happy to help :-)<br><br>-- <br>Geoff Teale<br><<a href="mailto:tealeg@member.fsf.org">tealeg@member.fsf.org</a>>