9 ms·
A lot of people are getting attached to the "every American" aspect of things, and I think its important to note the distance between "knowing how to code" and
by jmduke 13y ago
A lot of people are getting attached to the "every American" aspect of things, and I think its important to note the distance between "knowing how to code" and "becoming a programmer." Amateur programming (for lack of a better term) like basic Python for data analysis or HTML/CSS to work on Wordpress sites (Hell, one of my friends who's a Social Media Manager learned Python to create some QoL scripts for her day-to-day routine.) is growing increasingly popular amongst recent grads.
"Whether you're a young man or a young woman -- whether you live in a city or a rural area -- computers are going to be a big part of future. And, if you're willing to work hard, that future is yours to shape."
It's hard to argue with the central message there, but we must be careful not to conflate that with the necessity of getting a CS degree. Every American should probably be able to change a tire. That doesn't mean every American should be a car mechanic.
- TallGuyShort 13y agoI love your parallel between car maintenance and coding, and I have repeated it many times myself. I think changing a tire is a reasonable thing to expect every driver to be able to do. Likewise, I think understanding SSL errors is the kind of thing every computer user should be able to do. Not code, necessarily, but understand something about this system you trust with most of your life.
- mhurron 13y agoSo how is learning to code going to help with basic computer use skills? One does not imply the other.
- gknoy 13y agoUnderstanding that the computer is a stupid, un-magical machine which obeys only (and exactly!) the instructions you give it is somewhat of a prerequisite for successfully writing computer programs. (Not exactly true, but it's very helpful.) Understanding that the computer is non-magical also means that your computer users may be more likely to understand how to troubleshoot errors ("Was it something I did, or something out of my control?").
- mhurron 13y agoCoding doesn't teach you that. I have programmers that write commercial software opening tickets to change their shell prompt, or to enable VNC on a Linux build server because they 'can't be expected to learn how these systems work, they're programmers.' What you want people to learn is basic system maintenance and troubleshooting.
- jiggy2011 13y agoIt helps a lot in a general sense, being able to reason through how a system might work can give you a lot more confidence in figuring out where to start on a problem. Of course when it comes to very specific issues it is always nice to have the luxury of opening a ticket and letting somebody who can do it 1/10th the time fix it for you.
- khawkins 13y agoI'm actually surprised how hostile HN is in these comments, considering that I thought the popular sentiment was similar. Every other day a new "learn how to code" post hits the front page, despite, I'm sure, most people who are commenting/upvoting don't need the tutorial for themselves.
- TallGuyShort 13y agoI don't think the GP intended to be hostile. I think he's saying that people should learn some coding (more than they do now), but not necessarily as much as many others are suggesting (less than a CS grad does).
- deleted 13y ago[deleted]
- pmiller2 13y ago>I think its important to note the distance between "knowing how to code" and "becoming a programmer." Very true. I know people who are highly educated but have no idea what computers are capable or incapable of doing. On the other hand, more people actually know how to code than know they know how to code, thanks to Microsoft Excel. See http://research.microsoft.com/en-us/um/people/simonpj/Papers/excel/ http://research.microsoft.com/en-us/um/people/simonpj/Papers... for instance, where Excel is referred to as "the world's most popular functional language."
- humanrebar 13y agoMaybe if everyone completed a few software projects, we would have better social appreciation for the difficulty and scale of large software tasks.
- nickff 13y agoOr people might under-appreciate the complexity of software. "A little learning is a dang'rous thing; Drink deep, or taste not the Pierian spring".
- humanrebar 13y agoFair point. But computers are basically magic to a lot of people. Even having a common vocabulary would be an improvement in my opinion.
- nickff 13y agoI agree that a basic understanding of computers would help people; I think that the clarity of syntax, and logical operations would help many people reason more clearly. I also think that schools should teach the history of the transistor with as much emphasis as the history of the industrial revolutions (or maybe even the civil rights movement), because of the enormous impact Shockley's innovation has had on human welfare. I am not sure that appreciation of complexity is a worthwhile or even an achievable objective.
- badman_ting 13y ago> I think its important to note the distance between "knowing how to code" and "becoming a programmer." Sure, except we talk all the time about how bad hiring practices are in our industry, how bad we all are at discerning talent. So I don't really see this being a positive thing for existing developers (increasing supply and pushing wages down), though who's to say we deserve the situation we're in presently? Large employers in this company would like to have labor costs reduced, especially for costly positions like software development. I'm not saying that is necessarily a sinister thing, but things like this should be thought of in the context of reducing labor costs. That's all it is, I think --as opposed to fancy notions about democratizing technology and so forth.
- theseoafs 13y ago> Sure, except we talk all the time about how bad hiring practices are in our industry, how bad we all are at discerning talent. So I don't really see this being a positive thing for existing developers (increasing supply and pushing wages down), though who's to say we deserve the situation we're in presently? In what way does high school kids learning to write simple Python scripts affect your career as a software developer? We're talking about giving students a baseline knowledge of programming here.
- badman_ting 13y agoIf you agree that teaching people to code will result in more professional software developers, which seems reasonable to me, we'll have more of them and the cost of any one of them will be reduced. And again, the skill thing is diminished because we all suck at figuring out who the talented developers are. I'm not saying we should hoard the coding knowledge or whatever -- that cat is already out of the bag. But if the president is saying nice things about coders, maybe think about what reasons he could have for that besides the goodness of his heart.
- theseoafs 13y ago> If you agree that teaching people to code will result in more professional software developers, which seems reasonable to me, we'll have more of them and the cost of any one of them will be reduced. I'm not sure I can agree with that, though. The barrier to entry is already really damn low -- the kids who are seriously interested in programming are already learning to program anyway, because it only costs them their time. The net effect will probably just be that the average student will become a bit more knowledgeable about how software works, which is pretty undisputably a good thing. If you go into a high school district and make a home economics class mandatory, are half of your graduates going to become chefs? Of course not -- only a few are going to do that, and they were probably going to do it before you even made the class mandatory. The only difference is that now everyone knows how to cook for themselves. > And again, the skill thing is diminished because we all suck at figuring out who the talented developers are. On the contrary, I think giving everybody a baseline knowledge of programming could have the opposite effect. If you study English at a liberal arts college and blast through the Codecademy Javascript tutorial over the weekend, you can see why you might think that a career as a programmer would be good for you -- you don't have any technical friends to talk to about what you've learned, and Codecademy says you learned everything there is to know about Javascript, so obviously you must be ready for a web development position, right? You have to know what you don't know, and the problem with unqualified developers is that they don't know what they don't know. If everyone learns how to write functions in high school, then you're acutely aware that there's a whole world of stuff you won't know unless you study independently. > I'm not saying we should hoard the coding knowledge or whatever -- that cat is already out of the bag. To be honest, most of the objections to the "everyone should learn to code" suggestion sound like that. It seems like everyone is extremely concerned with protecting the value of their own education, no matter what the cost. > But if the president is saying nice things about coders, maybe think about what reasons he could have for that besides the goodness of his heart. What are you suggesting here? The president has an evil plan to destroy your livelihood?
- Crito 13y ago> Every American should probably be able to change a tire. That doesn't mean every American should be a car mechanic. I agree with that entirely, and a similar "fix a flat" knowledge of computers should also be expected. What perplexes me is that "learn computers" is a popular thing to advocate, but I have never heard of the president asking Americans to learn their way around their car.
- hdevalence 13y agoCandidate Obama did, pointing out that maintaining adequate tire pressure would obviate the need for more drilling. http://abcnews.go.com/blogs/politics/2008/08/obama-pushes-ba-2/ http://abcnews.go.com/blogs/politics/2008/08/obama-pushes-ba...
- Crito 13y agoWell, that is something at least. Fair enough. I still can't shake the feeling that the "everyone must learn some coding" thing is a meme with unusually high coverage. I had not read it until I saw it linked in this thread, but I think this hits the nail on the head: http://www.codinghorror.com/blog/2012/05/please-dont-learn-to-code.html http://www.codinghorror.com/blog/2012/05/please-dont-learn-t...
- qq66 13y agoThat's because car knowledge, at least for men until 20-30 years ago, was the kind of knowledge that fathers passed onto their sons voluntarily, without needing a presidential exhortation.
- netcan 13y agoI think learning to core for a lot of people would be useful to them in heir job in the same way that learning to work on machinery is to a farmer. Even if itts not their speciality, it relevant to their job.
- marincounty 13y agoEver dude should know how to work on their automobile. Especially these days, when it so easy to look things up.
- negamax 13y agoI am guessing it's going to get substantially easier to program going forward. Look at amount of tools and technologies we have access to. Communities, Github, Refactoring, Intellisense. So many things just out of the box. Many ready made, battle tested libraries and frameworks. It's going to get a lot easier for a non computer science person to do some end level programming. Like dragging some blocks (just thinking out loud). Or encouraging youngsters to learn to code now will unfold a future which we can't even fully fathom now (AI, robotics, drones, medicinal advancements)
- ilaksh 13y agoThe main thing holding back software development is source code. And the reason for that is culture rather than technology. Because you aren't a 'real' programmer unless you are typing colorful complex text. That's just what the definition of a programmer is. However, in most domains, interactive graphical tools have been invented and reinvented numerous times that are more efficient than text-only programming. Those tools remain unpopular because of a cultural failure to recognize that programming does not require colorful text that is difficult to decipher.
- deadghost 13y agoWhat? GUI programming more powerful than colorful text? You're gonna have to back that statement up.
- rolux 13y agoAt the same time, you can argue the exact opposite: Having to know all these libraries and frameworks makes programming substantially harder. When I was growing up, in the 1980s, I saw 10-years-olds around me code in assembler. They were not geniuses, they just wanted to draw sprites on a screen. I don't think that, say, learning CSS would have been equally attractive.
- mrobot 13y agoThe computer scientist, or mechanic, is the builder of the human extension. But if the user of this extension understands core rules of telling things what to do and how to do them, then the extension is more powerful. The user can adjust the extension to fit more complex needs. So i guess my argument is that learning to code is more like being a better, more capable driver of a more dynamic car. You don't need to make a business of building the dynamic cars. And since this extends to much more than just driving cars, it just means for a higher bandwidth interaction between each other and our environment. More like speaking a better language that packs a much greater punch. Maybe one example: if i can quickly release to consciousness an interactive system to express an idea i've had or discovery i've made, it just disseminates faster than if i were to use back and forth conversation, write a book, lecture, make a video. The packets are denser. Sure, i could wait for someone else to write the interactive system for me, but i'd have to communicate it to them. If they don't get it right then there's more back and forth, more latency. Wouldn't it be better if we were all just more capable?
- anonu 13y ago>> QoL scripts Whats QoL? Quality of Life?
- jmduke 13y agoCorrect. Specifically, she used TweePy to grab recent followers/unfollowers and try and mine some basic information (bio, loc, etc.)
- robbyking 13y agoI agree. For example, my cousin is an artist, and building a web portfolio with functioning store was a requirement for graduating.
- capkutay 13y agoVery well put! There should definitely be a layer between software engineers and people who can 'code'. Hopefully there will be a way to categorize these types of contributors so enterprises and the job creators of the world will know how/when to staff them.
- United857 13y agoWe teach writing as a required subject in schools, without the expectation that everyone is going to be a professional writer. We teach science without the expectation that everyone is going to be a scientist. We teach physical education without the expectation that everyone is going to be a professional athlete. These are all good life skills to have even if you don't learn enough to make it your career. So it should be the same with programming.
- toomuchtodo 13y agoWe should also be teaching how to change a tire, how to cook basic nutritious meals, personal finance, etc.. “A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.” ― Robert A. Heinlein
- Tuftelien 13y ago> how to cook basic nutritious meals, personal finance, etc.. This is already being taught (atleast here in Norway.)
- toomuchtodo 13y agoUnfortunately, in the US, it isn't being taught :(
- jasonlotito 13y agoYes it is, depending on where you go to school. 50 states are not all the same.
- Houshalter 13y agoThere were classes like this at my school at least.
- velodrome 13y agoAsking the American people to code is not going to solve the nation's problems. What it does is add one more tool a citizen can use to make him or herself more useful to society. What the president should encourage people is to become a MAKER - a general term for DIY manufacturing. http://en.wikipedia.org/wiki/Maker_culture http://en.wikipedia.org/wiki/Maker_culture People will not learn to code unless they have a reason. Maker is more people trying to solve their own problems. It may happen that others may have the same problem and there may be some opportunity.
- j1z0 13y agoI agreed totally with the every american should change a tire thing. And learning to code is awesome, we need more developers, or even if people won't be developers at leafs they have some idea what is involved. Next step, teach everyone in america, how to keep windows free of viruses... nah... maybe teaching everybody to code is easier. :)
- jblow 13y agoI am 42 years old and I have never had to change a tire, not once.
- scotty79 13y agoEven bicycle tire?