Programming Is Not for Everybody

Recently, this video, provocatively titled What Schools Don’t Teach, was posted, and has been an internet success. The central message of the film was “anyone and everyone can program”, and it stars famous recognizable wealthy people asserting that point. (By the way, those people obtained their own wealth largely by hiring what they say they want.)

Also recently, my brother—who I affectionately describe as someone whose biggest dream is to be rich and will look into any scheme (albeit legitimate and legal) to get rich quick, whether they’re shady entrepreneurial partnerships or plans to “beat the house” in blackjack or poker—came to me saying “I want to be like you, I want to program.” (He too saw the video above, after having said that.)

I want to say that I think all of this is a hugely false message. Not everyone can program (beyond simple tasks), and more importantly to the eyes of prospective programmers, not everyone can make a career out of it.

The video starts off with all of the famous people, like Bill Gates or Mark Zuckerberg, saying “I started programming before I even hit puberty” followed by their “humble beginnings” writing very simple programs like small games. And then Drew Houston, the creator of Dropbox, pops up saying something relatable to a lot of people: “[programming is] not unlike playing an instrument or playing a sport” followed by NBA All-Star Chris Bosh, who “coded in college”, very vaguely discussing his trials and tribulations with programming (“it is intimidating”), while not actually giving any evidence he struggled.

Nothing of what they are saying is inherently false. Yes, a curious kid can begin to learn the basics of programming (just as I did), and yes, learning to program is like learning anything else non-trivial in the world (like an instrument, sports, juggling, sewing, …). But then things begin to become very misleading.

Makinde Adeagbo, an “early Facebook engineer”, comes on saying that a lot of coding people do is very simple. In a sort of twisted sense, this is true. But I liken that to saying a lot of stuff people do in basketball is also simple, like running across the court or throwing a ball. Running across the court is a necessary element in basketball, but it is certainly not what is sufficient to be successful at it. In fact, you can run across the court so perfectly every time, but be completely unsuccessful.

And then perhaps my favorite part: Bill Gates saying you need “addition, subtraction, that’s about it.” That is, that is the only prerequisite you need for coding.

Again, this is a sort of half-truth. It is true you do not need much mathematics to learn how to code. But the issue is, as you learn more and more how to code, you will find mathematics indispensable. In fact, I would say that you need at least a good grounding in algebra to be a successful coder, and more than that if you want to take advantage of better ways of looking at things. But ignoring the prerequisites, I think he’s giving the wrong message entirely, approaching the situation with the bare minimum. What would have been more accurate is “you only need addition and subtraction, but you should be inclined to learn more math, because you’ll need it to read anything beyond your Java in 7 Days book.”

Finally, the video starts talking about what it’s like to live the life of a coder. Extravagant offices, free food, lots of play, beautiful views, and of course, lots of money.

I found this almost painful to watch on behalf of other programmers, having personally been through and subsequently being hired by one of the places they film: Facebook.

It is true that all of those things exist, but it’s definitely the exception, not the norm, for a programmer. Most offices come equipped with a coffee machine, and a fridge to put your own food, often crowded with other people’s food that has been sitting there all week. They are in office buildings with gray cubicles, and they are fueled by stringent bureaucracy.

So, all I have to do is get hired at Facebook. They just told me it is easy. They are hiring tons and learning to code isn’t hard, it’s just intimidating.

Except it’s not. Almost everything that this video purports to be true is negated by the very companies that are represented in that video. The Facebook interview process requires a whole lot more than “addition and subtraction”, and isn’t purely fun and games in terms of problems they give you to solve. One of their interview questions requires an understanding of calculus, another one requires the ability to reason about time and space complexities of highly recursive functions, and another requires knowledge of abstract tools that programmers use, such as regular languages and automata.

As I said, my brother told me he aspires to be able to do what I do, a very flattering gesture. He knows it makes a lot more money than being a dock worker at FedEx does, and it allows a bit more of a lavish lifestyle. The video also portrays the same thing. While what he said is flattering, I don’t think he sees the reality of it. The reality is not being “wired in”, hacking out this amazing multi-billion dollar product, shooting caffeine through your veins, and typing at an incomprehensible speed.

I sit here this weekend, droning away writing and reading code for a large code base I don’t understand. I feel like if this task isn’t completed by a certain time, my job will be on the line. I’m not programming fun games or interesting concrete things. In fact, if the layperson like my brother asked me what I am programming, I’d have no idea what to tell them. My answer would be so utterly uninspiring, that it probably wouldn’t even register as being a normal part of programming. “It’s a sort of thing that reads code and is able to deduce information about it and then lets other people use that information for their tools” I don’t think this is the kind of programming my brother, or anyone, expects to be doing.

