“I think everybody in this country should learn how to program a computer because it teaches you how to think.”
-Steve Jobs

9 Responses

  1. Another thing I’d point out is that most people are programmers without knowing it. Even inserting their styling on their Myspace page (when that was a thing) was programming. And Excel spreadsheets is among the most common forms of programming that most people don’t even know they are doing. I had a TI-92 calculator in high school, and so much of that is actually programming to get it to do anything. I explained what functions were and how to use them to my fiancee and the moment of understanding on her face was priceless.

  2. I know the basics of web design, and C++, and i will admit, it has helped me see more, so to say. Its basically when I see a website or code, I understand how it works, even if I may not understand the language itself. I want to expand on my knowledge someday, but I am in no rush. I am glad to know as much as I do just from a perspective of “it never hurts to know something.”

  3. A lot of people in the comments thread so far are getting the wrong end of the stick from this. The first commenter notes that “[There are] five separate languages that you need to familiarize yourself with in order to [program for the web” and this is about a million steps further down the line than anyone is trying to advocate for here. I think it’s important that you separate teaching in a particular language or environment, or to solve a particular problem, from the process of programming.

    I learnt Lua to chip in with some WoW addon projects and to write some of my own addons. I learnt Regex to help while playing text-based telnet games (and more Lua to write code that runs based on regex matches). This is pretty much all the programming I can do. The knowledge I built up has been invaluable throughout my career.

    I learnt more about how computers (and by extension, us when we use them) go about solving problems from that process than pretty much anything else I’ve ever done. I lost all fear of the “black box” effect and became willing to jump in whenever there’s a technical issue with anything. I learnt how to work with the computer and not feel like I’m constantly fighting against it, like it’s a strange animal I barely understand yet am expected to perform circus tricks with.

    There are a myriad of things that programming teaches you that aren’t just “how to write code for a living” (I don’t, I’m a corporate economist, the hardest technical thing I do (that’s actually in my job description and not just favours) is push buttons on IBM’s Cognos system). It teaches you a set of skills in problem-solving, logical thinking, and using the tools that are available to encourage creativity that you can use to do anything. And in a world where computers are used for practically everything, it teaches you to get stuck in rather than be afraid of them.

    Bring on the school programming courses.

  4. Okay, but I’ve tried to learn how to program three seperate times in my life, including within a four year period in University where I had tutors at my call who were trying to teach it to me, and have failed to learn it everytime.

    I guess this just means I can’t think. I’ve love to be able to though. Which is proably why I keep trying.

  5. I think this is true to an extent; even if you never plan to program something yourself, I think it’s important to at least know how it works. I’m an artist, and I’ve dabbled a bit in websites and games. I ran a few fan sites back when I was in high school (the 90s, heh). I taught myself basic HTML, then later a little Flash and a little CSS. I’ve also worked with a couple of programmers on fan games and indie games, and though I never got good enough to program them by myself, I knew the basics of how it worked. Knowing the limitations of a program or an engine and being able to work within them has been an invaluable skill for me, and has made me a more attractive candidate to potential employers.

  6. I think more people should learn, but I’m not sure if everyone needs to. I was thinking about the idea of teaching my fiancee to program, and I just don’t see it being something conducive to my health.

    Now, I’m already a software engineer. When I was watching this video all I could think about was how much I wish my office and what I was doing looked more like the ones in the video. But I think that it is very unrepresentative of what 99% of software engineers will actually see once they get out there and actually work.

    The selfish part of me likes that there will be a shortage. It means those of us who have chosen this path will be more in demand, and therefore can command higher salaries and not have to worry as much about jobs. One of the good statistics I’ve heard about the recent recession is that the average unemployment in the software world was only around 0.5%… in other words, we fared among the best. Sure there weren’t many new jobs, but most of us still at least had one.

    I also marvel at this industry in general. Software Engineering barely existed 50 years ago, and in that time we have done an amazing job at integrating ourselves into virtually every business. No other industry in the world can say “you need one of us if you want to be successful” to virtually any business. But its also a two-edged sword, I had a professor once that told me that our goals as software engineers was to put someone else out of work, including yourself. Quite sobering to look at it that way, but on the other hand- if you can manage to craft software that can do your job for you, just imagine your next challenges.

  7. I agree that it’s one of the most important skills a person can learn, but I do question what would happen if it was so common. The industry may become over-saturated with programmers very quickly.

  8. I disagree. Not everyone is of the programming mindset. As such, not everyone can effectively program something. Seeking higher eduction isn’t even the answer, nor should companies necessarily be looking for graduates in all cases, as there are too many curriculums that should include extensive programming and don’t. Furthermore, certain aspects of programming are far too daunting for a lot of people.

    Consider Web programming. To make a site that doesn’t even serve up dynamic content, you more or less need HTML and CSS, maybe JavaScript. If you want to serve up dynamic content, then you also need to add something like PHP and SQL. That’s five separate languages that you need to familiarize yourself with in order to do one thing. Sure, you can do a lot with those once you know them, but we really should be working to make certain aspects of programming more approachable to those who are already intimiated by programming. Why can’t we have one Web programming language that does everything instead of trying to retain compatibility with older versions of existing programming languages?

    I love programming, but the state of Web programming completely disgusts me, personally. It’s become standard and accepted to misuse certain tags, all in the name of backwards-compatibility. CSS is being used to strip formatting from elements, rather than just adding to it. What’s the point in using HTML as a base when you need to use another set of markup to complement it, as well as to fix its inconsistent implementation between browsers?

Comments are closed.