Nieman Foundation at Harvard
HOME
          
LATEST STORY
The media becomes an activist for democracy
ABOUT                    SUBSCRIBE
March 13, 2013, 1:28 p.m.

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.

POSTED     March 13, 2013, 1:28 p.m.
Show tags
 
Join the 60,000 who get the freshest future-of-journalism news in our daily email.
The media becomes an activist for democracy
“We cannot be neutral about this, by definition. A free press that doesn’t agitate for democracy is an oxymoron.”
Embracing influencers as allies
“News organizations will increasingly rely on digital creators not just as amplifiers but as integral partners in storytelling.”
Action over analysis
“We’ve overindexed on problem articulation, to the point of problem admiring. The risk is that we are analyzing ourselves into inaction and irrelevance.”