Category Archives: Codecademy

Three Ways Learning to Code Would Make Michael Bloomberg A Better Mayor

Earlier this year, this post was included in Should You Learn To Code, a collection of posts put together by Hyperink Press.

Thanks to Jeff Atwood’s provocative column Please Don’t Learn To Code, the debate about whether or not the average person should learn to code rages on.  The Wall Street Journal weighed in yesterday with this Atwood  quote:

To those who argue programming is an essential skill we should be teaching our children, right up there with reading, writing, and arithmetic: can you explain to me how Michael Bloomberg would be better at his day to day job of leading the largest city in the USA if he woke up one morning as a crack Java coder? It is obvious to me how being a skilled reader, a skilled writer, and at least high school level math are fundamental to performing the job of a politician. Or at any job, for that matter. But understanding variables and functions, pointers and recursion? I can’t see it.

I’m not a crack Java coder, or anywhere close.  But even after five months of programming lessons I feel that I can confidently come up with at least three ways that Michael Bloomberg would become a better mayor without even becoming a crack coder.  In fact, he could remain a crap coder, and probably still come out of the experience as a better mayor.

1. He might learn just enough about programming to start considering all the different kinds of operating systems there are now.  Maybe he starts having daydreams about switching to Linux, and starts thinking about all the ways a thriving metropolis like NYC might save money from switching from Windows to Ubuntu.  Probably he doesn’t, but he instructs a few minions to at least start researching more open source software that the city could use.  Every once in a while he starts nagging his education department to see how they could improve school budgets and efficiency by using open source where appropriate.

2. He finds himself walking into a meeting and without realizing it, thinking about problems in a totally different way. Instead of spending hours debating all kinds of solutions he asks himself and the people around him: “what is the smallest, most significant, repeatable action we could take right now to solve this problem?”  A few months of coding has nudged his brain in a different direction and before he knows it, he’s cutting through hours of wasted time with more creative and efficient solutions.

3. He’s still having those switching to ubuntu fantasies. Oh, he’s too old.  But what the hey, he decides to send every child in NYC a RaspberryPi, the $25 dollar, credit-card sized, Linux computer that has just started shipping out of London.  Instead of wasting hours playing video games some of these kids learn how to make their own damn games. One day a critical mass of those kids grows up to become crack coders and change the world in ways we can hardly imagine.

So there Jeff Atwood.  You asked, I’ve explained it to you.

Now can everyone just get back to their codecademy lessons in peace!

Advertisements

Six Reasons a Non-Computer Nerd Might Want to Learn to Code – Technology – The Atlantic Wire

Six Reasons a Non-Computer Nerd Might Want to Learn to Code – Technology – The Atlantic Wire.

This is something of an analysis of the “everyone should learn to code” meme.  Except that it explores only the reasons why people might want to learn to code, which is not exactly the same as why they should learn.

Don’t get me wrong, I’m not trying to take the fun out of coding by turning into a moral imperative.  And the last thing any parent should do is  turn this into educational equivalent of vegetables.

But if we’re going to list the real advantages, and get into arguments with elite  programmers who keep telling us that newbies are wasting their time, we need something deeper than “it’s useful.”

If you’re a software engineer whose primary source of work is software manufacturing then yeah, there’s not much motivating you to preach to the masses to learn how to make software.  If, however, you’re a more politically minded programmer devoted to creating a more efficient world or let’s say more open source software that might massively reduce government and educational spending, then it’s more than just “useful” to have a citizens who know what you’re talking about.  It’s essential.

Because nothing is going to change until a critical mass of the population understands enough about computer science to pressure their respective government or administrations into making the significant changes that have all kinds of economic and social advantages.

So there.  A reason we should learn to program: because it might inspire others to do the same, and then maybe we’ll have a society that is better able to function as a more participatory democracy.

But don’t tell the kids that just yet.

The Parent Developer

I’ve actually been coding for a long time, without realizing it.

If we remove all the syntax of computer language and look at what the bare bones of coding is, it’s just using logic, reason and simple commands to create repeatable behaviours.

This is what parents do with children.

They start with small instructions,  baby steps and repeated routines,  appropriate to both the child’s abilities and the parent’s still developing skills as a programmer of babies.  Then as the child  starts to develop cognitive abilities, the parent sets up a system of conditionals: acceptable choices the child can make that will not include choices that will  bugger up their lives.

Figuring this out is a frustrating challenge, but it will probably work well enough while the child is still not much more than a new Object in the parent’s mind, something that in theory should inherit  all her workable (and perhaps not as workable as she’d like) methods.

But at a certain point the child hits  the age where he now has the abstraction abilities and the independence  to start programming his own life.  And this is where the real problems start, because the parent is  no longer the programmer with a child Object.  The parent is now dealing with a junior developer.  And if the  parent does not know how to establish her position as senior developer, there will be blood.

That’s why I think this is such a great time for Ben and I to learn how to code.  Because even if no one in the family ever becomes a professional programmer, we’re still regularly working together on solving problems with commands and the kind of simplification skills that  inevitably spill into our lives.  Ideally this will help us solve problems in ways that are more neutral and productive than what usually happens between adults and teenagers.

Obviously Ben will not stay a junior developer in this family for long.  This is the law of life and technology. Coders move on. But for now it’s still my responsibility to instill good thinking, writing, and commanding habits.

It’s all about those transferable skills.

How Coding is like French

Polemical article here by Canadian novelist/developer Jon Evans in Tech Crunch on why hipsters shouldn’t waste their time learning to code.  His argument is essentially, what’s the point, to be truly proficient at it, you should start learning it, like he did, at age 10.

Interesting that he compares learning to code just for the sake of learning code, to learning French when you may never go to Paris.

I’d be curious how his French is.

French is one of Canada’s two official languages. Outside of Quebec,however, few people are really fluent, or even functional in it. This creates political tension, but on a practical level it doesn’t make much difference.

I grew up in Quebec, however, where over the course of my lifetime, French became the official language of business, government and basically, life.  I saw what happened to an entire generation of people who weren’t functional enough in French to get a job even working in a restaurant.

Americans are anxious. As they should be. They grew up believing that English was going to be the dominant language of business forever. And it probably will be for a long time.  But  anyone who  can’t see that computer code is becoming the dominant language of trade in the world, is blind to the future or kinda has their head in the sand.

Does this mean that anyone who doesn’t have senior developer skills will be unemployed? No. The soft skills–conversation, social networking, etc.–will always be essential.  But deciding not to learn code because  you may never build an app, is like deciding to not learn French because you’ll never be fluent—except  you’re living in Quebec, not potentially vacationing in Paris.

In the future, we may not know when we’re going to need a functional knowledge of code.  But I have no doubt we’re going to need it.