[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Testing job applicants
In article <7qoqh0$l59$1@cascade.cs.ubc.ca>,
Donald Gillies <gillies@cs.ubc.ca> wrote:
>I think this is a bit of an over-generalization. I have worked with
>many excellent programmers who have computer science degrees.
>However, two things are the norm :
>
> (a) All were self-taught before their degree. All were excellent
> *before* the degree.
> (b) All have *engineering* degrees
. . .
>If you look at the best engineers in "anything", imho they are all
>self-taught.
. . .
>Now if you like the non-computer science hires better than the CS
>ones, perhaps it's because they are all self-taught. But I have seen
>a lot of simple problems that were badly botched by self-taught
>people.
I have been answering a lot of questions in comp.lang.perl.misc over
the last week or two. Most of them are questions that suggest that the
querent is either self-taught (badly) or taught by truly incompetent
teachers.
On the other hand, I haven't taken any Perl courses, either, and I'm
answering these questions correctly.
I suspect there are reluctantly self-taught people and eagerly
self-taught people.
>For example, who here wants to hire a compiler person who is self
>taught ?? Without a good formal background and a thorough
>understanding of language theory, an attempt to write a translator
>will be 100% guaranteed failue. I've seen it several times in the
>past. While it's possible to find someone who learned all this stuff
>on his own, the risk is not worth the reward...
Yesterday, I posted a program to clpm to manipulate expressions in the
lambda calculus. It parses input lambda expressions and does
normal-order beta-reduction. Correctly. In Perl.
I've been reading Friedman et al.'s textbook, _Essentials of
Programming Languages_; the program was inspired by some of the
exercises.
I suspect that when I finish the book, I will have a much better
understanding of its subject matter than nearly all students who just
finished a class taught from it. And I will be quite competent to
write compilers.
(ObApple2: I'm hoping I can write a decent Scheme system for my Apple
//e.)
I haven't had a CS class since 6th grade; at the time, I was one of
those insufferable know-it-alls who thinks he knows everything there is
to know about programming, but doesn't know much at all. I think I
have improved a bit.
Teaching oneself such things means that one can slow down when one is
having trouble understanding, in order to do more in-depth study of the
matter, and one can skip over parts one already knows. (Reluctantly
self-taught people tend to do the opposite.) So really curious
self-taught people are likely to have a deeper understanding of the
subject matter.
>The person himself is the only guarantee of competence.
Agreed.
--
<kragen@pobox.com> Kragen Sitaker <http://www.pobox.com/~kragen/>
Tue Sep 14 1999
55 days until the Internet stock bubble bursts on Monday, 1999-11-08.
<URL:http://www.pobox.com/~kragen/bubble.html>