The Twelve-Second Code Year [part 2]

(I’m taking an intensive web development bootcamp. Part 1 of the story. Names of students have been changed.)


A great man once told me that learning to code is like learning to cook if you’ve never eaten food before. It’s totally abstract, and without any frame of reference that tells you when you’re on the right lines, when you’ve made something that works. So don’t be too hard on yourself if you’re struggling. Sometimes we all need to hear that. Roi, now a teacher at Makers, tells me that when he took the course, he felt stupid every day for twelve weeks. Constantly feeling dumb is hard, and it’s easy to let pride stop you from reaching out for help. K spoke to Enrique, Head of Education, about the course. He’s worried he’s falling behind, and wanted to know if there were any ways to learn more efficiently. “Forget ‘working smarter’,” Enrique told him. “Just work harder. Put the hours in.” I think it’s advice many of us need to hear – that there’s no secret to getting good at this stuff, and nothing magical separating the top of the class from the bottom. You sit down at your computer and make the clackity noise until you get good. Skill acquisition is more democratic than you think. Sometimes I want to remind people of that.


Just as a cook needs to know about the chemistry of baking to turn ingredients into a meal, a coder needs to know how to turn problems into something a computer can understand. Jordan, the endlessly charismatic Director of Marketing at Makers, introduced this by comparing object-oriented programming to Platonic forms. Classes are a mould, in whose image objects can be created. These objects inherit properties from their parent class – this tells them who they are, what they know and what they can do – but these objects can themselves be extended and built upon. Understanding this, and how objects relate to each other in a program, was one of the biggest headfucks our cohort came across. But bending your problem like this, organising it into interdependent classes which do things to each other, is the first step in building sotware.


At school and university, I always thought Chemistry was one of the more testing subjects. It involved real understanding – wrapping your brain around totally foreign ideas. There was a distinct sense of seeing ‘in your peripheral vision’, in a sense; not quite visible head-on, but understandable on some primal level. The moment when those concepts shift into focus is like feeling your brain rewiring itself. I haven’t had one of those moments for a long time. Much of my degree was memorisation, and the world of work that followed proved to be mostly intellectually uninspiring, a couple of interesting stints excepted. But working on a code problem and, after hours of rumination, having the answer seemingly present itself to you is truly sublime. And as a beginner, there are few better languages in which to see this happen than Ruby. Powerful, elegant, and expressive – I can see why people fall in love with it. (To be continued.)

Currently CTO at Mast. Formerly engineering at Thought Machine, Pivotal. Makers Academy alumnus.

I've pledged to give 10% of my income to highly effective charities working to improve animal welfare. If my startup is successful, I hope to give away much more.

Also founded EA Work Club, a job board for effective altruists, and Let's Fund, a crowdfunding site for high-risk, high-reward social impact projects.

Subscribe via RSS or get email updates.