Do I like getting to work, at the latest, 10am, and coming home, at the earliest, 7pm? No. Programming jobs are often not “clock in, clock out” jobs. There is an underlying expectation to work longer hours to get things done. And it never stops, because the work is never ending. There’s always some feature to add or some bug to fix. There will always be a reason for you to have to stay an extra hour or two. Personally, I feel like my time is so short that I have no other choice than to stay up until 12 or 1am in order to give semblance of a balanced work/personal life. And this pattern isn’t common with just me, it’s true with many programmers. (Interestingly, what I end up doing in my personal time is coding, which perhaps is evidence of the sharp contrast between programming for personal pleasure and programming In The Real World™.)

I don’t want to disparage the idea of someone new starting to learn programming. It can be an empowering thing. But, for me, it’s not something I picked up and learned to do over a weekend, or two weekends, or 52 weekends. It is something I tried hard at, and ended up neglecting other things in life to be able to learn it. It is hard to tell my brother, or anyone, that the fruit of learning a little bit of programming is the way it might change the way you think—not the fame and fortune—and I don’t think this simple thing is a good enough motivation for most people.

Quite simply, programming is not for everyone. It is not an absolutely fun and delightful task as it’s portrayed to be in videos like the aforementioned or movies like “The Social Network”. It is rarely an invigorating social activity. A lot of time, it’s sitting in front of a computer screen, looking at a colorful text document, and thinking, and thinking, and typing, getting angry, and wondering why the hell you’re living a life sitting down.

