Don’t Believe Anyone Who Tells You Learning To Code Is Easy

Don’t Believe Anyone Who Tells You Learning To Code Is Easy

Posted 35 minutes ago by Kate Ray (@kraykray)

Editor’s note: Kate Ray is the technical cofounder of scroll kit, a visual webpage creation tool that was recently acquired byWordPress.com

One of the most dangerous things I’ve seen happen to people who are just starting to code is being told that it’s easy.

Here’s what your brain does:

Most programming doesn’t require a special brain, but it’s more frustrating and messier than anyone lets on. There are thousands of enthusiastic blog posts, classes and apps that aim to entice you with the promise of a slick, unequivocal procedure for learning to code. They rarely mention the tedium of getting your environment set up (which, trust me, even the nicest of your programmer friends don’t want to help you with, because that stuff is mad frustrating and nobody remembers how they did it).

They don’t tell you that a lot of programming skill is about developing a knack for asking the right questions on Google and knowing which code is best to copy-paste. And they don’t let you in on a big secret: that there is no mastery, there is no final level. The anxiety of feeling lost and stupid is not something you learn to conquer, but something you learn to live with.

This winter I decided to learn iOS. I’d taught myself how to code the summer after college, so I was pretty cocky about my ability to pick up a new language. I forgot how hard it is. After getting over my resentment of Xcode (this “Storyboard” thing looks like it’s for babies, this isn’t real programming), I launched into a series of projects that were too advanced for me. iOS turns out to be different from web development; everything I expected to be hard was easy and everything that should have been easy was hard. I was impatient and annoyed with myself.

What I forgot is that the most common state for a programmer is a sense of inadequacy. As a programmer, there is a limitless amount of stuff to learn. You can become a specialist in one language or framework, but if your job is to build things efficiently, you will constantly need to be learning new tools and constantly feel out of your depth. It helps to be mentally prepared for feeling stupid.

The psychologist Mihaly Csikszentmihalyi came up with an insightful way of visualizing the learning process (for any discipline):

Adapted from an image in “Flow: The Psychology of Optimal Experience”

image001

I’ve found my experience to follow that line closely, and came up with this Recursive Recipe for Learning to Program:

Follow a tutorial step-by-step even if you don’t always understand what you’re doing. I like to think of Hunter S. Thompson copying the books of the Great Masters on his typewriter. You’re getting a feel for how things are done in your new language/framework. This part should be easy, if boring, because you’re just doing what you’re told. [Incline of Optimism]

Rebuild the thing you just made or a slight variation of it. Try not to use the tutorial too much. Realize just how little you understood of what you were doing. [Fear tugs, slowing your ascent]

Try to build something simple that you actually want to make. Discover that you have absolutely no idea what you’re doing. [Sea of Despair]

Find a new tutorial related to your new project. (Hopefully your tutorials are providing you with increasing background on the language.) Follow the steps. [Slight sense of understanding, rise in self-worth]

Rebuild the thing yourself. [Fear]

Start a new project. [Despair]

Repeat steps 1 through 6.

I’m a big fan of tutorials. During this process, I made an app for collecting the best tutorialsrecommended by programmers who’ve used them. Hopefully it will shorten the stumbling-around period before you get into the groove of learning and help you find the good stuff faster.

As long as you learn to grind through the frustration, you’ll come out on the hillsides and get a good view of your progress. Be okay with not understanding everything, trust that you are getting better even when you can’t see your progress, and don’t rush. Good luck.

Huge thanks to the Shuttleworth Foundation, whose amazing Flash Grant prompted me to go down this path of learning new things and gave me time to work on Teach Yourself To Code. And to Cody Brown, for his help on this post.

 

About bambooinnovator
Kee Koon Boon (“KB”) is the co-founder and director of HERO Investment Management which provides specialized fund management and investment advisory services to the ARCHEA Asia HERO Innovators Fund (www.heroinnovator.com), the only Asian SMID-cap tech-focused fund in the industry. KB is an internationally featured investor rooted in the principles of value investing for over a decade as a fund manager and analyst in the Asian capital markets who started his career at a boutique hedge fund in Singapore where he was with the firm since 2002 and was also part of the core investment committee in significantly outperforming the index in the 10-year-plus-old flagship Asian fund. He was also the portfolio manager for Asia-Pacific equities at Korea’s largest mutual fund company. Prior to setting up the H.E.R.O. Innovators Fund, KB was the Chief Investment Officer & CEO of a Singapore Registered Fund Management Company (RFMC) where he is responsible for listed Asian equity investments. KB had taught accounting at the Singapore Management University (SMU) as a faculty member and also pioneered the 15-week course on Accounting Fraud in Asia as an official module at SMU. KB remains grateful and honored to be invited by Singapore’s financial regulator Monetary Authority of Singapore (MAS) to present to their top management team about implementing a world’s first fact-based forward-looking fraud detection framework to bring about benefits for the capital markets in Singapore and for the public and investment community. KB also served the community in sharing his insights in writing articles about value investing and corporate governance in the media that include Business Times, Straits Times, Jakarta Post, Manual of Ideas, Investopedia, TedXWallStreet. He had also presented in top investment, banking and finance conferences in America, Italy, Sydney, Cape Town, HK, China. He has trained CEOs, entrepreneurs, CFOs, management executives in business strategy & business model innovation in Singapore, HK and China.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: