> 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
