Twitter  Fashion blogging and the tension between incumbents and insurgents in digital media nie.mn/1kYpsk8  
Nieman Journalism Lab
Pushing to the future of journalism — A project of the Nieman Foundation at Harvard
basic-programming-coding-cc

Jake Levine: Why learning to code isn’t as important as learning to build something

“Programming is a means to an end, not an end in itself. You should be trying to do as little of it as possible to make the thing that you want.”

basic-programming-coding-cc

Editor’s note: You may remember Jake Levine from our Q&A with him in October or his contribution to our predictions-for-2013 package. He used to run News.me; now he runs Digg.

Jake wrote this piece about how business-side types are drawn to the idea of “learning to code” and how their approach may not be doing them much good. I thought his take also made a lot of sense for the gazillion journalists who, worrying about their career prospects, have signed up for Codecademy and the like. That’s why we’re republishing it here for Nieman Lab readers.

There’s a lot of chatter and hype around normals learning how to code. I’m fully in support of the hype because I (like many others) believe that understanding how machines work is an increasingly important skill in a world where human relations are increasingly dependent on networked applications.

As a result of that hype, if you sit down with an MBA interested in technology — with due apologies to MBAs for using them as the ultimate barometric gauge of hype — they will tell you that they are learning how to code. The typical evidence provided at this point in the conversation is an account at Codecademy (and all credit to the awesome team at Codecademy for this being the case).

You’ll struggle for hours to solve a problem and literally clap out loud when you find a solution.

Here’s how it goes: Before you even get started, you’ve decided that you don’t want to be an engineer. You convince yourself that you provide enough value as “the business gal/guy” and that you just need to know enough to call bullshit on the engineers. You, after all, know how to raise capital. You sign up for Codecademy. You spend three months deciding between Python and Ruby, because you heard Django was more powerful or something but Rails had better community support or something. You in fact have no idea what that means. You maybe do a tutorial or two. Oh wait, I should be learning Node.js. It’s the future. Then…hey what’s that shiny thing over there? I’m allowing myself to move into snark overdrive because I’m being self-deprecating. Yes, I, like many other business dudes and dudettes before me, have fallen into the abyss of half-assery.

Here’s how you manage to crawl out of it. Stop trying to learn how to code. Stop it right this instant. Doesn’t that feel nice? You didn’t really like it anyway, did you? Because it’s not really that fun. Syntax errors, terminal commands, servers, consoles, frameworks, libraries, gems, classes, models, views, controllers, fml.

You know what is fun? Making things. Turning a spark of creative insight into a thing that you can show people — a thing that people can use and from which they can derive some iota of pleasure or utility. Start with a simple website. Basic HTML and CSS. No product is too small. In fact, the opposite is true. If you don’t know how to build the first version of your product in a weekend — a usable working version — don’t try to build it. Programming is a means to an end, not an end in itself. You should be trying to do as little of it as possible to make the thing that you want.

Use tutorials like this one for Rails and this one for Python to introduce you to new concepts (and read this post while you’re at it), but as soon as it starts to feel like work, stop what you’re doing and use that newly-gleaned knowledge to build something cool.

Here are some other tools that I recommend: Google.

As you build, you will actually begin to find that programming can in fact be fun! You’ll struggle for hours to solve a problem and literally clap out loud when you find a solution. Then when you realize that that single solution enables a whole set of user-facing features, you’ll pee yourself a little with joy (or because you’re so engrossed that you just couldn’t bring yourself to go to the bathroom; go to the bathroom guys, that’s gross). The moment I discovered caching? zomg. The moment I discovered, while building an application, what MVC actually meant? Fuggetaboutit.

Here are some things I built in the last few months:

VinylStore.me (a personalized vinyl store based on your data from Rdio and Last.fm)

TumblrMonkey (see what your friends are liking on Tumblr)

LastGreatThing (we asked 20 people in 20 days about the last great thing they saw on the Internet; made with @jvanslem)

Twordsie (a word cloud generator for your most frequently tweeted words; made with @alexmr)

Name10ThingsThatArentSkrilex (what the name says)

Kittygif (no description needed)

Fuckitship.it (i.e. the alternative title for this post)

This isn’t rocket science. The only thing getting in the way is your commitment to programming as an end in itself, and your ambitions to build the next great social network for pets or nothing at all. Start small, make things, and then when you’re done, make some more things.

Jake Levine is general manager of Digg. Before that, he was general manager of News.me. This piece originally appeared on his blog.

Spanish BASIC code by Beatriz Martin used under a Creative Commons license.

                                   
What to read next
BenzingaLargeLogo
Joseph Lichterman    April 22, 2014
Four-year-old startup Benzinga is growing thanks to a free consumer site, a paid news wire, and online financial service marketplace.
  • http://twitter.com/gotoplanb Dave Stanton

    Beautiful. Journalists (or MBAs) don’t care about learning technology for technology sake. Find some thing that is useful, and then write the ugliest but fastest code possible to see that thing realized.

  • http://twitter.com/caroline815 Caroline Leopold

    Make the thing you want is key. That passion to build is what spurs my flailing efforts. Learning code is no joke, as becoming a good writer is not easy. I have the utmost respect and regard for developers, and, if it wasn’t for Stack Overflow, I would have thrown my head through a wall. But yes, in some twisted way coding is as much fun as writing. A fury of tears with moments of triumph.

  • Barbara Nelles

    As a journalist who manages websites, when I think about learning to code–I’m thinking of the basic building blocks of Web pages: HTML, CSS and JavaScript. I think everybody should have a handle on these, especially blue hairs like me.

  • http://www.facebook.com/adam.walmsley.58 Adam Walmsley

    i found a website called codeavengers that teaches HTML, CSS and JavaScript best by far for the beginner. I agree that everyone should learn at least a bit.

  • http://kontrary.com/ Rebecca Thorman

    YES. Love this. Last year, I gave a talk to the DC Tech community on this very topic and I demo’d how I built an idea of mine in just a few days. Everyone was so amazed! But it was the only way it made sense to me. Here’s the quick video on it, “fake it until you make it” – http://kontrary.com/2012/05/03/how-to-fake-it-until-you-make-it/

  • Forceof Habit

    I don’t really agree with this. you can read what I thought here http://www.bubblews.com/news/323432-how-to-learn-to-code