Title Credit: Amboo Who

We’ve all been there. Maybe it was buying $200 running shoes after going to the gym for the first time, maybe it was building a semi-professional recording studio to try and make your first YouTube video, or maybe you just set out to learn French and accidentally spent 2 weeks reading about language apps rather than learning French. When we start out on a new path that we’re passionate about, it’s really easy to get carried away.

That’s a pretty accurate description of where I was a few weeks into the #100DaysOfCode challenge:

Day 17 and I’m already trying to do an hour of code and a CSS image a day.

How it began

Just for some background, I’m not a developer. I’ve spent most of my life working in retail and hospitality. We were never taught a “Hello World” or anything more advanced than an Excel formula when I was at school, and technology has been strictly a hobby for me for the last 15 years. Everything from installing and scripting Linux, to learning little bits of code here and there for a specific task, you name it, I’ve dabbled. To be a developer though, you need a CS degree (or so I thought), and that wasn’t an option.

Enter freecodecamp.

It wasn’t my first online course. I’ve completed several getting started courses from several institutions over the last couple of years, but none had ever left me with more than the basics of syntax and no idea where to go next. I could make a command line shopping list in about 9 languages, but a GUI calculator in none. Free Code Camp from the start made me realise that actually, I could become a developer, and soon I found #100DaysOfCode.

This was big, — huge even — I was going to keep on track, build up a portfolio on github and be ready to start applying for jobs in just a few months time. It was mid January. I for the first time ever, I set myself the goal of becoming a junior developer in 2017, and I would start the 100Day challenge on the first of Feb. I went to my local meetup group the night before.

So, What happened?

For anyone not familiar, the #100Days challenge is very simple. All I’d committed to doing was to code for one hour in addition to my studies each day and share my progress with fellow ‘challengees’. Very quickly however, without really noticing it, I started to commit myself to more and more challenges, courses and projects that excited me. All around twitter, gitter and Medium I saw people doing amazing things and I just kept striving higher. Pretty soon my daily workload looked something like this:

Who needs sleep?

It looks crazy right? 9 hours a day? Why would anyone ever try that?

The thing is, each one in itself isn’t a lot of time, and each one is also very, very rewarding. On the days that I got to do a bit of everything on my list, I really felt like I’d achieved something awesome and I could feel myself progressing as my knowledge grew day by day. I was also reading a lot of articles shared by people who had realized their career change or goal, and the common theme was hard work. I was putting in a lot of hours, but it would all be rewarded.

Inevitably though It wasn’t long until I started to miss things as day to day life, my family, friends also needed me. First to go was the website — it just took so much time that I started leaving it until last, then writing up the previous day the next morning, and eventually I got to 2 days behind. Whilst this should have been a good thing, freeing up more time to focus on what matters, I’d built up the importance of this challenge to the point where I took it as a failure. My fun little challenges were now starting to become something I couldn’t actually live up to, but I certainly wasn’t going to let myself fail.

The cycle eventually came to an end when my wife and I went away for a few weeks. We were at a resort with 1 bar cell reception and 60kbps wifi — It just wasn’t even going to be possible to do 1 hour of code a day on the trip. I accepted defeat. I felt quite dejected, and I was keen to restart as soon as we got home.

Fortunately the time out gave me pause. We took a speed boat trip, snorkeled, and rode in some of the scariest taxi’s on earth. When it was time to come back, I’d had time to assess my mistakes, and two great pieces of advice I’ve heard in my life came to mind:

“FOCUS — Follow One Course Until Successful” -Ben Tristem “Sometimes you have to let your baby go”-Unknown

That second one comes from a random talk I went to at university about knowing when to kill a project. Essentially I would restart the challenge, but keep it simple.

State of things now

I’ve just completed my first week and am half way through my second. I’ve ditched the website and side quests this time, and I just stick to my web-dev path 5 days a week, with 2 days off to work on whatever I like, just to appease the FOMO inside me. I find I’m actually being more productive and spending longer on my coding by removing the pressure I was putting on myself. I’m not doing less, I’m focusing more.

The real thing I’ve taken away from my experience isn’t that trying to do 9 hours of work a day in your free time is a bad idea, that’s obvious. It’s the importance of spotting that something isn’t working, and having the courage to “fail” at it. In this instance by trimming the fat I’m now writing better code and feel less stressed, but more importantly I’m no longer fearful of saying to myself “you know what? let’s just change this and start over”. The end point remains the same; junior developer in 2017.

TL;DR

#100DaysOfCode is, I think, one of the best challenges any aspiring developer (or existing developer looking to hone their skills) can set themselves. It holds us accountable and inspires us in a way that’s just so hard to achieve through unstructured self motivation alone.

At times though, we can be our own worst enemies. If you find yourself falling behind, or feeling overwhelmed, do not fear failure. I hear there’s a saying in Silicon Valley:

“fail fast, fail often”

Identify where something isn’t working for you, ‘let the baby go’, and start again with a new goal or focus. Maybe 1 hour every day with a full time job, young family, long commute, and a dog to walk just isn’t realistic; maybe like me you’ve taken on too much; or maybe you tried the challenge before and something didn’t work out. It’s okay to “fail” and start again with different parameters.

The only failure is the failure to try again.