Life moves pretty fast. If you don’t stop and look around once in a while, you could miss it. — Ferris Bueller

My time at freeCodeCamp was a fun and exciting one. When I first began with freeCodeCamp, I’d often come across this message, which also sounded like a preamble —

Let’s pick up a new skill and get a new job, all in a few months.

You will see a lot of articles like “Hey all, I was a school teacher before, and now I’m earning $100k as a engineer for x startup”. If you’re starting out in web development and you surround yourself with other people who want to achieve things — they will, you know, achieve. And so will you!

There’s a bit of expectation vs. reality here. If you are the kind of person that can memorize a ton of information relating to your chosen field, then you’re onto a winner. As for myself, it’s about repetition and repetition, until it becomes a habit. And there’s a lot to be said about habits.

Forming habits takes time though. On December 30, 2016, I decided to take part in the #100DaysOfCode challenge. I couldn’t give you an idea of how I felt then, but reviewing the log entries I seemed pretty confused and a little frustrated with it all.

At the end of it, it’s definitely been an enriching and life changing experience for me. Along the way I have met some truly awesome and inspiring people, happy to help with any issues or problems you may have. The support I found not just in the #100DaysOfCode community but the web dev community as a whole is truly amazing.

I’m going to go over some steps I have taken to help me with learning to code (again) and cracking #100DaysOfCode.

Having Patience

Being patient is essential — instant gratification doesn’t work all the time. This will soon come to light if you start to compare yourself to how other people (your cohorts) are progressing. You may start to wonder why you’re not progressing as fast as other people appear to be. This might probably add to any anxiety you may have, whether you can do something or not. Do not concern yourself with this and instead use that energy to focus on what you need to do, and code.

Different people progress at different rates and learn in different ways

As for myself, I have found that I’m a visual learner. I’ve known this for a long time actually, where to be able to ‘join up’ concepts and paradigms that I need to see in action. This is why I will always gush about courses by Kent C. Dodds or Wes Bos, as they are great at explaining complex subjects, among many others. Their content on egghead.io and wesbos.com are awesome at explaining concepts simply and visually.

Your mileage may vary though. So find out what works for you, and stick with it!

I have discovered recently that splitting my time between projects wasn’t really helping me. So I decided to work on one particular project each time I sat down to code. The first time I did this, I was struggling for hours with little to nothing show for it. It felt futile and I was getting anxious about not moving on. It was at this point when I would usually switch context and work on something else. I found though that pushing that little bit more was all I needed.

This was such a psychological win for me, and gave me the confidence to do more. It has paid dividends, as I now have 6+ demos of projects I have made on my portfolio.

Avoiding Distractions

I get distracted by things like Slack, email and Twitter. These apps should not be opened, as it will eat up your time. You have a set amount of time to get something done. This will come to light when you have finished reading your Twitter updates and Slack messages, only to realize you have fifteen minutes left to complete the task you set out to do.

I noticed this soon into starting #100DaysOfCode. What I did was turn off all my phone notifications. If you need to check something then check it. But don’t let your phone dictate where your attention needs to be directed.

I turned off all browser notifications for Slack and Gmail. My phone is left in another room on “Do Not Disturb” while I work. While in Do Not Disturb mode my phone will not make a noise, unless someone on my stared contacts list calls me. I pick up the phone in the afternoon to check for missed calls, listen to voice mails and return any calls if needed.

Making time

Saying that you don’t have the time to do 1–2 hours of coding a day isn’t going to help. Yes it’s tough, but it’s not about having the time. It’s about making the time to do it.

If it’s important to you, you will make time for it.

You’re the only one that can make these things happen. Often I get asked “So what do you like to do”? I struggle to answer this, as all I have been doing for the last 18 months is learning to code!

Creating Balance

It’s the key to everything. I am not perfect here — this journey has taken its toll on my health. Towards the end of 2016 I was 95 kg, and today as on February 26th I’m 115 kg.

This weight gain is a mixture of illness at the start of 2017 and bad diet choices thereafter. In the past I consciously opted for ‘healthy’ foods, spending that little extra time deciding what to eat.

While being ill at the start of 2017, I developed a bit of an addiction to cereals (granola) 😬. It was quick to prepare and easy to eat, and I got a quick boost from it.

Quick and easy soon became the norm after that. I have identified this now and am making an effort to reduce this, while also making time for my development.

You need to have a balanced diet too! 😀

my hack-diet weight stats for the last 15 months: https://www.fourmilab.ch

Using Tools

I use some tools to help me ‘get on’ with what I’ve set out to do.

A while back I started using Todoist. This is great for when you’re scrolling through your Twitter feed and find a link to a really neat looking tutorial or post you want to read, but don’t want to go down the rabbit hole of working out where to document it. I usually add such links to Todoist and come back to it when I get the capacity to work on it.

WakaTime is a great tool for quantifying your coding — pretty handy when doing #100DaysOfCode.

stats yo!

RescueTime is handy for helping you identify your productivity black holes and give you a nice breakdown of where your time is spent on your computer and mobile.

Using Life hacks…

They’re called hacks, so everyone can think they’re used for “cheating the system”. In reality they’re some helpful rules to aid you if you need to find some extra time.

Get up early. I’ve taken to getting up an hour earlier than I used to, to squeeze an hour and a half out of the morning. I have an MI band that I have set to vibrate to wake me at that time, so I do not disturb my wife.

Go to bed early. Sleep is important kids — anyone that says otherwise obviously doesn’t get enough sleep.

…and some Good luck 👍

When I finished my last (VBA) contract in October, I used that time to fully immerse myself in web development.

At the time (which was good timing actually) I started a build to learn project with two other remote developers — one in Egypt, and one in Serbia. We were all participating in the Chingu Voyage, and this has been a real eye opener for me. It has given me the confidence to get all my portfolio projects ready for potential employers to view.

While taking part in the project, I got to treat it as a full time job — which my WakaTime stats will attest. This was one of the triggers for me that I should start applying for jobs as a junior dev.

Thanks for reading

If there is anything I have missed, or if you have a better way to do something then please let me know.

Find me on Twitter or Ask Me Anything on GitHub.

This was originally posted on my blog.