No, Mr. President, Not Everyone Needs to Learn How to Code
thewire.com
thewire.com
That seems to imply that we should teach things like if/while/for constructs , but do so without teaching an actual programming language? This seems like an odd statement.
Not sure I agree with car engine analogy either, it's far easier to outsource all of the mechanical work for your car than it is to outsource all computer maintenance tasks. For example a car user is not expected to be able to install third party parts to their own car and most car owners have no need to do this. However we do expect users to be able to choose and install software on their own computers.
"Could the president mean everyone should understand the basics of how software works, I don't think so, I think rather that he thinks everyone should learn how to write every piece of code they use so they can get a CS job"
Given two options, the author decides to use the less reasonable interpretation not because it is most likely but because it is easiest to write a flame-filled article about.
The Math Curriculum at my high school was as follows:
* 9th Grade - Algebra
* 10th Grade - Geometry and Proofs
* 11th Grade - Pre-Calculus
* 12th Grade - Calculus
It would have made sense to teach integrals using for loops, and some proofs using if/else statements, but we did not use either of these methods.
Loops and if/then aren't very difficult, I don't remember anybody struggling with that when I was a TA. Logic, on the other hand was a learning curve for the students who dozed through 10th grade math.
Presumably using some ordering where algebra < calculus. I don't know what your high school algebra was like, but mine was certainly much harder than derivatives and integrals :p
Personally whenever someone can give me a percentage quickly (sometimes at all!) I am impressed. I tend to feel math education is lacking (in America/general). I especially like articles that surface on HN with math and even more when they have illustrations/examples [1]. It's amazing how many times I had read about it before it just clicked.
I remember doing "proofs" (although they were very simple) in high school.
He didn't say "everyone go out and become a programmer". He's using his bully pulpit to inspire kids to explore the deeper side of computing, beyond video games, etc.
In my personal case, my dad and my uncle both encouraged me to get involved in technology via programming. I learned about data structures and basic programming by inputing BASIC programs when I was 6 or 7 and learned about things like memory management playing games on my aging PC XT in the early 90s.
I ended up a infrastructure guy, not a programmer, but that exposure was personally inspiring to me. The President almost certainly inspired a few thousand kids to take a look at programming.
Which, of course, is the problem. I'm not an American, but when I was younger, there was a big push by my government to inspire kids to look at teaching. And they did. In droves. Out of interest, a quick tally of the high school friends I kept in touch with shows that 60% of them attempted to pursue teaching as a career in some capacity.
Naturally, when you saturate a market, you get all the problems of market saturation. Most of them struggled to find work, often landing only temporary positions, and several gave up on their dream completely after not being able to find any work in the field. Those who did find jobs as teachers have watched their incomes decline.
The fear many have is that coding is just being pushed because programming is currently, like teaching was several years ago in my area, experiencing more jobs than people. By promoting coding as "the future" we are sending the message to kids that if they just learn to program, they too can walk into a $100K per year job like programmers do today. Except it won't play out that way. It never does.
Silently introducing coding as part of the existing math/computer curriculum seems like a pretty good idea. It is a useful device. However, having people like Obama, Gates, Zuckerberg, and other famous people to talk about how important coding abilities are makes it look like a play specifically to increase worker numbers, which will end badly for anyone following that path.
I think the difference between "You should teach" and "You need to learn to code" is that coding is a practice, not a profession. I apply programming skill to IT infrastructure activity, but I'm not a dev. My wife is a financial analyst/Excel commando, writing all sorts of adhoc code snippets for BI and other purposes.
So True.
Okay... I got fooled. I clicked on this link bait because I read it quickly and thought, hey it's from Wired and they're somewhat reputable in the topics I follow. Oops, nope, it's the Wire.
Well, you got me "thewire.com." You got my impressions with your poorly written, straw-man argument. You got my attention writing things like "plugging hot career" and "blowing air" to instill some sort of emotional response. You even got me going back to this horrible article so I can accurately quote your hyperbole in this HN comment.
Bravo. Now let's downvote this so we can stop sending them traffic.
"No, Your Highness, Not Everyone Needs to Learn How to Read"
However, learning how to do code teaches you problem solving and it does so by teaching how to break down things. This is the MOST important skill in life. That's why coding encompasses ALL the other skills, because if you know how to code you can learn anything else, heart surgery, physics, biomedicine, a summer sault, save money etc.
You can also learn how to break down things through studying something technical such as Bio Engineering, Physics or Math, however these academic studies are hard and not for everyone! In turn, coding is simply the best way to learn problem solving, because it shows you results immediately and everyone can learn it.
With everything else you can BS your way through, not with coding.
Now, there is one thing that coding doesn't teach you necessarily. It doesn't teach you is how to connect with people, how to make friends, how to excite people or how to . If you are a really curious person, it also teaches you that, because the study of social dynamics/how people communicate is also all based on logic and breaking down things. However, it takes a while to learn that.
If you know nothing about cars and your mechanic is out to screw you, your losses are pretty limited to the value of your car.
A company that I do side work for is out $250,000 from an IT project gone bad from a previous consultant. If he knew literally anything about coding, he would've spotted the tell-tale signs of a sheister early on and perhaps saved himself a quarter million dollars.
I don't know of a downside to kids learning basic coding. If they don't like it, don't do it anymore. But at least they'll have a baseline knowledge of it. I learned how to cook french toast and sew in home economics in school and I don't recall at the time articles like this saying how it's not necessary.
Mis-applied knowledge can be a terrible thing. I've worked with people who took one night-class in metal shop, and suddenly were giving tips to the industrial design people. If someone with a little bit of knowledge is in a position of power and decides, "No, we're doing this project in C because I took a class in C and the teacher said it's the most powerful language," then things are going to get ugly, fast.
To use the mechanic example, it'd be similar to someone telling their mechanic to put 10W30 into their car because their cousin swears that it's the best oil around (I know nothing about cars).
The cynic in me says maybe people are so upset by the suggestion out of protection of their own interests, i.e. if everybody learns to code does that marginalize them & their cushy programming job?
As a 41 year old who has worked in IT since I graduated high school at the age of 17, few people have more to lose than I do if there is an influx of new programmers willing to work for 10% of what I make. But I don't care about that. My parents struggled financially to buy me a Commodore 64 in 1982. If not for that decision on their part, I'd likely be in a very similar circumstance to most of the people I graduated high school with. With no degree, no marketable skills and making $10 per hour somewhere.
I think other people should get a shot at the same chance I received.
If you're 41, you've probably been in the industry for a while. If you reflect upon the past, you may notice that the massive increase in programmers in the past few decades has not decreased earnings for individuals. Instead, we've seen explosive growth in software's reach and productivity.
Sure, they might be willing to make 10% of what you make, but some other company is offering 50%, and a third company is offering 120%... As long as software produces more than it costs to make, there will be increases in salary.
Step 1: Celebrity/famous person/politician makes a bold statement
Step 2: 50 bloggers simultaneously come up with an article titled "Why x is not true". They then write the content around the headline. First one to publish "wins"
It's predictable, really - and perhaps even more so on HN. HN's is often like this:
Step 1: A post makes a bold statement or question in the headline and gets 100+ upvotes
Step 2: 5 bloggers simultaneously come up with an article titled "Why x is not true". They then write the content around the headline. First one to publish "wins"
Tedium. We've become someone's audience.
Personally, I think it's just as effective to buy every child a chess set.
Everyone needs to learn to think and create. For that coding is a great option, but not necessarily better than any other hands-on art or science. Having fun and being able to express yourself and explore your ideas is the most important part.
I'm kind of torn on this because I know that a lot of people just don't have any interest in coding. Their natural aptitude flows in a completely opposite direction, they enjoy things that I could never enjoy, and I don't see why I should be forcing them to code just as they would never force me to do what they like. On the other hand pretty much everything is going to be software in a very short amount of time, and those people are going to have a hard time of it if they don't learn to code at least a basic level so they know something about what's going on. Does that make coding as fundamental as reading? Possibly.
I think some sort of remedial coding should be a requirement in high school until the student meets a reasonable standard of ability, and then they should be let off the hook to be allowed to do what actually interests them.
Please elaborate. You can write some html? You've done hello world in JS? Mastered the basic constructs? Or have you worked on teams writing in strongly typed languages developing large OO systems? Somehow I doubt it.
It's important because the phrase is being used to imply a position of authority while telling people they shouldn't learn something.
"In the future, I want my mom to tell a robot to get 3 tomatoes, and if they have apples, get 5"
Although, I'm still not 100% convinced that learning to code is of any benefit to someone not working in the technical field, but I have to admit: touché.
But they are important to teach children how the world operates and to make them think.
Computers are becoming more and more ubiquitous. The web is hostile. The best way we can protect people is by educating them.
So maybe, learn to write shell (or batch scripts). JavaScript and Python--in my experience--doesn't help me handle my day-to-day tasks.
Politicians say lots of things. He did not mean it. He must already forgot what he said.
What is more important to him is those things he will never tell you.
Don't waste your time on this.