Is Coding A “Hard Skill”?

I’m trying to unpack some of my own experience and dust off a few ideas that might be useful for my own students.

Someone recently sent me a link to a 99u article titled You Don’t Need To Learn To Code + Other Truths About the Future of Careers. There is a lot of angst about whether one should or should not learn to code. Actually this is part of a larger narrative about educators being clairvoyant enough to know what their students should require for the (unknown, perhaps unknowable) future. I see a lot of educators go, “They need to know how to do this… and this… and, of course, this too!”

Suddenly the list of things one needs to know is huge. Much too long in fact for the time allocated to any particular educational setting. While it probably is true that we need to know more things than we have in the past, it is possible to dive too shallow and too wide. This approach doesn’t seem to produce much except anxious and neurotic students.

According to 99u:

If becoming a programmer is appealing to you, great. But seeking employment based on any one “hard skill” is an outdated way of thinking.

Is coding a hard skill? I don’t think so. Infact what we might simplistically call “coding” is actually a whole range of skills.

  • Problem solving: What do I need to do? How will I achieve it? What are the individual steps towards solving this problem (remember, computers will take you completely literally)? How will I explore possible solutions? How will I plan the program? Will I use flowcharts? Will I use a Nassi–Shneiderman diagram? Will I use pseudocode? How will I decide upon the best solution between a number of possibilities?
  • Logic and Structuring: One of the best reasons to learn to program is not for the ability to be able to program, but rather for the ability to be able to think in a logical and structural manner. Whether you’re writing a set of instructions for a computer or a culinary recipe for a home chef, you need to work out the order in which things need to be performed in. In project management and in code, some things are dependent on other things, and getting the sequence right is vital!
  • Writing code: Code is a language, as English is a language. What we refer to as ‘grammar’ could also be considered ‘syntax.’ Learning code syntax and language conventions is often the most gruelling aspect of learning a new language. There are special characters aplenty. There are semi-colons, dollar signs, parentheses, brackets — all kinds of things, really. Though consider why we use punctuation in written communications. We offer all kinds of clues on how to read the text we provide, and it is much the same for a coding language. We write to be understood by readers; we write code to be understood by computers.
  • Debugging and testing: Does it work? If not, why? Did we leave out one of those meaningful special characters? Did we make a typo? Which line does it first break on? Was something about our solution more fundamentally flawed? Is the computer giving us the result we asked for, rather than what we thought we asked for? How are we going to fix it?
  • Refactoring: We generally think of refactoring at the code level — making the code more efficient — but it can work at a solution level too (perhaps our first solution wasn’t as eloquent as it could be, perhaps we know things now that we didn’t before). How can we make our code more usable — indeed more reusable?
  • Communication: I put this skill last, but in truth it is imbued in all of the other skills too. We need to communicate our ideas. We need to articulate them. We need to share them with our co-workers, our supervisors, our teachers. We need to be open to feedback. We need to be able to justify our solutions.

Learning language specific syntax may seem like a hard skill with little transferrable application beyond that particular language, but the reality is that knowing one coding language makes it easier to learn other coding languages (especially since so many of our modern programming languages are derived from C). So many programming concepts are consistent, even if their syntax varies. There are still control structures, variables, functions and the like. Moving from JavaScript to PHP may require you know that you need to put a dollar sign before your variable names, but it doesn’t change what a variable is or does or means.

4 comments… add one
  • I liked learning a bit of code for my blog. Then Word Press went and made it unnecessary. But I am still happy to know what I do, because if there’s a problem, I can check the code and maybe make out what must be done to fix things. Ha!

    On teaching, which is more what I wanted to say, was, wow, you’re going to teach! Good luck. Traditional liberal arts type teaching is on the cusp of a brand new wave. We’re barely keeping up with media as the college gives us tools but no training. I can see books going to e-readers, papers going to posts, and classroom time being online. All of this is happening, but at the same time I am still teaching the intricacies of comma placement. Nevermind became one word in 1991 and I cannot get my students to understand, that no, actually, Nirvana did not write the dictionary. Sometimes I think about these things and how electronic media has been absorbed into our culture. We have to make a place at the table for it. Well, in your case, I’m not sure…what are you teaching? Excited for you in any case. Teaching will get your energy up like nothing else.

    • I laughed when I read your Nirvana comment. But, then, I think in a lot of ways Shakespeare wrote the dictionary and perhaps Nirvana contributed to it too. Culture is a fluid thing, it is what people make it. I know when I look at some of the things that pass for art these days, I roll my eyes, but hey maybe it isn’t up to me? Or at least, not only up to me.

      To be honest I won’t know exactly what I’m teaching until just before the “school” year starts back (late January). But I do know that I will be dealing with at least three topics — client-side scripting (JavaScript), content management systems (WordPress) and Cascading Style Sheets. [Yes, all nerdy Information Technology subjects.] Some of it will be (what we call) “face to face” teaching and some of it will be online. I’ve not taught online before so that will be an interesting experience. In class I am led by the feedback of my students (which can be good, but it can also get us seriously away from my lesson plan). I’m curious to see what (if any) feedback I get from online only students. At the moment I am in the process of writing materials for the online classes. I liken it to writing a text-book. My inner perfectionist is worried about what to include and what to leave out. In a perfect world my online delivery would include some videos too, but time and budget constraints make that seem unlikely, at least in the short term.

      I am toying with the idea of “flipping” my face-to-face classroom (that is getting the students to review the material at home before class and do the “homework” in class where I can supervise them and give them more immediate feedback). The fear though is that they won’t look at the material outside of class. But at any rate this is not something I will need to decide on until the second half of 2014.

      • I wish you luck. Teaching is a huge commitment, but SO rewarding. You have the right idea about following your student’s needs & being flexible, just don’t let them take you too far off plan. They love to do that. I have a “chatty” friend who “teaches” her classes by just shooting the sh*t about this and that. It’s their favorite thing. Get teacher talking about their life, and then no work to do. Of course that’s what Frank McCourt did and it didn’t work out too bad for him:) Teacher Man is an excellent book. Humbled me. He also wrote Angela’s Ashes, which has all the Ireland stories he told his inner city students in New York. They thought THEY had it bad. He curled their hair with what he endured. I hope you blog more about teaching as you go along (if you have time!) it’s the most challenging job I’ve ever had, even more so than writing. But really, it’s funny, the most difficult jobs are the ones I like the most. Hope you do, too.

  • Hey I saw you liked the Whiteboard table I had created- you may like this

Leave a Comment