Slashdot Mirror


Joel Gives College Advice For Programmers

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!"

6 of 808 comments (clear)

  1. Good advice... by Omniscientist · · Score: 5, Interesting
    I'm currently a college student who is going to be majoring in Computing Engineering. This article is something I should have read before I started my first semester at college, specifically the "don't blow off the non-CS classes". My first semester was mainly non-CS classes and it did hurt my GPA slightly (nothing I can't fix tho). He brings up an important part, I believe, in how necesarry it is that you must be able to convey your ideas through speech and writing well. The whole microeconomics thing is some good advice too. Ooh and its nice to hear that we shouldn't worry about all those jobs going to India. The only thing that made me scratch my head in the article was this passage in relation to Computer Programming as a job:

    If you enjoy programming computers, count your blessings: you are in a very fortunate minority of people who can make a great living doing work they enjoy. Most people aren't so lucky. The very idea that you can "love your job" is a modern concept. Work is supposed to be something unpleasant you do to get money to do the things you actually like doing,

    I'm being a bit sarcastic here, but I've heard from too many people that punching out code all day at work makes them very hesitant to even touch a computer at home. For those who are currently computer programmers/engineers, would you say you really enjoy your job, or does it get extremely old and tedious after awhile?

  2. Disagree on two points: by mOoZik · · Score: 4, Interesting

    * Learn microeconomics before graduating.
    * Stop worrying about all the jobs going to India.

    First, I think it's also to learn macroeconomics, if you plan on becoming anything more than a cubicle-dwelling drone. If you want to take mattesr into your own hands, you have to have a good understanding of the big picture. As for India - which is related to my first point: it is important to look at all trends and act accordingly. If you ignore any large trend, movement, etc., you can very well be doomed to failure. When I say trend, don't misinterpret that as the equivalent of "fashion."

  3. Non-CS Courses by ackthpt · · Score: 5, Interesting
    Microeconomics Joel touches on for what I consider trivial reasons. My recommendation in regard to the non-CS core classes with a math foundation is to get a broad exposure to them, including macroecon, chem, physics and of course, calculus (which is usually required anyway.) Why? Because it gives you opportunities to consider how you might approach problems or exercises in these disciplines analytically and how you might program modeling and such. I found on thing could lead to another, quite often, as classes can often be very interconnected in theories and information and were inspirational for lots of experiments in coding. Broad experience in coding is essential, unless you like to play the high-risk game of specialization (big bucks, but little call for your skills)

    Non-math courses help develop a personality and there's no shortage of need in that department, where I've worked. Learn some general psychology, socialogy and language. A well exercised brain is more creative than one that only dwells on one aspect or type of challenge.

    I found many formulas and ideas from classes outside CS contributed greatly to offering information and processes which normally may not have occured to me.

    In short, you're in school, make understanding the concepts behind your classes your main focus, socializing and entertainment when you can fit it in, not the other way around.

    --

    A feeling of having made the same mistake before: Deja Foobar
  4. True confessions... by rah1420 · · Score: 4, Interesting

    I find myself a closet programmer. By day I'm what They (tm) call a "Systems Analyst," said with a breathy expulsion like it is some sort of position involving the laying on of hands. My employer makes no bones over the fact that this is the Way of Things, so if I want to continue to get a paycheck, I will learn soft skills and management skills and all that other non-coding stuff.

    But what do I do at night? I go home and write code. Why? Because I get a blast out of it.

    I think Joel's article is right on; especially the piece about learning C. I was taking an inventory of my skills (mostly with 4GLs and non-bare-metal languages, though I have written smatterings of C++ and S/390 Assembler) - and the one area that I'm really deficient in is C.

    Since I'm also in school for an MS in Information Systems, it might take me a little more time than I thought... but It Will Be Done.

    As far as my employer goes, they can promote the soft skills and the management skills all they want; I may even find my hair forming into the PHB hair style; but when I go home and close the door, they will take my laptop only if they pry my cold dead fingers from around it.

    --
    Mit der Dummheit kämpfen Götter selbst vergebens.
  5. Re:Slashdot anti-intellectualism by Rakishi · · Score: 5, Interesting

    In school: what you put in is what you get out. Want to cheat and not learn anything, go right ahead but I doubt you'll be making as much money as me in a decade or two. Talk to the Professors, show interests, discuss things, do research, etc.

    Also: Go to a better school then or get a better advisor. First of all the whole "you can learn it from a book just fine" is BS imho since unless you know which book to get you won't have a fun time. In addition, for many things the feedback you get on projects (or even just doing the thing assuming it's hard enough) is more valuable than anything else.

    As for "tangents" let's see I'm a Junior now and I've taken courses in: Math, CS (including grad courses in AI, Robotics and Genomics), Statistics, Psychology, Philosophy (Bioethics, and now I know the main arguments for a dozen important issues), Physics, Biology, History, Writing and a few others. I learned something in all of them, I took classes much harder than what I should be taking and while I didn't get an A in them I learned much more than if I took a class where I did get an A easily

  6. Emphasis on a well-rounded education is the key by tyrione · · Score: 4, Interesting

    My background is a B.S. in Mechanical Engineering where upon graduating in 1993 had the lovely firsthand experience of what was a recession in my field. I returned to do a second bachelor's in computer science.

    I worked full-time at the campus IT Department while taking classes vastly ill-structured compared to my M.E. courseware. The options of languages to learn were behind the industry and this is a Pac-10 University I'm citing. Like almost all accredited programs they seem to be under the umbrella of Electrical Engineering. I ended up having to take several classes that I fulfilled in Mechanical Engineering for C.S. The smug remark was always the same, "I don't believe you guys covered this area with applied math in your EE class equivalent." My retort was always, "I don't believe you guys covered anything in your Statics/Dynamics cliff notes and Thermo for idiots equivalents but we don't make you waste time and money taking the full crap if you wanted to do a Masters in M.E."

    Needless to say, I was looked upon as a "typical elitist Mechanical Engineer" within the department. I was only there to apply Finite Element Analysis, study Computer Modeling and hopefully get my ass back into a career I had just spent five years educating myself to do. To eliminate the boredom of the classes I made sure in both degrees to have a minor outside the range of technology that may expand my mind. I declared a minor in Anthropology.

    Anthropology is where I rekindled my love of writing and love for what makes us tick inside. This diversion made studying science much more enjoyable.

    However, it doesn't improve one's odds at retaining a career of their choosing. You garner such skills through Social Engineering--a nice label for Social Networking--where one learns to manage time, alcohol and communicating with the sexes over countless hours of downtime. This set of skills matched with one's professional skills are what land you the interviews and ultimately the ability to adapt into new careers thanks to the chaos known as the Real World. It doesn't guarantee one to always be ahead of the storm--that depends on whether one is constantly cautious and through pessimism looks for such pitfalls.

    In short, expect several careers, various job titles that will most assuredly have nothing to do with your formal education and more to do with your social education and more importantly realize your needs fluctuate in life--the needs that we label as attributes to personal fulfillment.

    Thanks to this lovely recession I'm currently focused on writing short stories, novels and verse to land me a new career, while simultaneously refreshing myself in Mechanical Engineering (I put that on hold while working in Silicon Valley and the Northwest for a decade) as well as make a conscientious effort to further my technical skills in Linux, OS X, C/ObjC and Java.

    The moment you think you have learned enough to sustain a lifestyle of your choosing will be the moment you realize you've never had such a lifestyle afforded you. The promised land of telecommuting around the globe have yet to become the norm. Without this option one is always in debt upon entering the doors at the new job chosen by you which rarely is in the same town and most often requires you to relocate, at considerable expense, on your dime.

    Welcome to the Belly of the Beast, where nothing is guaranteed nor afforded to you without a price. Sacrifice, patience and an unwavering desire to be adaptable to change is the only guarantees one has of never succumbing to the blackhole of has beens, contenders, or desperate souls who have given up on all their dreams. No longer vibrant and creative over a few beers while doing their studies they now just meander along in life with the highlights being Friday at the bars, Saturday with the woman and Sunday afternoon Football as their only reprieve from a thankless life of compromise.

    The greatest falsehood in the Real World is that what was afforded to you