32 comments

[ 3.1 ms ] story [ 63.5 ms ] thread
I am teaching everyone to think. Everyone should read this [1] article by James Somers. Code is a problem not the solution, in my experience we have a huge lack of creativity and domain knowledge. Cultivate those, and please don't rob your children of their childhood with STEM. Like Papert, the computer should be a tool FOR education, not the goal.

[1] https://www.theatlantic.com/technology/archive/2017/09/savin...

Thanks for an article with a relevant and related point to make. It sure made me think about what I'm doing, and gave me a glimpse of a possible future.

"..a software developer’s proper role [is] to create tools that removed the need for software developers."

While I generally agree with the point that teaching problem solving is valuable in itself, my life would be far different if I didn't know how to write code. I have a number of friends that are exceptionally good at problem solving, yet they're struggling in dead end jobs that don't pay enough. Software engineering, while certainly frustrating and occasionally tiresome, has given me the financial flexibility to do more or less whatever I want in my off hours. Hell, it's given me the flexibility to even have "off hours". Programming isn't for everyone, but it's certainly not a bad thing to have at least a little experience with.
I have made more money in my lifetime with Excel than I ever have with code. Datapoint of one.
It's certainly not the only way to make lots of money, but it's a way.
The article was specifically about young children, young minds. The author seems to allow that when children grow up, they're free to learn to code then.
shrug I learned to code very young and played with it off and on throughout my school career. If I hadn't done that, I don't know that I would have chosen software engineering as a profession.
I don't know your life but I suspect that more than programming you leaned "advanced use of computers".

I both believe that this is really valuable and that "just programming" non a good subject for kids.

By this I mean that if you learn how to do some small game and animation in a simple graphical environment you learn neither to program nor how to use a complex and rich tool.

It is a typical story in programming courses, as far as I know, there are those who have a lot of experience, some experience and no experience; those with some programming experience are the most likely to fail know just enough to be bored by the introduction and not enough to avoid the mistakes.

My dad was a software engineer and I was a very curious kid - if there was an opportunity to learn something, I was on board. Didn't matter what it was - computers, rockets, cooking, pool maintenance, etc. Learning "advanced use of computers" came along with it, but specifically, I learned VB6 pretty thoroughly when I was 10.

I also had a copy of some version of RPG Maker that could use Ruby for the in-game scripts. Building games in an environment like that -- even if it only requires a little bit of programming -- is still a great way to get children to sit down and focus on solving a problem.

people need to stop telling me what to do.
These kinds of blog posts are always awful. "These cash-grab books about teaching kids to program are bad so teaching your kids to program is bad." Throw in some anecdotal evidence about how the author is doing it right and then show off to the internet.

It's not like there isn't a better underlying point that could have been discussed (forcing STEM on kids) but the author didn't.

Totally agree. Teaching a kid to code is like teaching carpentry. Both are skills that can be used to accomplish certain things and can be outlets for creativity.
Most importantly be observant of your child's natural interests and support them in learning & improving in that direction.
Agreed, no evidence to back opinion in that post. My parents never blocked me from learning something I was interested in. They nurtured a wonder (in me) for learning new things by being interested in everything I showed and “taught” them. The only detrimental thing my Dad ever did wrt my career was discourage me from becoming an engineer because he said that I would have no chance of becoming a CEO if I did. He loved his career though and a went on to study business which I hated. Luckily I also majored in computer science or I really don’t think I’d be happy.

One thing to note though. If you force your kid to code they may end up hating it just like some people hate maths because it was forced upon them when they were too young to appreciate it.

You can teach your kids to problem solve, sure and more emphasis should be put on that. So once children choose to start programming, they will already have the knowledge to think critically and will have a much easier time resolving issues. That is what is so good about critical thinking. It can be applied to any field. Hope what I said makes sense.
Yes, I totally agree that for young children nurturing curiosity is far more important thsn mastering any particular skill. Only reading has the same impact on the development of children. But programming can be a lot of fun, too. When I introduced my son to programming, I started with something visual and has direct feedback like Scratch. Such environment frees children from the tyranny of the syntax so they can focus more on the problem at hand and have fun. Nevertheless, you can teach them a lot of computational thinking using such visual environment. And I think the key issue is computational thinking, not learning some particular languages or knowing how to solve a specific problem using some specific features. I would not buy coding books for my son when they present problem solving like a recipe book, even though one can get inspired from some of the problems in such books. In my experience, combining programming activity with other fields like maths, gaming or robotics can be very rewarding. Children will understand that programming is only a tool and not a purpose for itself and they will start looking for connection between different subjects. Once they start to reflect on their activities, they will learn a lot more than just doing it.
Next up, "I won't teach my kids arithmetic, and neither should you." Because arithmetic is useless without problem solving.
It's not like there's any correlation between practicing a complex learnt art/skill when you are young, and your aptitude and ability for it later in life, after all.

