I taught myself to code and now I’m a developer.

I prototype apps. Developing beautiful, functional user experiences is my job. I love the freedom, the creativity, the satisfaction of solving a problem. That is when I’m in my element. Wind back a couple of years, I’d just moved to London with no real sense of direction. I went to work for a company trying to flog apprenticeships to local businesses and absolutely detested it. I moved on to work at the zoo, not playing with penguins or taming lions, but sitting in an office and hating it marginally less than my previous job.

At that point, I didn’t know anything about coding but one day, I saw my friend hammering away at his keyboard. Over his shoulder, I saw something quite amazing taking shape. He was working for Daniel Shiffman, a professional developer and author, who emulated natural phenomena in code. I was fascinated. How did my friend know how to build that website? And how did Shiffman emulate the group psychology of a colony of ants just by writing a few lines of code? I asked how it worked and when I got the explanation, it made no sense at all.

Though I hadn’t learned how to code through my friend’s nonsensical explanation, I had gained insight into what could be achieved. I had always enjoyed creating, coming up with ideas — trying to turn them into reality. Throughout school I loved wood tech. I made a tiny replica drum kit out of a mahogany table leg, which still holds pride of place in my mum’s sewing room. For a short spell in university, I made wooden garden signs out of reclaimed floorboards. I built my girlfriend a walk-in wardrobe, and when we moved house, I made another custom wardrobe which, in hindsight, with its suspended backlit agate was a little over-the-top. It didn’t matter. I enjoyed turning chunks of wood into something more functional and more beautiful. Whether it was creating a piece of digital art or emulating the world around us, the creativity of coding had the same draw as the opportunity presented by an unsculpted piece of wood.

Over the next few weeks, I started looking into web development. The first thing that struck me was there was so much to learn. Within ten minutes of googling I’d heard of 50 different languages and tools all of which sounded essential, but none of which meant anything to me. The apparent scale of the challenge ahead, at that moment, was deflating. It’s quite easy to see why most people give up before they start. The fact is, you could live 10 lifetimes and you wouldn’t be able to learn everything out there, and then you’d have to live a thousand more to catch up with what you’d missed. You’ve got to start somewhere and, to an extent, it doesn’t matter where.

I started with processing. It was the program Daniel Shiffman used to build his ant colony. Without too much code, I got things moving around the screen and interacting with one another and before long, I’d made a little game. It was crude, a kangaroo jumping over some cacti, but I felt a sense of satisfaction having made it. I carried on with processing for a little while, but it was limiting. No one really uses anything made with processing. It is a good educational tool but it isn’t functional. I wanted to learn to build websites. So, I spent a few months learning HTML and CSS and made a few static webpages but that got boring too. Nothing moved around the screen like it did with processing. To make that happen, I needed to learn Javascript. A few crude animations and crazy side-scrolling websites later I had that in my tool kit too.

While I was learning, I always had an idea, something to work towards, something to build. I built a website which showcased all the open mic nights across London, a site which put Boris Johnson’s head on the end of a penis and every time you clicked made him dance and say one of his stupid catchphrases. I made a multiplayer game called Question Bomber. None of these projects was ever going to go anywhere, but they gave me something to work towards. With each project I kept adding more and more to my tool kit. My friend told me to learn a framework called ‘React’ so I took his advice. It was a completely new way of creating, but made it possible to build much bigger, more complex projects. It opened doors and I picked up some freelance work, from people I knew, from friends of friends, none of it paying very much, but all of it giving me the opportunity to learn.


React-Native is a tool in its infancy- it allows developers to build Android and IOS apps in a language very similar to React. I played around with it and eventually did what mobile app developers rarely do, I published an app to the App Store. It’s called Givable, it helps people find, learn about and donate to charities they haven’t heard of yet. It runs on a database, which updates itself, selects featured charities every day and tweets about them without me having to do anything. Looking at it now, I can’t help but cringe a bit. The design isn’t great, but I had caught the bug for publishing apps and I wanted to do more.

Givable App

I was churning out projects and absolutely loving it, but 9–5 I was going to work and absolutely hating it. One weekend, I decided enough was enough, I started sorting out my Linkedin (something I should have done much sooner) and looking around for jobs. I was willing to spend a long time looking in order to make sure I got the right job. But, within a week I had seen a super cool agency, w12 Studios, advertising for a ‘Creative Technologist’. They were a prototyping agency, which meant I would not be stuck on one project for a year, I’d get variety. I’d have the opportunity to experiment and explore. It was the first job I applied for, and 2 weeks and 2 interviews later, I was offered the job.

That is where I am now, prototyping products which push the boundaries of what is possible for some of the biggest media companies in the world. I’ve been on quite a journey since I was inspired to learn about code, but the exciting part is I have a long way to go. The industry never stops moving and it is a developer’s game to not just move with it, but to contribute to pushing it forward. Since starting my job I’ve published open source libraries for the first time and I’m going to carry on publishing them in the months to come.

When I started coding I was rubbish and I made rubbish things, but it was a passion for the craft and the drive to get better which kept me going. An inspirational person told me recently that it isn’t possible to be good at something without being useless, poor, and average first. I put myself firmly in the average category, at the moment, but check back with me in a year or two and I’ll let you know where I’m at.