Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Education

Joel Gives College Advice For Programmers 808

An anonymous reader writes "Joel on Software explains what college students should do with their lives. Interesting to note is how he justifies such trivialties as GPA scores and well-roundedness, the very things comments here tend to think are overrated. In short, learn to write English, learn to write C, and don't worry about India!"
This discussion has been archived. No new comments can be posted.

Joel Gives College Advice For Programmers

Comments Filter:
  • Response to Joel (Score:5, Informative)

    by alphakappa ( 687189 ) on Wednesday January 05, 2005 @02:45PM (#11265940) Homepage
    Here is Sriram Krishnan's response [dotnetjunkies.com] to Joel's advice
  • Re:Good advice... (Score:2, Informative)

    by MisanthropicProgram ( 763655 ) on Wednesday January 05, 2005 @02:46PM (#11265951)
    That's something you'll have to find out for yourself.

    I for one got sick and tired of doing it professionally, but I like to do a little as a hobby and to learn new technologies.
    Other people I know i have been programming for decades (started in the 70's) and still love every minute of it. And still others burnt out completely. I guess it also depends on the jobs you have had.

  • by SCHecklerX ( 229973 ) <greg@gksnetworks.com> on Wednesday January 05, 2005 @03:06PM (#11266290) Homepage
    The problem with school these days is that's it all about getting the papers to get a job. Period

    bullshit. I have a degree in Aerospace Engineering. I've never worked directly in that field. I certainly did learn a lot of really cool stuff that I could never have learned on my own, however.

    Computers were a hobby, and getting a job in the field was because of that hobby. The education certainly did help, but I definitely did not get an engineering degree to "get the papers to get a job"

    In fact, I chose aero over compsci *because* I could teach myself all of the programming. I wanted a real challenge. If I wanted good grades, I certainly picked the wrong route with that decision!

    If all you want out of an education is a job, then go to something like ITT and become another trained monkey. A real university is not for you.

  • by cnelzie ( 451984 ) on Wednesday January 05, 2005 @03:07PM (#11266328) Homepage
    ...a large part of being a citizen of the United States these days. When I was younger, I was in the arrogant land of believing that College Degrees were over-rated and worth very little on paper.

    However, in the years since, I have grown in wisdom and have discovered that book knowledge will only get you so far and that personal experience will also, only get you so far. Taken together, a person can go places that having only one alone would be near impossible.

    Now, reaching my 30's, I am kicking myself in the rear working towards obtaining a college degree to build upon and further my career goals.

    If I had an opportunity to peform a 'do-over' the only thing that I would change in my life is completing at least an Associate's Degree the first few years after completing High School.
  • by RealAlaskan ( 576404 ) on Wednesday January 05, 2005 @03:08PM (#11266347) Homepage Journal
    The anti-intellectualism here on Slashdot is extraordinary. I must admit to being rather surprised whenever I see comments like "PhD's dont know nothin" (sic), or a recent post saying I hate college with poor grammar and spelling. Responses to it basically stated that a college degree was worthless.

    Knowlege and education will always be valuable, in many ways. What does that have to do with college?

    Seriously, for too many students, college is a four year waiting period: waiting to get their tickets punched for that good job. Some party full time, some work full time, but none of this group of bad students are trying to learn at all, except in the ``pass the test'' sense.

    People who hate college, and say that it's worthless, tend to be in this know-nothing group. There are people who find that college gets in the way of learning, because they have to take time out from learning to pass tests. Still, if that's your problem, you should find the test passing relatively easy, or you should change your major to match your interests.

  • Re:GPA useless??? (Score:3, Informative)

    by psykocrime ( 61037 ) <mindcrime@cpph[ ]er.co.uk ['ack' in gap]> on Wednesday January 05, 2005 @03:21PM (#11266552) Homepage Journal
    My company gets thousands of resumes a week. We absolutely need a first-line filter. It is GPA.

    In my career I have found that GPA is a very good indicator of a whole host of things. When I get a pile of resumes on my desk, I skip the 4.0s and throw out the 3.0s, if nothing turns up in between, I go back to the 4.0s.


    That's a fine approach, as long as you're comfortable with knowing that you're going to miss out on some really talented people that way. Sure, you'll hire some good people along the way, but you'll screw yourself by passing up some top notch people as well.

    There's nothing intrinsic about GPA that makes it a meaningful indicator of how somebody will perform at a job. Come to think of it, there probably isn't *any* metric you can use to evaluate potential employees, that works out to much more than a crap-shoot.

    Evaluating people, in any profession, is an imprecise art. If it were otherwise, you wouldn't see guys drafted in the 1st round of the NFL draft get cut before the regular season starts, and you wouldn't have undrafted free-agents in the Pro-Bowl.

    The point of all this? That evaluating talent is difficult and error-prone, no matter what. And no matter what arbitrary standard you filter on ( 3.5+ GPA, 4.40 forty-yard dash, 38 inch vertical, whatever) you'll wind up missing out on somebody you should have hired (or drafted).
  • by nurb432 ( 527695 ) on Wednesday January 05, 2005 @03:22PM (#11266578) Homepage Journal
    No, i was a complete outcast ( still am, and proud of it ) .. so I have no doubts. i wasnt 'conformed'..
  • A high GPA score tells me that person has already done exactly that in an academic environment.

    No it doesn't. Your conclusion is just one of many that you *could* infer from a high GPA. It could also indicate somebody who cheated like hell, slept with their teachers, "played the grade game" by taking the easiest possible classes, etc., etc. High GPA is not a guarantee of strong performance in the "real world."

    There are so many factors that you have to evaluate beyond just a single number, to come to anything close to a meaningful conclusion. Who's better, the student with the 4.0 GPA who took things like "Basket Weaving" and "History of Pornography as an Art Form" as electives? Or the guy with a 3.4 GPA who took "Quantum Mechanics" and "Intro to Neural Networks" as electives?

    or what about the difference between a student with, say, a 3.8 GPA, who had rich parents to pay his way through school, and didn't have to work at all - versus a guy with a 3.5 GPA who worked full-time, 3rd shift, and followed work with an 8:00 am section of "Discrete Mathematics?" Hmmm... who is more "competitive" and has more will between those two? Which one will outperform his/her colleagues in the working world?

    Are you *really* comfortable just picking the higher GPA in either of these cases?

    Why should I take the risk that someone with a mediocre score will suddenly decide to apply himself once he's on my payroll?

    You're taking a risk either way. GPA is just one factor you should look at, IMHO. If I were evaluating a candidate, I'd want to see their transcript, and actually look at what courses the selected. I'd want to talk to the person and find out what their interests are, what motivates and drives them, etc.

    and FWIW, my own GPA is a 3.75 at the moment, so none of this is an attempt to apologize for myself.
  • Internship available (Score:3, Informative)

    by Animats ( 122034 ) on Wednesday January 05, 2005 @03:35PM (#11266789) Homepage
    Joel says "get an internship", and we have one. Paid, even.

    Team Overbot [overbot.com], Silicon Valley's entry in the DARPA Grand Challenge, is hiring.

    Coolest robotics project in the area. Great resume builder.

    C++. GCC. Python. Geometry math. Electronics work. Field testing. Hard problems. Not boring.

    In Redwood City, CA.

  • by HumanTorch ( 568372 ) on Wednesday January 05, 2005 @06:47PM (#11269769)

    Now, reaching my 30's, I am kicking myself in the rear working towards obtaining a college degree to build upon and further my career goals.

    I, too, am kicking myself in the rear for obtaining an 'easy' degree (Geography) after high school and now I am paying for it.. I'm 32 and its back to school next year.

  • by Poseidon88 ( 791279 ) on Wednesday January 05, 2005 @06:58PM (#11269882)
    Excellent point. I was lucky enough to have a couple jobs in high school that convinced me I needed to get a degree. Nothing like chatting with a man who's made a lifelong career out of managing fast food restaurants to motivate you.

    Granted, 10 years ago, it was possible to get a foot in the door of the software industry without a degree if you could show a proficiency in at least one programming language. But those with degrees were still able to get better jobs and salaries. Nowadays, you'd be hard pressed to get so much as an interview without a degree of some sort.

  • by Ieshan ( 409693 ) <ieshan@@@gmail...com> on Wednesday January 05, 2005 @10:24PM (#11271686) Homepage Journal
    His point, as far as I can tell, is twofold.

    One: You get from college what you put into it.

    Two: A guided, strong college curriculum pays higher dividends than trying to learn on your own.

    The guy who posted in a Ph.D. in neuroscience (spec., visual neuroscience). Trust me, you don't learn neuro from reading about it, you learn neuro from being in a lab, tinkering with experiments, reading the data, and trying to discover new things. You can't do surgery in the library.

    The library and internet in the hands of a motivated man are very useful, but they don't equal the experience of learning from a trusted and qualified advisor, especially if you get to be a part of his or her research program.

    The real college experience has nothing to do with being told to "shut the fuck up". Book learning is static, a college experience (by the fourth year) should be dynamic, learning the bleeding edge of things that haven't been put in the books yet. I'm sorry yours didn't turn out that way. =)
  • Very bad advice (Score:5, Informative)

    by Stu Charlton ( 1311 ) on Thursday January 06, 2005 @01:33AM (#11272845) Homepage
    This piece was an exercise in ego, with a couple of decent nuggets thrown in.

    But this line takes the cake: ...if you can't explain why while (*s++ = *t++); copies a string, or if that isn't the most natural thing in the world to you, well, you're programming based on superstition, as far as I'm concerned...

    Right. Because programming is all about understanding pointer arithmetic.

    This statement has nothing to do with CS, nothing to do with software engineering, nothing to do with digital design or assembly. This strikes me purely as "my language is better than your language" elitism.

    I firmly believe in his general thesis: a great software developer pays attention to soft and hard skills. Software development is a continuum of skills: at one extreme, it's all about people -- at the other extreme, it's all about computer science.

    However, the argument that the best programmers must know C idioms can be reduced to the argument that the best programmers must know (in depth) electrical engineering, digital design, or physics. Because otherwise, it's just superstition that the machine works!

    In today's world, knowledge is the essential resource. It's more important to know how to organize your ignorance than to try to learn everything.

    Abstract languages like Simula, Lisp, and Smalltalk completely changed the way we look at computer science. It brought the "people" element back into it - the need to think and communicate primarily at the level of the problem, not at the level of the machine -- but retaining the ability to drop down to machine level when necessary.

    Abelson and Sussman explained this shift in the preface to SICP [mit.edu], which I think is a good way to end this rant (highlights mine):

    First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.

    Second, we believe that the essential material to be addressed by a subject at this level is not the syntax of particular programming-language constructs, nor clever algorithms for computing particular functions efficiently, nor even the mathematical analysis of algorithms and the foundations of computing, but rather the techniques used to control the intellectual complexity of large software systems.

    [...]

    Underlying our approach to this subject is our conviction that ``computer science'' is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology -- the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provides a framework for dealing precisely with notions of ``what is.'' Computation provides a framework for dealing precisely with notions of ``how to.''

An Ada exception is when a routine gets in trouble and says 'Beam me up, Scotty'.

Working...