• Steve Robinett

    Wonderful! I can’t agree more — especially with two main points:

    1. being taught vs. learning
    2. Knowledge of Math and English.

    The best programmers I know are the ones who read, can write coherently, and have a solid background in Mathematics.

    And Ben … you write beautifully!

  • http://www.michaelwales.com/ Michael Wales

    Excellent post! As a Sr. Developer, I can attest to the “prerequisites” you outlined here – particularly being able to articulate your thoughts.

    Most programmers won’t go on to create that wolf with the pretty girl on its back, running across the screen. Most programmers move on to the cubicle farm, maybe a shared office, and spend their days receiving requirements from users, turning them into code, testing, documentation, and delivery.

    Your customer has no idea what they want – regardless of what that requirements datasheet says, so a little bit of psychic power is in order as well.

  • Jim

    If the Earth had no core, it would collapse in upon itself. This is a known fact and can never be ignored. You driving this point home in your article needs to be read by every instructor in computer science.

    I am not a fair-weather fan, but I can only be a cheerleader for so long, and if the team isn’t shaping up as they should or doesn’t put forth the effort to do so, why should I continue to cheer?

    The dilemma occurs because I see the slow erosion of a downward progression into an absolute dead-end for some students. But in today’s “touchy-feely,” “I’m Okay, You’re Okay,” “Don’t let anyone tell you that you can’t” mentality is making me question my value as an instructor. If you’re plain f**cking stupid, why is it my fault? Yet, I feel I need to do more – something I’m over-looking, some teaching technique that I have yet to try to help flip on the light switch.

    There is an old saying you can lead a horse to water, but you can’t make him drink. As a joke one time, I modified this to say, “You can lead a student to class, but you can’t make him think.”

    It’s true. I could discuss, cognition, meta-cognition, Bloom taxonomies, cultural diversity, learning styles, assessments, and other pedagogical psychobabble until I was blue in the face, but then I would be made to feel bad about it, because some fucknut from Harvard going for his doctorate in Education did a study. There are lies, damn lies, and then statistics!!

    Like you – I am a push over. And then only after the rape has occurred and the perpetrator is gone do you mumble to yourself – what makes you so entitled that I should fix this for you or give you the answer?

    My fear is quite founded in reality – some people (mainly those who feel entitlement and disguise it as helplessness) know how to work the system – and once slighted – would have no qualms at going to the powers-that-be and bringing down the terror from above. So we are damned either way. If I could simply be truthful and say – “You don’t have the chops for this, maybe you should look into doing something else,” Lord knows I would. To say – “The emperor isn’t wearing any clothes,” is something the administration does not want to hear. They want the money!! All you have to do is say you have a disability and the seas will part and all will bow down to your whims. “I know I’m blind, but I want to be a photographer, and you better not tell me I can’t or I’ll sue your ass!!” This is why I keep doing what I can – this is why I lose sleep, because my reputation is on the line, once this person is released to the real-world.

    There are only two things I see as a positive outcome – the lack of initiative shown in school will continue well after graduation, and the degree will ultimately secure them a job at Bunnie’s Tavern. Or, my candidness and honesty when a potential employer calls me for a reference!! Oh please, put me down as reference!!

  • http://ajaxtrans.com Joel P

    “One of the fundamental flaws with the way the higher education system works, (maybe only at the current institution that I am attending) is that there are no non-Computer Science prerequisites for taking Computer Science classes.”

    My school requires discrete math to taken before any CS classes, and 3 semesters of Calculus for upper division courses.

  • http://blog.seliger.com Jake

    You might want to add that one should also learn about all the periphal issues related to the main task through reading sites like Paul Graham’s and Joel Spolsky’s, in addition to books like The Best Software Writing Volume 1 and The Mythical Man Month. People who are good tend to have a strong ability to telescope between the specific problem at hand and the large, general picture.

  • Pingback: links for 2009-04-24 | the higher you fly()

  • http://www.marcellusmiles.com Marc

    The University of Washington Comp Sci requires that you take 3 quarters of Calculus and 2 quarters of Physics (or upper Biology I think) just to be able to APPLY for the major.

    However, todays world doesn’t need programmers who know calculus when it comes to developing most software, whats needed is creativity and communication skills. Being able to come up with creative solutions to business problems and communicating the solution in English to the stakeholder is just as important to ones leet programming skills.

  • http://www.dev-the-web.com Dev-The-Web

    Hi,

    good post :) I cannot agree much with
    ‘Anyone can be a programmer.’

    I know many people that just couldn’t become C++ programmers :)

    Tihomir,
    dev-the-web.com

  • Pingback: Resistance and Creativity | Worthless Genius()

  • Rematrixs

    look when you are born your not born knowing please first of all this instructor doesnt know what he is talking about for real if you are a instructor your job is to teach them even when they dont get it you have to show them just because you get it and see the the problem doesnt mean they see through your eyes please i have 12 years as a programmer and yes when i first started i didnt know but thats how you learn from erro and asking questions what is this why is this happening how can i fix it. thank god and i thank my instructor Mr porter always remember him and his quote ( WELCOME TO MY CLASS TAKE A SEAT I AM FULLY AWARE THAT YOU HAVE NO KNOWLEGE OF PROGRAMMING ITS MY JOB TO SHOW YOU DONT BE SHY TO ASK QUESTION THATS HOW YOU LEARN ) and how can this person call himself an instructor and saying thing like ( dont waste your instructor time ) that is your job remember i always say there is no such thing as bad students only bad teachers and this instructor sounds like one of them , 12 years in this business and out of the 12 -10 years i run my own software company . i hope any one reading this please your not born knowing everything or you must have a talent bullshit the only thing you need is to study and prepare your self , ask question , listen and learn repeat, repeat repeat and repeat if you dont get ask dont be shy

  • http://www.facebook.com/lovejuliett Juliet Alvarez

    Thank You So Helpful :)

  • http://www.facebook.com/KamiNoDokeshi Sachin Hegde

    Sooo very true, I am in the same place as you right now 😛 …

    Typing has to be a forte for newcomers in any field related to Computers, atleast he should be able to tell 1 key from another without looking at it. Many in these computer science degrees, cant type to even save their own lives. Tell them to type their names within 10 secs and they might not even finish their first name fcol …

    I’ve seen so many people mugging up code and then spouting bullshit, that it makes my skin crawl. They go like, the this pointer is used in a spot because the professor used it there too.

    Logic is the most basic thing a student should have before picking up any programming language to learn. Because the other stuff might come to them with time, but I believe the logic factor is in-built. If you cant analyze why someone used something the place they used it, cant question yourself if the thing you used/saw is correct or could you make it better, you seriously shouldnt waste your time.

    Worst thing is they even get jobs with such low IT IQ …

  • Wouter Vos

    Anyone can learn how to type at a sufficient level.
    I’d say the most important skill is abstract thinking. The ability to visualize what the processor will do when I type this line of code or fantasize control/information must be structured to solve a problem.

  • Polish Toaster

    I really liked this article. It helped explained many things to me that will hopefully help me in my programming career.
    I have always loved programming. The sense of having a problem I need to solve always feels so cool and then once I solve it, the feeling is even greater. I have been “programming” (Creating small games while I was 10, to the point that I am at now, programming PC game mods and all the like) and I have just one problem. I’m failing English. I know it sounds weird, but the hard part about English is that I don’t know how to interpret the reading material properly. It always seems like English is one of those courses where anyone’s opinion should be right just as long as you back it up… But this is never the case. My opinion is either wrong or I just don’t understand the context. I am perfectly fine at speaking English and knowing the vast majority of rules in English, I just can’t write my opinions down the way the teacher wants me to. It’s also a pain because A) I need a grade 12 English credit to graduate and B) I need a college level grade 12 English credit or higher to get into the course I need.

  • Polish Toaster

    I really liked this article. It helped explained many things to me that will hopefully help me in my programming career.
    I have always loved programming. The sense of having a problem I need to solve always feels so cool and then once I solve it, the feeling is even greater. I have been “programming” (Creating small games while I was 10, to the point that I am at now, programming PC game mods and all the like) and I have just one problem. I’m failing English. I know it sounds weird, but the hard part about English is that I don’t know how to interpret the reading material properly. It always seems like English is one of those courses where anyone’s opinion should be right just as long as you back it up… But this is never the case. My opinion is either wrong or I just don’t understand the context. I am perfectly fine at speaking English and knowing the vast majority of rules in English, I just can’t write my opinions down the way the teacher wants me to. It’s also a pain because A) I need a grade 12 English credit to graduate and B) I need a college level grade 12 English credit or higher to get into the course I need.

  • Polish Toaster

    I really liked this article. It helped explained many things to me that will hopefully help me in my programming career.
    I have always loved programming. The sense of having a problem I need to solve always feels so cool and then once I solve it, the feeling is even greater. I have been “programming” (Creating small games while I was 10, to the point that I am at now, programming PC game mods and all the like) and I have just one problem. I’m failing English. I know it sounds weird, but the hard part about English is that I don’t know how to interpret the reading material properly. It always seems like English is one of those courses where anyone’s opinion should be right just as long as you back it up… But this is never the case. My opinion is either wrong or I just don’t understand the context. I am perfectly fine at speaking English and knowing the vast majority of rules in English, I just can’t write my opinions down the way the teacher wants me to. It’s also a pain because A) I need a grade 12 English credit to graduate and B) I need a college level grade 12 English credit or higher to get into the course I need.