by Alexander Kallaway

Quick intro to #100DaysOfCode

It’s a challenge and a community that has grown around it over the last couple of years. Thousands of people have taken the challenge and improved their coding skills.

The problem it solves is: when people start learning to code, it’s very difficult to commit to a consistent course of action and code every day. Often the efforts, despite their best intentions, are sporadic. It’s very dangerous in the beginning of their learning journey, because if they take a long break they might quit and never come back to learning.

#100DaysOfCode is a challenge that anyone can commit to.
There are 2 main rules:

  1. Code a minimum of an hour every day for the next 100 days
  2. Tweet your progress every day with the #100DaysOfCode hashtag and the day number

The rules are not as strict as they may seem. You can adjust the time, or skip some days if needed. The main goal is not to ‘survive at all costs’ but to teach your own brain to be consistent, and to develop a ‘coding habit’.

Another great rule to adopt is:
Encourage at least 2 other people in the challenge (“hundreders”) by commenting on or liking their work and updates on Twitter.

This is one of the ways you can increase the value you are getting from the whole experience: on top of improving your coding skills, you are also making new friends and establishing yourself as a node (pun intended) in the tech industry network.

Sounds good? Let’s commit to the #100DaysOfCode together!

to join us for #100DAYSOFCODE
Starting January 3rd, 2019!?

New Year Resolutions Caveat

Make sure you don’t commit to more than 1 major (and 1 minor) New Year Resolution. If you spread yourself too thin, you will — as many others do — find yourself back at the starting point around Mid-January or February.

Instead, do the opposite of what your brain might be telling you. Push down the excitement of changing everything about your life in an instant. Decide on one thing you will do, and cultivate and foster the excitement for it. Plan out in details what you will learn, when you will study, and so on. All of that helps you stick to the habit.

I think learning to code is one of the best skills one might decide to develop. It brings with it the freedom, the finances, the enjoyment of work and so much more. So, my biased advice is: make one resolution and let that be learning to code or improving your existing coding skills.

Read on to learn more about habits and get some #100DaysOfCode community updates!

Not Just For Beginners

The challenge is definitely not only for people starting to learn to code. It benefits people no matter what their skill level is. If you are just starting out, don’t feel that you need to ‘only work on projects’ — you can use any resources you want to learn.

If you are not new to coding, you can use the challenge to:

  • Learn a new framework
  • Learn a new programming language
  • Get a lot of practice in a specific area or problem type you decide on
  • Contribute to Open Source
  • Get better at refactoring code

Remember that the #100DaysOfCode challenge is designed to be taken multiple times. Each time you plan, do it, then analyze the results. These are called rounds. Each round you will get better at planning and execution, which will lead to more results in the same period of time.

Be Kind To Yourself

To be more specific: feel free to bend the challenge rules to meet your needs.

This is the point I wanted to address the most. I often see people restarting the challenge because they’ve missed a day, or people who say they can’t do the challenge because they don’t have a whole hour to spare every day, and so on.

I want you to be kind to yourself, to understand the ultimate goal of the challenge — to develop a coding habit. Everything else is secondary. Life will get in your way. Things will happen, late nights out, laptop breakdowns, and more. Don’t be deterred by that.

I suggest that if you find that you’re asking yourself “Should I restart the challenge or continue?” and you are more than one week ‘in’, the answer should almost always be: continue.

If someone tells you that you’re doing it wrong or not really doing the challenge, just ignore them. It’s the same people who like to judge others like: “Oh, they are not a real developer because the do or don’t do X”.

Make A Plan, But Don’t Overthink

Before starting the challenge, write a quick plan. Write down what you want to learn (such as JavaScript, React, Python or CSS) and 3–4 resources you will use as you go along. The goal is to never have a day when you have to wonder: “What should I work on today?” because that is a slippery slope to breaking a newly formed coding habit.

Reach out to the #100DaysOfCode Community

If you feel stuck or struggling with something as you go through or plan your challenge, don’t hesitate to reach out to the community with your questions and thoughts — tweet using the #100DaysOfCode hashtag.

We currently have more than 4000 people in our Slack. Click on this link for the Slack Invite!

Remember that the more social connections you have in this journey of learning to program, the smoother that journey will be and, also, you will get there faster!

Learn more about the challenge on the official website:

Identity-Based Habits

This is probably the most powerful concept I’ve learned this year. It comes from James Clear’s book: “Atomic Habits”.

The idea is that we often fail to acquire a certain habit because we don’t think of ourselves as a person who would do that. For example, you want to start exercising, but you don’t consider yourself “a fit person”. All the effort you put into forcing yourself to exercise gets nowhere, because eventually you get tired and “bounce back” to your regular lifestyle.

The key is to start thinking of yourself as a different, new kind of person you want to be, and then your efforts will just keep backing up your new belief.

Let’s say you think you are “not a technical person” and you decide to learn to code. If you keep that belief, whenever doubts will come to your head, you will think: “yes of course I struggle with learning to program, it’s because I am not a technical person”.

However if, when you start the #100DaysOfCode challenge, you were to change that one belief — just decide that from now on, you are a technical person, a hacker, a computer genius in the making. Then, when you code for an hour every day, you will be proving to yourself that you indeed were correct in the new belief you’d chosen for yourself.

Don’t rush to make a decision on whether you are ‘not meant to be a coder’. An example that will give some perspective on this: you wouldn’t expect that if you picked up a violin today for the first time, you would be a great player next week. Same with learning foreign languages. Yet, I see people judging themselves as ‘not fit’ for coding after they try it out for a week.

Nothing great happens overnight. It will be more like a sliding wave of daily effort, which you get at riding better slowly but surely. It’s unstoppable.

If you want to learn more about habit formation: this year I’ve given a talk at a free remote conference ByteConf React, where I’ve tried to crystallize everything I’ve learned so far about habits and self-improvement strategies and techniques. It’s available on YouTube ?

Let’s commit to #100DaysOfCode together!

?CLICK HERE to join us for #100DAYSOFCODE starting January 3rd, 2019!?

Thank you so much for reading this article! A lot more to come in the New Year! If you are interested in learning to code, habit formation, self-improvement (and a bit of nerdy sci-fi and space stuff), sign up for my newsletter:? ? …subscription form is below the projects :)

If you have questions, concerns or you are afraid the ‘coding is not for you’, DM me on Twitter and I will do my best to help!