How I learnt to code in a scarily short space of time

Lack of salary is a great motivator

Six months ago I left my “wow, what you do sounds really interesting” job so I could teach myself to code. Before that happened there were multiple abandoned attempts to start learning. I wanted to write about that part for anyone who is as stuck as I was.

Crowdfunding and not studying law

Starting with some context. I studied Law at university, loved it, but didn’t want to become a lawyer. Then, after a couple of “what am I doing with my life” internships, I talked my way into a job at an equity crowdfunding start-up (where investors get shares, not just ‘rewards’).

For a first real job it was a lot of fun. I met loads of people each week, got to try free samples from the businesses I worked with (organic lolly company, anyone?) and to attend some ridiculous tech events. Most of my time was spent hearing entrepreneurs getting excited explaining their business to me while I worked out which questions to ask.

Eventually, I started finding the most interesting answers in these meetings were about how they had used technology to build the solution to a problem they had experienced. After this kept happening and the investment side of things had become very familiar, I admitted to myself that I wanted to start learning to code so I could build things too.

Extra-curricular learning attempt, round 1

So I started teaching myself to code. That first day I came home from work, looked online and asked some of my more techy friends where I should start. As a day one it felt like a success. I hit some Codecademy milestones triggering a congratulatory email and generally felt good about my new path to becoming ‘technical’.

Before you stop reading, I promise this isn’t a story where I become someone who wakes up with the sun, goes to the gym and then gets in a few hours of studying before a day in the office.

What actually happened was, intending to do the same again, I came home the following day exhausted from a lot of intense meetings. Despite my plan for “becoming technical day 2” I couldn’t disengage and start learning something new. What turned into a hectic week became a hectic month and I stopped trying to make time to learn, still no closer to the skills I wanted to develop.

Extra-curricular learning attempt round 2+

What got me started again was the same thing that got me started in the first place. I was still meeting all those tech entrepreneurs and wanting the skills to just build a thing. So I sat down one weekend and got totally lost in it. And then had a crazy week, pushing the time to learn into the future. Again.

This cycle kept happening but the gaps between me giving up got shorter. You can see the stop-start process in my Codecademy emails.

I was also improving, getting stuck on simple things less and gradually getting more irritated that I couldn’t make the time to do something that was clearly important to me.

3 months after my first attempt I decided that I couldn’t devote the time needed to learning while I was still working and told the team that I wanted to leave to become more techy.

Lack of salary is a great motivator

My plan was to spend the next few months teaching myself enough code that I could get hired somewhere and learn during the role. I didn’t think a paid bootcamp was worth the cost for me as I now had the time and motivation (of no salary) to teach myself.

I posted on a women in tech forum, called Ada’s List explaining my risky sounding plan and asking for advice on more advanced free resources.

A flood of replies came back, a big proportion of which said I should definitely apply for a free full time coding bootcamp in East London called Founders & Coders. In 3 months they’d teach me to build things! FOR FREE.

I just had to meet their pre-requirement of fluency in Javascript. Before their final application deadline. In 12 days’ time.

“But I’ve only just heard about your course”

I emailed the course founder to see if I could ‘negotiate’ an extension. He came back with an email that started with:

“Clear the decks of *everything* for the next 12 days”

and ended with:

“You have about 200 waking hours between now and the deadline.”

So in short, no.

Well then.

Switching language and hitting the requirements

I wanted to at least try. The course I’d been working through over the stop-start months meant I could switch to beginner Javascript from Python and complete the Codecademy course in a day. The logic at that level is the same, though the actual syntax (grammar) is different.

I then had to get to level 5 (8 being the lowest, 1 being the highest) on Codewars, a site that lets you complete progressively harder coding challenges.

It was a big step up from the friendly Codecademy spoon-feeding (no congratulation emails here, either). I spent 8 hours stuck on a simple challenge that would have taken maybe 2 lines of code if I’d understood the problem better.

It’s the most frustrating thing when your code doesn’t work and you have no idea why – because you do know that it’s completely your fault. The computer does exactly what you’ve told it to do. If it breaks, you’ve given it the wrong instructions.

Even as I started to figure out more, I was still confused when the code broke, as I didn’t fully understand why it worked when it did. Each time I got more confident with the basics and then scared by the next level of difficulty.

Over the 200 waking hours, I managed to hit the standard needed. It felt like multiple lucky answers and lots of Googling that got me there, but that’s how learning works. I learnt enough Javascript to get accepted onto the course and I spent another 3 months, with 15 others, Googling things together and creating a new app each week.

Now I’m being paid to build early MVP’s (minimum viable products) for start-ups. So I can code. But there was a lot of giving up and starting again before I got there. So if you’ve currently given up, keep going. If you haven’t started yet – what’s stopping you?

Enjoyed this? Read Katerina’s other post, ‘6 lessons to forget before you start learning to code‘.

Main Image © iStock/vgajic