Otherwise all the best footballers would save themselves until they'd paved their way to learning how to play by baking cookies and taking pride in it.

Or violinists. Or opera singers. Or mathematical prodigies. Or chess players. Or engineers.

(comment deleted)
I've been a software engineer 10 years. There is in fact no correlation between age started programming and programming aptitude, if taken for granted that the person can code at all in adulthood. (There is a great correlation between never coding as a child and never coding as an adult). I'll admit that I'm talking about people who are over 30 today, so that when they learned as children, it would have been of the calculator project and lighting DELs in basic variety, and maybe kids today can learn some of the higher level more directly work-relevant frameworks like React.

But still. Some of the best people I know when it comes to making up algorithms for cutting edge problems, had definitely reached their adult height when they first learned what a compiler was.

(I will grant I don't know any really good programmer who started coding at e.g., 40. But there are relatively few people who change careers at 40, so my sample size is very small. )

Obviously I'm not saying that you absolutely _need_ to start young, but I suspect there's a very strong correlation between people who discover and stick at programming when they are young and those who are good at it.

I also suspect that if you flex those particular muscles hard from a relatively early age, they will become stronger relative to someone who doesn't. The original author believes that programming requires a unique combination of skills/abilities which is why he is fond of it. If that's genuinely the case you're better off starting practicing that earlier than later, surely?

I liked the article well enough, but based on the title I was hoping for a more thorough treatment of how the jobs of the future will not depend on coding the way they do today. In pushing kids to code, we are "skating to where the puck is" — not to where it will be.

What will the jobs that exist in 20 years require? Probably not as much coding as some people think. It's still good for people to understand how code/computers work, but I see too much focus on coding these days (I work in edtech).

"You’re teaching them the world is full of interesting things to discover. You’re showing them how to be passionate and look for that ephemeral sense of quality in everything they do."

"Good coders don’t just get something to work. They want it to be good.

That feeling of quality is the hardest thing for many developers to master. Well-designed code feels good to work with, and ugly code will make developers involuntarily cringe. [..] Learning to trust that aesthetic feeling is as much a part of development as any algorithm or coding pattern."

Some comments were about how the author says that people should teach problem solving, but he actually proposes to teach an appreciation of quality and deep inspection.

Another commented

> Next up, "I won't teach my kids arithmetic, and neither should you."

And this would apply depending how you teach arithmetic (also most people will never need to code, everyone will need to do a lot of basic home finance) if you want your child to become a mathematician then teaching multiplication tables and long division are very inefficient focuses.

Arithmetic, carpentry, and coding are tools that enable you to solve certain problems. In order to solve most problems, a person needs to pay attention to detail, which was the author's point, but the author fails to understand that paying attention to detail is orthogonal to the choice of tools to equip a child with.
The last paragraph ("You’re teaching them the world is full of interesting things to discover. [..] Adults can learn syntax. Only kids can learn to embrace curiosity.") is why teaching some of the basics is probably a good idea, I think. Just as teaching/showing the basics of many things is a good idea.

I agree with this article that some organisations (and parents) are too focused on practical programming skills at a far too young of an age, but that doesn't mean that showing some basic stuff isn't a good idea. Ideally I'd like my kids to be exposed to many different experiences, including the experience of making a computer "do stuff".

I wrote a brief article on this last year: https://arp242.net/weblog/kids-programming.html

Teach your kids how to write. Short and long essays.
TLDR; post is without much of clear systematic argument. It seems author is saying it's better if kids are not forced to practice syntax and instead spend their time in problem solving with physical activities.
In ye old days programmers psychoanalyzed domain experts and attempted to manipulate bytes in a way that met the desire of the domain experts (hopefully without their manager mangling the specs).

Nowadays with Excel & SQL people off the street can get a lot done in the application space.

This author makes a few good points about teaching children to solve problems , but, there is an unnecessary dis and a click-baiting title about not teaching kids to code.

Teaching kids to code is not about turning everyone into a software engineer/programmer/developer . It is about providing a key skill required to work in whatever field in a world that is becoming more "software defined" .

Kids who grow up with these skills will have an advantage over those who need start later in life .

Magazines like Slate should not be posting incoherent opinion pieces when the whole industry is trying to up-skill the populace with job oriented skills.

YES ^

Absolutely teach your kid (if they are actually interested) to code. It doesn't matter that they'll write horrible, barely functional code. That's how we all start.

They don't have to learn "proper" long-term coding etiquette - if they choose to do it professionally they would have plenty of time & opportunities to learn that.

Just get them started anywhere so that that kindling of interest can grow and they can make their mistakes and learn from them in a safe environment.

Kid brains are a sponge. I don't get why the author is either or in his mindset. Sure problem solving and curiosity are more important than syntax, but there is ample room for both.