102 comments to Programming Is Not for Everybody

  • Joey

    I like the last sentence, a lot.

  • Tim

    Sure, I think most people do, in some way, realize that “The Social Network” is a highly fictionalized account of things. I wish they would use more non-fiction or documentary works in arguments. “Antitrust,” for example, is a much better example of the reality of computer programming.

  • X

    Like a lot of people though they might get curious about it, start learning, and figure out it’s not their thing. Like you mentioned the way the message is displayed is somewhat wrong, but it might just hook some more people to give scripting/programming a go.

    Looks more like raw advertising (make it look/sound cool), versus being right and realistic.

  • Patz

    “and wondering why the hell you’re living a life sitting down.”

    This is what I’m wondering all the day while the processing capacity of my brain is not filled up by the work.

  • Herman Junge

    +1

    Only want to add: You have to love this job to be able to stare a screen for hours just thinking.

    Liked that sentence: ” A lot of time, it’s sitting in front of a computer screen, looking at a colorful text document, and thinking, and thinking, and typing, getting angry, and wondering why the hell you’re living a life sitting down”.

    It’s just the life we’ve chosen. And, no, it’s not for everyone.

  • Working as a software developer is not for everyone, but programming might be. A few hundreds of years ago it was absolutely necessary learning how to ride a horse and how to shoot a gun, but those skills are not that important anymore. I believe that for today’s world it’s important that everyone learns how to program, even if only a handful of people will keep doing that for a living.

    • Chad Smith

      Absolutely not. There was not a time when “EVERYONE” needed to know how to ride a horse and shoot a gun, and there will not be a time when everyone needs to know how to program.

      You idea of what you think is rateable is not. You think that everyone used to need to know how to shoot guns and ride horses because you thought that everyone needed these skills to survive. They needed to hunt and travel.
      This will never be the case for programming (and wasn’t the case back then)

      There is absolutely no reason for everyone to know how to program. If my little sister needed to know how to write a line of code to drive, that would be a perfect example of a bad system. If my niece needed to know how to program to be able to cook dinner, that would be a example of a bad system.

      Programming will not EVER be a skill that is required for survival.

      • There was a time where everyone most definitely did not need to know how to read and write, but it was (and still is) really empowering for people who learned it, even if they didn’t do it as their main occupation. The same applies today with programming. Everyone doesn’t need to learn to program, but the ones who do effectively have their own minions who can do repetitive tasks for them.

        • Drew Kelley

          Programming is not a required skill that people need. The whole point of having software developers is so that other people don’t have to spend all their time learning to code. Let us do that. We will write the program so you can buy it, spend 5 mins setting it up and then go do your own thing.

          Why the hell do I go to a doctor? Or why do I let someone else do my taxes. Because they know their shit way more than I do. Having good health and doing your taxes right is much more of a “survival” activity than programming. But I don’t understand it that well. They spent their time and effort into crafting their trade and now they profit from it. It would be utterly stupid for me to spend all that time to become a doctor or an accountant. To tell a doctor or an accountant that they “have to” or “should” know how to program is extremely stupid. Maybe we should all learn to be electricians too. We all have electricity in our homes.

          Do I know how to do simple things like diagnos if I have a cold? Or E-file my taxes? Sure. So the same could be true for programming. I get that. But lets be honest. Everyone who took a math class probably already understands the most basic elements of programming. If that is too hard then you are wasting your time trying to learn anyways (I’m looking at you Chris Bosh).

          For someone to really get into a higher level of programming they would have to spend a lot of time to understand algorithms and structures of programming languages. Or how about networks and protocols. How about deploying software and debugging. If you don’t know this you don’t know how to code or write software.

          I think this video is degrading to software developers who have spent their hard time and effort to learn how to code. To have Bill Gates and Zuckerburg sit there and say coding is only adding and subtracting is foolishness. They should know better than that.

          • Aric Parkinson

            I agree the video is a bit dismissive towards those who do go to school, who do spend years honing their skills, and who do get a serious career in computer science. However, I don’t find it any more dismissive than any other inspirational video trying to push the younger generation into exploring this or that field.

            What I don’t get about the negative reaction to this movement is, why do you assume it’s objective is to have everyone make programming their career? Is every video recommending students learn to play an instrument necessarily saying “everyone ought to become a concert musician”? Is every after-school ad saying kids should get out of the house and play sports suggesting those kids should strive to grow up and become NBA stars?

            I like the comparison to literacy: you don’t need to be able to read to survive, but it sure is helpful. Back when most people didn’t know how to read, it was pretty easy to exploit the uneducated.

            I would say the same thing is true now about computers. Having had to TA for an intro to intro to CS course last summer, there is a remarkable lack of knowledge of just how to use a computer, and there is nothing better for breaking through that knowledge block than digging into the inside of how a computer thinks, and flat-out making it do what you ask it to.

            The article is right in one respect: not everyone is cut out to become a computer scientist. But I do think everyone can be a decent programmer, given the right training.

            • What I don’t get about the negative reaction to this movement is, why do you assume it’s objective is to have everyone make programming their career?

              Because the video expressly discusses career options, and the video is capped with “there will be 1 million+ jobs that go unfilled” blah blah blah. Not to mention most of the faces in the video are ones who could benefit by hiring the people they’re asking for.

  • There’s a relatively easy DIY engineering solution to the “living a life sitting down” problem:

    http://peterarmstrong.com/post/37021212588/sit-stand-treadmill-desk

  • I totally agree with this article! As a kid who learned the piano along with a load of school mates who learned instruments I see that hardly any have kept it up. Programming is the new ‘learning an instrument’. It is a great way to expose everyone to it, and to find those who want to carry it on. 90% of people won’t carry it on, but, as with musical instruments, at least people have been made aware of it. Only nutters like ourselves carry it on into later life as a career!

  • arun

    so true.. so true…

  • If you program, you have to feel it as a passion, not a task to do.

    “and wondering why the hell you’re living a life sitting down…” . Everything is hard work and nothing comes easily. If you wanna succeed you have to work everyday, but you have to enjoy it; if not, well, I think it’s not your calling, even if you work 15 hours every day.

    I agree with you about it’s not easy and not everybody has skills for programming. But if you have those skills and you really wake up every morning wondering how to solve new problems and challenges in order to serve and help people with your superpower, it’s obvious you will find your way to be happy.

    +1 Nice article.

  • Nick

    I’d never argue for taking away a paintbrush from a 10-year old aspiring artist but it’s a different story when you find yourself at work facing an 1100-line C# class created by somebody who just knew ‘how to code’… do professional musicians have to clean up after a previous professional created something similarly abysmal?

    I’m kind of inspired to start a ‘Learn to (Legacy) Code’ movement now. Who’s with me?

  • Jim Jones

    Damn it’s good to read the truth once in a while.

  • Mar

    Excellent post. I also think that this video is trying to push people towards entrepreneurship. You may be a programmer and enjoy this lifestyle however, someone with an idea and a demo app can get funding (if lucky) to expand and of course hire a real programmer.

  • Josh

    Thank you. Thank you so much for saying the TRUTH about programming as a job, for a living. It is hard, hard work. I’ve spent birthdays, New Year’s, Valentine’s Day, even Christmas, at a computer working on that next feature. (Not every holiday, but it’s not uncommon.) It’s also hard to communicate with others because you spend most of your life thinking about things in ways that others do not. Of course it is a passion and a chosen lifestyle, and hopefully you do get those glorious moments of “eureka!” where something you have been toiling with for hours, days or years finally comes together and works. (I think that is the drug that keeps me hooked.)

    However, the videos saying “anybody can do it!” are the same as saying, “Anybody can play basketball, you just have to put that orange ball through that hoop. Simple right? So drop out of college now, cause you don’t need it and just pick up a basketball. You’ll be great, I promise!”

    Now, yes many people can “play basketball”, but not many people have the dedication and inherent ability to do it as a living, day in and day out.

  • Great post. Inspiring and also somewhat depressing. I’ve been there. (Who am I kidding, I *live* there.)

    Remember to go outside once in a while. It makes a huge difference.

  • pepito_say_the_truth

    The information in this video is so incomplete, I think they need a new generation of slaves that can control think about this programming is a activity really complex and the American people prefer different activities the computer careers isn’t popular like another years, they only need a new generation of programmers that can control and slave in mediocre jobs without creativity and personal realization.

  • Tim Moody

    Absolutely true.

    I guess I’ll be that guy, from what I’ve experienced there’s almost certainly going to be a corollary between native intelligence and programming potential at least from an economic perspective.

    Nothing is for everyone and programming is certainly not for many.

  • Caroline

    I think the point of the video and comparing programming to things like sports is to say that is DOES take a lot of hard work and dedication. The reason it is intimidating is because it is hard and it does take a long time and a lot of practice to get good at, especially at the level to be hired by a major company. But a lot of people have unrealistic expectations, take an intro programming class, struggle and give up instead of realizing that it is a skill like being a pro basketball player, or even being able to walk. You will fail at first, and it will take a lot of practice but eventually I think nearly anyone can become at least competent. Just like anyone can become a competent basketball player with enough patience and practice, even if they can’t be in the NBA.

    As a female software engineer trying to get more involved the idea that some small subset of the population just “gets” programming and instantly masters it, as opposed to everyone struggling and learning for a long time before reaching a master status can be incredibly crippling. And it can prevent a lot of talented, smart individuals who could be amazing programmers from putting in the time to master the art.

  • I like this article. A lot.

  • I agree, you’ve written an honest and eloquent piece. Thank you. I’m not a programming, although I did learn to do some basic programming at college many years ago. This grounding cam in useful as I became a teacher, as I took computing classes, teaching children how to write simple instructions to a computer. BASIC, VisualBasic, LOGO, Scratch, Python, even HTML… none of which I consider myself an expert in, but most I know well enough to explain to kids, get them producing some simple programs, but most importantly, help them understand the connection between having an idea and being able to adequately describe that idea to a computer in order for it to carry it out. It was never very complex stuff, but what I found is that all my students benefited from knowing even just a little code, while a few really discovered their passion for it and went on to make careers out of it.

    When I read statements like “All students should learn to code”, I tend to agree because it really IS a valuable skill. Not so much because they should grow up to be a programmer, but because by knowing even the fundamentals of how code is used to get computers to do stuff, it empowers them with a better understanding of this world they are growing up in. I don’t for one minute believe that being a professional programmer is for everyone, but man, having that little bit of insight into how a computer does stuff makes them seem just a little less mysterious.

    I would draw a distinction between “programming” and “computational thinking”. Programming tools, even simple ones like Scratch, can empower kids with the fundamentals of computational thinking, helping them see real world uses for math, teaching them logic, helping them solve problems, and experiencing that joy you get when your code works and the computer does what you tried to tell it to do. ALL kids should experience that sort of computational thinking.

    So, yeah, I like the idea of all kids learning to code, but perhaps we need to be a little flexible about what we mean by coding.

    • HenryC

      Perfectly said Chris. The level of understanding you suggest to have students learn seems correct. To take the mystery out of what happens beyond the keyboard.

  • 1. I encourage everyone to learn programming. From my teaching experience, LOGO is easiest and best
    2. From my recruiting experience, Berlin/Germany approx. 30% of developers with some years of experience can’t do FizzBuzz, String Reversal or other simple problems.

    Stephan
    http://codemonkeyism.com

    • Maybe I’ve just been lucky, or maybe I’ve had good screening, but ever since that article about using FizzBuzz in interviews, I’ve tried using it, and it has never helped me filter out any candidates.

  • 深圳观光团 前来报到

  • Soheil Yasrebi

    get a standing desk.

  • Alex

    You are absolutely right. From beginning to end.

    People think that IT is cool, but they forget that 80 to 90% of IT jobs are dealing with crappy software or websites and bug fixes for large companies or banking and associates.

    Except maybe for those having the chance to work at google, twitter, and all. But I’m sure they also have their part of boring things to do too.

    To me, it’s even depressing to see people working on great stuff and reporting it on the web (hacker news, github etc), while I’m just doing the same thing over and over again at work.

  • astead

    Agreed. The inevitable pain and suffering involved in programming is never discussed in the media. There’s a new culture of people who think that googling for code and using stackoverflow for everything is the way forward. That definitely has its limits.

  • “And it never stops, because the work is never ending. There’s always some feature to add or some bug to fix. There will always be a reason for you to have to stay an extra hour or two.”
    So the point to the whole video is marketing coding as a profession as there is current and future high demand for the profession. The video isn’t a documentary.

  • There’s something that irks me about these adverts and the government scheme and even those treehouse adverts.
    People who used to work at a coffee shop just decided “I want to make an iOS app”? and now make a living from it? hmm, I would say learning a language (programming or otherwise) is tough but achievable by about anyone if they have the desire. But that’s just it, Programmers, coders and scripters are driven by a desire. It’s the desire that not everybody has and something you can’t just pick up.

    Also on the Math(s) subject: I did ‘OK’ at highschool with Math(s) but never took it any further. College I did Computing/IT and learnt zero Math(s) and went on to Web Design/Dev at University. Zero Math(s). I now do a lot of Javacsript development and guess what’s holding me back and frustrating me? Math(s).

  • Rock

    Ok, so you do not enjoy programming. Well, I’m glad I do and I don’t see myself in that last sentence at all.

  • jyl

    I don’t agree you ,Nothing is easy . As long as you are going to do it , I think you can succed

  • This logic could be applied anywhere really. Law comes to mind, everyone could be a lawyer but most would be miserable and suicidal the whole time.

    https://twitter.com/joanojr/status/308565630418837505

  • Kevin S.

    Thank you for writing this up. I will reference it a lot.

  • Stephanie

    My undergraduate degree is in Computer Science. I can code. I know that it takes hard work and much effort to become proficient at coding. I know that everyone is not cut out for it. You do have to be passionate about it to make progress.

    That said, I think it is a good idea for anyone interested in Math/Science/Technology to learn, not just to code, but to think like a programmer. I remember sitting in traffic during my college years and imagining the cars were part of a sorting algorithm. I realized then that there was much more to programming than the syntax of the languages. The problem solving and algorithmic thought processes are what matter most.

    I don’t think the ‘learn to code’ websites will be appropriate/sufficient for most learners. But, if they create that passion in a few, and that leads them to pursue real programming, then no harm no foul.

  • Petey’s Theorem on Programming: 90% of people who program, shouldn’t.

  • Recursive Detour

    As a 15+ years professional programmer, I can vouch for the fact this article hit the nail right on the head.

  • They just want more cheap work force. More workers == lower salaries.

  • I linked a post to your page, hope that isn’t a problem.

  • I did a computer science degree back in the 90s before Google and StackOverflow and originally our department was part of the math department, they definitely expected us to learn more than addition and subtraction. In addition to lots of calculus we had to take discrete and combinatorial mathematics, matrix algebra, graph theory, logic, statistics, and a bunch of other things that I never think about anymore. I didn’t need them to program when I got out of school during the dot.com boom/bust much at all.

    Logic, particularly sets, plus statistics and combinatorics should be the most useful of the math I took as an undergrad, but a lot of programming as it is done now-a-days, seems to be Googling until you find something close, then going on StackOverflow and asking why it doesn’t work like the webpage says it is supposed to, that and reading documentation and trying to figure out what you actually need to do.

  • The author clearly does not have a standing desk.

    Agree that not everyone is cut out for this.

    I think the point of the video is to get more people exposed. It is a fact that we need more good developers. Let us cast a wider net.

  • Thank you, this is the honest truth. I just pity the flood of newcomers who are going to buy this snake oil from the latest media fad and come in to this field expecting easy money and ‘scantily clad women’ to quote another blogger. Forget all the way to programming, even getting in a *position* to program for money is doggoned hard, whether it be winning freelance projects or landing a job. Let’s see how many survive *that*.

    Oh, what’s that I hear, you want to start a startup and you are not getting into this for coding for others? Good for you! If you realize that is going to be 10x as hard (or harder) than the above to see any success (not to mention SLOW) – even better! Welcome to the community, I hope you do well. But if you think THAT is going to be ANY ‘easier’…

    Nothing in the world worth anything is easy. Everything worth achieving comes with blood, sweat and tears. Bill Gates, Mark, and others in that video paid that price, they just won’t admit it because it is not shiny enough for the media to cover.

  • Durbin

    I took the video to mean that programming is for everyone in the same way that music and art classes are for everyone. Music, Art, Athletics are incredibly difficult professions and unless you’re one of a select few, you will not be rich and famous from it. However, they are still incredibly valuable additions to a child’s education. Programming should be right there with them is the message that I took from this video.

  • I’m responding with a blog post: http://luu.bz/ZUi
    TL;DR: It’s more about educating the general that making them superstar coders.

  • Amber

    It seems these articles are written mostly by people with mediocre careers, who are afraid new generation of kids may put them out of their jobs. Stop trying to act like a gatekeeper. You could write a similar article about Math, Science or English and most of your points would still apply. And yet these are compulsory subjects in all schools around the world, because they teach people valuable skills (just like coding would) and it’s up to them whether they later decide to pursue a career in them or not.

  • godplusplus

    Thank you so FREAKING much!!!

    I love coding, I’ve been coding for many years and I make a living with it. However, that doesn’t mean it’s for everyone.

    Should it be taught at school? Maybe, sure, why not?

    But every person’s brain works differently. A person who’s interesting in psychology won’t be using much math, and the logic behind coding may not be that easy to grasp. A person who studies linguistics doesn’t need it either, just like I don’t really need to know how to draw: sure, it’s useful for everyone, but I don’t need it and I’m just bad at it.

    Is coding useful for everyone? No… My farmer grandparents have no need for it. Is it useful for a large amount of people? Yes, of course.

    Can anyone learn how to code? No. There’s not a single discipline that “everyone” can learn: driving a car, drawing, skiing… All those are way easier than coding, and there are many people who can’t do them!

  • I must honestly say I have totally different opinion on programming. That’s the part of my work, when I don’t have to worry about being creative, listen to some music and get into this crazy, crazy programming NIRVANA which makes me forget about everything that’s stressful. Then, when I am finished, I stand up, happy that it is working, that I am getting better, that I’ve tried some new technique, that there aren’t many people who would do it this way… Every time I look at an empty document, I know I have new opportunity to make things work better, cleaner, simpler, smarter and faster and I enjoy that feeling of “Tabula Rasa”. Each time I can’t believe how late it is before I manage to stop myself.

    For me it works great, if you do programming, enjoy it, don’t listen to people who say it sucks. You do it because you like it, why would you decide to do it otherwise? Keep up the good job, make progress and be happy! :)

    • The Cat Lady

      Yeah. There is a lot of Zen in programming. I have felt it many times. I would just stare at the ceiling and think about the coding problem at hand. Then the solution would just come drifting out of the shuffling code running in my mind. Fun. Awesome. :)

  • I like much of what the video had to say, but laughed out loud at the portrayal of what came off as a “typical” programmer’s work environment. I once interned at a place that had many of those fun perks and interesting environments. Even then, most of the people I worked with remained behind a cubicle and had little to no time to enjoy the perks.

    Wonderful entry. Thanks for sharing your thoughts.

  • TioLuiso

    Quite true

    That video is kind of over simplifying everything. Addition and substraction? The Maths I had to learn to get to adapt 3D positions from a Kinect to be able to move a 3D model were… Well, just a Little bit above additions and substractions. Could be very well insulted by that video.

    And yet… I this I can get a possitive message of all this. Programming as a job isn’t for everyone. But I really think learning programming basics as a hobby at early ages could really help. Of course, it’s one thing to plot a sinus function in Spectrum basic and another to develop a business N-Layer App with IoC, AOP and whatever. But you would get benefit of it, whether you ended working as a developer or not.

    That’s what I believe

  • Sharon

    Not all of programming is a picnic, even if you mostly love your job. But to really enjoy it you have to get that thrill out of conquering a problem and making the code do something you want. Coders are tinkerers, creators, mostly introverts, insanely curious, able to focus in extreme ways for lengths of time, great at seeing patterns in things, and absolutely want to make things better.

  • Dan

    Programming *IS* for (just about) everybody. Having an understanding of computers, thinking sequentially or functionally, and learning how to compose algorithms to solve problems would be beneficial for ANYBODY, regardless of their chosen profession.

    I’m not sure what the point is of this post. If the point is to complain about Zuck et. al. saying how valuable learning to code is: would you have a problem with McCartney saying how valuable learning to play music is? The chance of even becoming a professional musician is exceedingly slim, but I don’t think that famous musicians talking about how valuable it is to learn music would be misrepresenting anything.

    Or if your point is that professional programming is sometimes difficult, tedious, or unglamorous: work a shift at McDonald’s and get back to me. Seriously, what profession is it that you’re thinking of which would be so much more rewarding? Because you should probably go do that instead.

  • sahar

    Very well said on behalf of most of the programmers, espcially how it is to work in a dingy room of a software house. If it was so easy why would people spend so much money and years learning it in colleges and universities?

  • Iggo

    OMG, did you know that a detective job is not the one actually seen in Sherlock Holmes series???? And police officers don’t live like Bruce Willis, and medical staff is not as hot as people in Gray’s Anatomy and E.R.??? Did you realize that??? But… wait… people get educated and do their jobs, some more competent some less or not at all… hmmm… makes me wonder… your post… almost made me throw my computer out of the window!

  • GOD

    On 1 march 2013, i was thinking about same questions! there are already enough programmer in this world, but we can not change peoples, so after 10 mints i was like f*ck them.

    Do you wanna live in the world where your girlfriend program in assembly :X

  • Joseph Stalin

    Lisp still has too many parentheses.

  • I posted my comments on Google+. The tl;dr: the video is trying to convey two messages, and while that makes sense, by its very nature the two get confused together, and that leads to the misleading message.

  • Carl Hancock

    Programming most certainly is NOT for everyone. But how many kids never even know they’d enjoy programming or have an aptitude for it if they aren’t exposed to it? Requiring basic programing classes that provide initial exposure to the concepts and ideas of programming would be far more useful than the majority of the classes I took while in Elementary, Middle and High School. I think it’s a great idea. Expose students to it and then provide more advanced courses for students who wish to dig deeper.

  • bang right on target…Not everybody could be programmer same way…not everybody could be painter…or writer…
    I tried my hand on it…all i can do is hack some codes and make something ..thats it…i cant make things on my own…heheheh..being humble here…

    but still nobody ever regretted learning coding…
    i would rather recommend using python than any other

  • Nice thoughtful post. I think when you look at the reality of being good at anything, it takes a lot of work and wisdom often comes from pain. People like good stories and the Social Network was just that a good story with reality distorted to entertain not really educate. I like the video it tries to readdress maybe whats left of it bad to be a geek/nerd or code. I also agree with concept that learning to program even at a basic level will help you to understand how to tackle problems in any part of your life. But your right programming it is not for everyone, but you never know until you try..

  • Jorge Castro

    Sorry but the people taking this video and effort negatively are missing the point completely.

    You all sound like if you feel no one compares to you and few people are the chosen one to do some divine activity, calm down and take a breath.

    The point is and is how I see it since I noticed the code.org initiative is that coding helps you learn new skills, is just like mathematics or history, coding is about logic thinking, how to think better, how to solve everyday problems just by thinking orderly, having an input and an output as a result of a process, that is what a lot of people need to learn and YES, CODING HELPS.

    You sound like if no one is allowed to code just because computer sciencie careers are hard to achieve, no one is pretending that everyone becomes a software developer, yes engineering is not for everyone like other have said, but coding of course if for everyone and should be for everyone. I would love to teach people how to code and solve problems through coding, I think you wouldn’t do that.

  • pulchras

    You absolutely understood nothing.
    What you are saying is that programing is not for everyone. What an obvious thing… ¿Do you really think there is something that absolutely anyone can become an expert at? Certainly not…
    That video is selling a dream, not a future anyone will surely reach. If there is someone thinking his/her future is going to be candies and easy money, then that person has a different problem than being cheated by an illusory video. That person has just not being told how difficult and hard work requiring is to reach success.

    This is kind of hook designed to make programming an interesting skill to learn. It is purely a challenging video to bring programing closer to people. You are not going to get rich just by trying it? sure, like you are not going to get rich just for having acting lessos, writing rap songs or playing basketball… but does it mean you don’t have to try?
    let me blow the mistery away…. NO

  • Jacqueline Schmitt

    GREAT article. So few keep it real and you certainly did. I found this enlightening, refreshing and very candid. Thanks for taking the time to share…

  • Leonardo

    I think everything you say is inherently true in a twisted way. But I also think you didn’t undestand a thing about the video.

  • Nice post. I often wonder though, could we turn more people into programmmers out of the regular population.

  • CC

    Great post. I wholeheartedly disagree with the ‘What Most Schools Don’t Teach’ video. Although there are people who say otherwise, a lot of people CANNOT learn to code, no matter how hard they practice. There has been plenty of research into it. ‘The Camel has Two Humps’ is a paper on the subject and a great read incidently. I’ve also seen it first hand from my own failed attempt at a CS degree.

    Yes, we can all learn the syntax and a few basic control structures, but a lot of people just don’t have the ability to think through the complex problems that programming presents. Non-programmers just can’t remember the call stack when going through the procedures.
    Coders also often talk about breaking down large problems into smaller, more manageable tasks. This is misleading as I (and many others) found that all these smaller problems have to fit back together into the overall picture, so in reality you do have to bear the larger problem in mind, in a sense…

    This video also talks about coding as a life skill. It really isn’t in any way. Everyone should know how to use a computer, but not everyone needs to be a programmer.
    It also trivializes a career discipline which takes decades of practice. I’m a video game designer and I work with coders everyday. They are professional programmers now as they have been coding since they were kids. There’s a world of difference between someone who can program a little, and someone who programs for a living.

  • S.

    Thank goodness for your reality check b4 I go waste my time n energy in another attempt at changing jobs.

  • Duber

    Totally agree, good post !

  • The Cat Lady

    Wow. I love and agree with everything you wrote there. I have been programming off and on for 50 years. I wrote my first program in machine code (that’s all there was at the time) back in the early 60′s. My family lived at Coco Beach, FL and my Dad was a Range Rat and Programmer for Philco Ford at Cape Canaveral. We watched the rockets go up from our front lawns. LOL.

    All my little program did was add two numbers together and display them on the monitor. Very simple stuff. But when it worked, it was just like magic. No matter what two numbers I gave it (within the limits of the system), it added them together correctly and displayed it real pretty, every single time. I was hooked.

    Programming is not like any other vocation. You can’t just learn it and go. It NEVER stops evolving, so you are continuously learning all the time. That’s part of what makes it fun, for me. Not everyone has the patience for that. As for getting rich? Not hardly.

    Do it because you love it, or don’t do it at all.

  • Corvina777

    Thanks for this article – it’s quite encouraging!

    As a student with no programming knowledge at all before I started studying it, I often get angry and discouraged because things just don’t want to work out the way I imagined they would. But then, when something works, it feels great and inspires me to try new things!
    I knew it would be hard, but I don’t want to give up yet. I kind of started studying because I wanted to challenge myself – and wham! I got everything I asked for! :-D (…Almost more than I can handle.)
    Sometimes I’m at the edge of breaking, but then I tell myself, okay, you chose this, you can do it if you try hard enough. Reading articles like this one also helps avoiding a crisis.

  • Ralph

    I disagree with this blog post. Anyone can do anything if they put there mind to. It just takes hard work and dedication. Confucius once said “Those who say the Can and those who say they Can’t are both usually right” but of coarse programing just like everything else is something you have to love or enjoy in order to succeed! For instance anyone can play basketball if there hearts are truly in it but it take a lot of hard work to become really good! Programming is the same. Only people who are truly interested will stick with programming. The FACT remains no one is limited to what they can learn or do our brains are all the same we all have the capability to learn and become skilled.

    • Notice how you say “they can program if they are truly interested.” What if they are motivated by solely money? What if they abhor mathematics?

      How is your principal ideology different than what I discussed?

      • Ralph

        I re-read the post, I guess before I got the sense that you were trying to discourage people but now I see what you mean. I agree to a degree especially with the will.i.am part where he was saying that everybody and there dog needs to be able to “read code”. Coding just like everything else doesn’t need to be and won’t be done or understood by everyone but for those who are interested whether it’s motivated by money or an interest in programing or even small tasks that they need to incorporate into there work it is something that is learnable and I just got the sense that you trying discourage those newcomers. I see what you are saying now interesting read.
        P.S. I hope I didn’t offend you, just my opinions.

  • Toby

    More on STEM-herding here.

  • Greg Graham

    A career in programming is definitely not for everyone, and programming is certainly not required for survival. However, in our increasing reliance on computer technology for our daily lives, I think having some training in programming will help people at least have a better idea of how these machines work, and will help people use the technology and make better informed decisions about it, even if they never write another line of code.

    The other reason to get most people, especially children, to learn some coding is that some of them will discover they are good at it and like it. This discovery may lead them to a career choice that is good for them, and it may help remedy the shortage of good people pursuing computer science and programming.

  • cho senson

    I agree with some of your points, but not all. I find the overall idea of not scaring people away from programming, and all that it encompasses, a good thing. This country needs to improve it’s tech standing. Sure, programming can be arduous, nerve wracking, tedious. It is also fulfilling, expressive, FUN! This all depends on what you are doing with your skills.

    Judging from the paragraph which starts, “I sit here this weekend, droning away writing and reading code for a large code base I don’t understand “, you work for someone else. You are an integral part of the team, but you are not happy. What will make you happy?

    Please don’t allow your feelings cast doubt on a good idea. I love programming; even the 22 hour got-to-get-this-done sessions. Yes, it is stressful at times. Yes, it can be hard. What is wrong with learning the basics? I don’t mean a certain programming language; Java for instance, but learning things like structure, variables, scope, loops, else/if, switch, booleans, and so on. Also, the concepts, reasoning, and logic. These are the skills which can be used in many other fields. The math skills argument; depends on what you want to do. Certainly, you need more than basic addition/subtraction for mast things, yet, a strong 5th grade math base is a good start. I believe knowing Algebra is a requisite if you want to step away from the basics. But why scare away anyone from learning? I am an adult who taught himself Programming, Algrebra, Trig, Geometry, and Calc, along with the many other skills necessary for doing what I love. If an old dog like me can do it, so can anyone who wants to.

    I have personally witness a 3rd grader learn to program in 8 weeks; and he had fun doing it. Sure, the game he created was simple compared to today’s standards, but it had all the basics and even some more advanced math statements. His game had true levels; the game became harder. It had scoring and timing. It allowed for restarting the game or playing from the where you died. He even designed the game for one or two players. Yes, a 3rd grader did this. Is he a rarity? NO. He shouldn’t be. He had a truly great teacher. If more people took the time to truly teach, to reach out and inspire, this country would be so much better off.

    Is programming for everyone. No. But the base skill-set should be!

    Thanks

  • me

    I’m a programmer too, with about 14 years of experience and i subscribe every line of text you wrote.
    Excelent article!

  • ed

    I did a postgrad course that included some java about 10 years ago and panicked because we were thrown in at the deap end and my brain refused to understand it. I ended up 7 years in technical support. I recently went back in to web development and became frustrated at having to rely on high level frameworks so I am studying a course in application development. Java, C++, objective-C. Coding is not something that you can bluff for very long. I don’t know if i even enjoy it but i am stubborn and when you understand something properly you feel a small step towards calling yourself a coder. It also definitely helps you to understand a computer and all that is wrong with Microsoft. Coding under duress for a beginner is hell. The more you try to think, the worse it gets. You have to relax in to it and you cant rush the learning. I will probably still be playing with arrays in 2 years time but you can’t build a linked list until you really understand how to do it. People should learn to do all sorts of things and challenge themselves. Discovery is all there is really.

  • john

    Very inspiring and real. Just real talk. Love it!

  • bored

    Yes, you are right however I think 199 of 200 programmers can’t program, so yes it’s a waste of time for many people; end them up doing other jobs not related to coding … developing is a hard work not just fun

  • AParry

    Absolutely fantastic article !! Thanks for sharing.

  • Michael Su

    Or some don’t know if they can take being shoved a million unit tests for code they are clueless about and give up and try their luck at music instead, like Jonathan Coulton.

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Before you post, please prove you are sentient.

Earth orbits the ...