> Gyepi SAM [[EMAIL PROTECTED]] quoth:
> *>
> *>CS graduates can produce just as much crappy code as non-CS graduates,
> *>though they are less likely to do so.  A degree merely assures that the
>
> Most often it is those who left university to pursue the dot com dream who
> say this. Self-taught code wonders are rare and ones that write lucid code
> are even rarer.

[Sorry for what turned out to be a long email, in retrospect. I just
wanted to write out my feelings on this subject. :]

I'd tend to disagree with you there. I think it all comes down to
motivation. The self-taught person is more likely to be motivated. If
they're motivated only to make money and write code, they aren't likely to
be good programmers. If however, you're motivated to read and learn,
you're likely to be a great self-taught programmer.

I'm currently at MIT going for my CS degree, and have thus far avoided all
the offers out there in the real world. I firmly believe that getting a
degree will help me out overall. Besides, it's college. :)

But I've seen some horrible programmers here. They can go through the
entire CS curriculum here and still not 'get' it. By the same token, I've
seen plenty of people who came in to MIT with self-taught
skills, and experience in the 'real world', who aren't going to
gain much from most of the regular CS classes.

Regardless, I still believe a CS degree does ensure a somewhat higher
average overall. Regular people who have no programming experience can be
transformed into decent programmers through schooling, and great
programmers can take graduate classes and extend their horizons. In
reality, it's all about motivation.

Money is a pretty bad motivation, since there is no accountability in the
industry with startups appearing and disappearing, left and right.

Grades are an okay motivation, since there is accountability in terms of
their grade. Focusing on passing does ensure that they have to program
decent code, and this can translate into the real world.

But the best motivation, IMO, is the love of learning. With this, you
continue to learn and expand even while working in the real world. You
aren't focused on what's needed to just get by.

One really good indicator I think that people should ask at interviews,
is: What books have you read, and what's on your bookshelf? If this
question is answered honestly, it can be a great indicator of the quality
of the person's programming abilities. Each book contributes a different
amount to their net worth. MSCE books don't count for much, so if that's
all they have, their score isn't great. But MSCE books don't count against
them if they've got lots of other good books. For example...

Any collection of papers from conferences on software design is a very
good plus. Shows they're interested in what comes from the academic
world.

Books on esoteric topics such as Garbage Collection, Problem Frames, etc,
show a desire to research stuff that has no immediate applicability to
their job. (depends on if the job is in the same esoteric area, of course
;)

Design Patterns, Refactoring, Mythical Man-Month, Code Complete, etc are
all good pluses. But I'm sure you all know that. :)

My point is merely that the motivation of the person determines how
valuable they'll be to the project, and how passionate they'll be
about the codebases they work with everyday. Books are just a good
indicator of the type of motivation this person has.

Just my opinions on the whole matter...
Mike Lambert

Reply via email to