Should You Learn To Code?

The release of a new programming language at Apple's Worldwide Developers Conference this week highlighted one of the most marketable skills in the digital world: the ability to code. How necessary is it, really? And is that even the right question?

Once again, the haves and have-nots of the digital world seem neatly defined by the presence or absence of one skill: the ability to code.

Buried at the bottom of a glittering heap of new OS X and iOS designs, at Apple's latest Worldwide Developers Conference (WWDC), was an announcement about Apple's new programming language called Swift. Apparently it's designed to make it easier than ever to develop iOS apps. It also, according to Jon Gruber, acted as a stark litmus test for WWDC attendees.

It's easier than ever to find coding courses, and it's easy to understand this reader's mounting anxiety about whether or not he should get with the program. So I'm a mid-career 'creative type' (I write, produce multimedia, and have an eye for design), but in order to take my work to the next level I'm feeling a lot of pressure to learn how to code. Is this something I should acquire some skills at, or is it enough just to find the right talent (i.e., a developer) and collaborate? Do I have to have programming skills myself in order to truly do interesting things in the digital realm?

Steve Wozniak and Steve Jobs.

There's nothing wrong with learning a valuable and marketable skill out of sheer economic necessity. But the creative question is murkier. Is coding a medium—like film, prose, and music? Or is it a new form of basic literacy—like knowing how to read, write, and operate an iPhone? Is programming a creative preference or an unspoken requirement?

