100 Days of Code

#100DaysOfCode

I will code for at least an hour every day for the next 100 days.

I’ve decided to make this a public commitment.

And you should join me  for 100 days of code

NOTE: For the most updated information on the challenge visit:
 The 100DaysOfCode Official Website

You can follow me on Twitter and my GitHub. I will be posting weekly updates on the blog with highlights of what happened during that week.

Why am I doing this

I want to become a better developer dare I say one day the best. But things in life get in the way of my commitment to the trade. In the book The clean coder by Robert C. Martin

he states, “Your career is your responsibility…20 hours you should be reading, practicing, learning, and otherwise enhancing your career…Professionals spend time caring for their profession.”

I look back at the last few months, I look at the excuses I have made. I am too tired, I have too much going on, the baby kept me up late. Now don’t get me wrong I had a lot of good intention to sit down and code every evening. But not making a commitment would allow my brain to take the lead and take me down the road of less resistance. Read this post about how to train your brain to do things you don’t want to do. So how do we fix this?

We commit, commit to a challenge, commit to being accountable, and make it public to anyone to follow and sees my updates.

Sticking to anything can be difficult a difficult task, be it trying to improve your knowledge or your fitness. Note: It is also good to follow courses online, or work your way through a curriculum it helps keep you on task and give you challenges.

One of the most important parts of the challenge is making a public. American Society of Training and Development (ASTD) did a study on accountability and found that you have an improved chance of completing a goal if you commit to someone. (source needed)

After work, I have noticed that time just slips away. Most of what I do is important life tasks be it bills, house chores or taking time with my wife and kids. All understandable and things that I should be doing as well. We all have things we need to do, most of us don’t have a live-in maid and unlimited time for the family tasks. There is a lot of “Adulting” that needs to be done in our lives and it will never go away. But just like the dishes, your coding needs to be a task that must be done daily. I honestly wish I had more passive relaxation time to just watch something but I don’t. As a result, there are things that I need to sacrifice. And to be the best sacrifice is needed.

In a week there are 168 hours.

  • 40 you career (be it job or school)
  • 56 Sleep, if you sleep 8 hours
  • 14 daily tasks (eating, bathing, cooking)
  • 7 this challenge

What remains is 51 hours or 7 hours a day (a lot more time than you though)

Robert C. Martin recommends 20 hours a week if you consider yourself a professional. If we follow his advice we are left with 38 hours of free time or around 5.5 hours a day of free time.

Now I know life is not this easy to calculate but it just allows you to put into perspective the time you have and out to optimally use it.

Some additional rules:

  1. You must Tweet/Post/Blog about progress every day
  2. Coding for pay/school does not count.
  3. GitHub will be updated every day so that anyone can see progress. If you want, you can follow me here.
  4. Pick a project and stick to it.
  5. The time spent doing tutorials, online courses and other similar resources will NOT count towards this challenge.


FAQ from the official page:

  1. Q: How do I get in touch with the people who are also doing this challenge?
    A: Search for #100DaysOfCode on Twitter, or join the 100DaysOfCode room on Gitter — you don’t need an invite, it’s open for anyone to join.
  2. Q: I am new to coding (or just deciding to learn to code) and can’t build projects yet, what should I do?
    A: The best way to start would be to follow the FreeCodeCamp’s Front End Curriculum from the very beginning. The further you get during the 100 days, the better.
  3. Q: I’ve missed a day, does it mean I’ve failed the challenge?
    A (UPDATED): Absolutely not. You are allowed to miss one day in two weeks. (then make it up by adding one more day to the end of the 100) Never miss two days in a row (so you can’t skip the 14th day of one week period and the 1st day of another). This is a great piece of advice on habit formation that I got from Leo Babauta at zen habits.
  4. Q: I come home late, and by the time I am finished with my hour, it’s past midnight, does it count?
    A: Of course it counts! The rule of thumb is: have you coded for at least an hour before going to sleep that day? If yes, you are on track.
    The reason for this is that we all have different schedules and different life periods (kids, school, work, and what have you) so don’t hold yourself to some arbitrary time standard. You will not experience what Cinderella experienced once the clock strikes midnight.
    I am actually in the same situation most of the time — I come home late on certain days (work, French courses, life getting in the way, etc.) and I’ve decided not to worry about things like that, or whether I get a point on GitHub on that particular day. Yes, it’s nice to have them in a streak one by one, but don’t do yourself a disservice by measuring your efforts to a clock.
  5. Q: Should I keep a journal?
    A: That’s optional, but it’s a great idea. It can be a GitHub repo, where you store all the links and/or projects completed or a text file where you jot down the highlights of what you’ve done that day.
    It’s helpful in two major ways: you will be able to look at the progress each day and see how far you’ve already come and it will be easier to find the motivation to continue, and the second one is that after you’ve done your 100 days, you will be able to analyze your experience better and see what worked and what didn’t.
  6. Q: Should I put my projects online?
    A: Definitely. It’s great for accountability and motivation to know that the stuff you’ve worked on is accessible online to anyone who may wish to look at it. It will make you care about the end product more, and will make the results of the challenge more impressive when you look back at them on Day 100.
  7. Q: Should I worry about streaks?
    A: Streaks are nice and helpful, but as I mentioned above — don’t worry about them too much and don’t criticize yourself over missing a day. Instead, make sure you do everything to not let that happen again, and know that worrying and scolding yourself will not give you any results. (Ok, It will give you results, but only negative. I would call them consequences, not results) The best way to get out of that negative emotional state is to sit down and code.
  8. Q: What is the most difficult part of this challenge?
    A: The part where you have to sit down and start coding. Don’t postpone that or think about it at all, because you will rationalize yourself out of it. Approach it mechanically: sit down, open your laptop, launch your coding editor, and start typing. After 5 minutes, you will not feel any problems/procrastination/desire to stop.
  9. Q: If everyone started on a certain day, should I join them on the day they are? For example, from Day 12?
    A: This challenge is individual, so when you join you start at day 1. Whenever you’ll be posting an update on Twitter or elsewhere, make sure to mention which day you are on and use the hashtag so that people can find and support you!

Can I join the challenge?

If you want to join me in this challenge, I welcome you to do so. Just use the hashtag #100DaysOfCode or join the 100DaysOfCode Gitter Room.

If you decide to do this, please reach out to me and we can help and encourage each other!

Leave a Reply

Your email address will not be published. Required fields are marked *