I asked Robin Sloan, an author (of the New York Times best-selling novel Mr. Penumbra's 24-Hour Bookstore) and "media inventor" (of assorted uncategorizable digital experiments such as this) how he would approach this question.

His advice: Forget about what you "should" do. What do you want to do?

"I didn't dip my toes into programming because it seemed useful, or important, or necessary; rather it was because it seemed fascinating and fun," Sloan says. "I'm less a creative-type-turned-mediocre-programmer than I am a would-be programmer who never got serious about the craft—but hey, surprise! Those half-baked skills turned out to be useful for a 'creative type' at this moment in the 21st century."

Steve Jobs, John Sculley and Steve Wozniak present the Apple II computer, 1984.

"When I hear questions like 'should I or shouldn't I learn to code,' I am of two minds," he continues. "One mind says: 'Yes! You should absolutely learn how to code, even if only a little bit. It opens up rich worlds of possibility, of play. It's hugely liberating and empowering."

That said, Sloan sees the question from another angle, too. "The other mind acknowledges: That might only be true if you have the spark of fascination to start with. Lacking that, the process of learning to code might just be slow, frustrating, and ultimately dispiriting. I mean, to be clear, it is very regularly frustrating and dispiriting for me, too. But there's always this bright beacon of intrinsic interest drawing me forward."

Intrinsic interest: That's the key phrase. If you're a "creative type," what would you like to be able to create that requires you to code? Does the homepage of Codeacademy fill you with curiosity or vague dread? Would you be interested in coding if you didn't felt you should be interested?

If the answer is no—"if the motivation to learn is all extrinsic, all this drumbeat of 'You—must—learn—to—code'—then I'd say skip it," Sloan says. "Instead, develop other complementary skills, of which there are plenty."

In other words, you don't have to be Steve Wozniak to be Steve Jobs. (You could also be both, or neither.) But what each of them had in common was this: They knew what they wanted to do. Take that as your starting point. Those 1s and 0s can do powerful and amazing things. But learning to code doesn't have to be a binary choice.

Add New Comment

30 Comments

  • gfgonline

    "the creative question is murkier. Is coding a medium--like film, prose, and music? Or is it a new form of basic literacy--like knowing how to read, write, and operate an iPhone? Is programming a creative preference or an unspoken requirement?"

    Coding is both, in the way that writing can be as fundamental as communicating via text message or as complex and creative as developing a novel. I believe that understanding the common premises of code (structure and logic, even if only on the level of pseudocode) is now as important an element of basic literacy as reading, writing and arithmetic. And if you're inspired, you can make it sing.

  • Adey Jarvis

    Gone are the days when you could just pick up Basic and write a simple program. So you now really have two choices, go for something like Scratch which shows you the basics in a visual way or go for something for web design like Python. Though realistically even a rudamentary understanding of how development works is a useful life skill, like baking or cycle maintenance - both you can do without, though you'd be surprised when the skill is useful and in how many situations. Programming is all about thinking logically and systematically... a great skill to have even if you never write a serious application.

  • It's always worth forcing yourself to try something new for long enough to see whether you can learn to like it. When I decided to learn a language, I opted for Arabic because I figured that it was so different from English that I wouldn't get bored with it. It took a few weeks, but it was really exciting when those strange markings on the page started to look like words to me! I think it would be the same with code.

  • Marianne McDougall

    A fascinating post and I find collaboration works really well for me. I have twenty years of professional graphic design behind me and feel that the coding side is not for me.

  • What are you worried about? Give coding a serious try for a few weeks (I think you should take a real course from a good teacher), and at the end you will have tried something new, and made your brain turn over new concepts, and you can decide then what you want to do next. Maybe you can get a friend to start you off for an hour or two before a class.

    There are very few people for whom coding is super-easy. Even the best coders work and rework and test and retest and think again and wake up with a new idea.

  • Daniel Stolte

    I don't see the point in learning how to code, just as I see no point in learning how to raise cows in my apartment or deliver the babies of my neighbors. These days, there is an app for everything anyone could possibly desire, and then some. I'd rather spend my vanishing free time going back to what makes me human in the first place (making music, explore nature, ...) than on computers, which have taken over my work life already.

  • "Everyone learning to code" is a topic of gradience. I'm going into my last 2 weeks of a 12-week coding bootcamp, and to compare "learning to code" on codecademy.com with a bootcamp would be similar to labeling both kindergarten and college as "higher education." I can confidently say that I have gone from knowing zero code to becoming a competent, entry level developer in just 10 weeks.

    For the last 3-months, I have dedicated 12-16 hours a day to learning (sometimes more). I'm 30-years-old, and it has been the most difficult, frustrating, and mentally exhausting challenge of my life. Because "learning to code" is far more challenging than memorizing syntax.

    We have been taught, first and foremost, to think like coders. That's been the most difficult part. Learning to be an analytical problem solver has been my greatest take away. So, instead of asking the question, "Should I learn to code?" I believe the question we should be asking is, "Should I learn to think like a coder?"

  • Nate. Mind if I ask where you took the boot camp? Was it online or physical classroom? I'm exploring options now and was curious. Thanks.

  • Coding's not cool, never was. The end result, that's sometimes cool. The process itself, nope. Debugging, cool? Nope. Merging code, cool? Nope. Taking someone else's code and having to rewrite half of it because it makes no sense and doesn't work anyway, no that's not cool either.

    So kids, don't do coding mkay. Coding's not cool. Mkay? Mkay.

  • Since when was coding ever cool? It's not cool, never was. Sometimes the end results are cool, but the process itself, no.

    Just remember kids, coding is not cool, don't do coding, mkay...

  • The debate is a red herring. Not everyone has the aptitude for coding and it's a frustrating exercise for those people when it's made to feel like a requirement. What everyone can do is UNDERSTAND coding and the technology behind it so they can speak the language, set realistic requirements, communicate well with developers and design systems based on what is actually achievable on whatever platform is being used.

    Learning to code well takes years. We don't need more people from unrelated fields learning the actual syntax and semantics of a bunch of languages to become half-ass coders that don't even enjoy doing it. We need more people that continue to do what they actually do well but bring a breadth of understanding of technology along with it. Understanding why and how something works doesn't mean you have to learn how to build it.

  • Scott Banks

    I rarely see stories about whether or not engineers should learn about design. Not design standards, but real design. It would be great for engineers to learn its history and how it is used to motivate through emotion, or how it is used to communicate ideas. It's as if design does not matter, only what coding can and cannot do that does. Just like a designer sitting through a coding class, engineers should be forced to struggle through art history and design classes, especially hands on design classes. It should be a 2 way street.

  • Alan Yu

    Sometimes "design" is about rationality, there is a difference between design and art. Design is also about problem solving (just like coding), not just to express the designer's emotions. Just some thoughts.

  • Alan Yu

    Personally I think every designer and engineer needs to learn how to speak and do business.

  • Daniel Stolte

    Why? Does a writer have to manufacture her own pen? Does a photographer have to build his own camera?