If you have an interest in developing a coding habit or if you want to take your skills to the next level, I highly recommend participating in the #100DaysOfCode challenge. The challenge, created by @ka11away, is designed to help participants develop a daily habit of coding. It also immediately connects you with a global network of people who are also trying to become better developers (or like me developers, period).
There are only a few main rules for #100DaysOfCode:
- Code every day for 100 days for at least an hour.
- Tweet your daily progress to the #100DaysOfCode hashtag.
- Connect with and encourage at least two other people who are also doing the challenge.
For many people, coding for an hour every single day might seem unrealistic. Maybe you work or study long hours and some days it's just not possible to carve out the extra time. Or maybe like me, you have kids and/or a partner who understandably demand a lot of your time. Whatever your reason, if you're feeling overwhelmed by the idea of coding ever day, I have some good news for you: you're allowed to break the rules! It is ultimately up to you to define your own metrics of success. In the end, the #100DaysOfCode challenge is about finding the best way to develop a solid coding habit. For some people that means coding every single day. And for others it necessarily means breaking the rules.
"It's very flexible, it's up to you. You can definitely do anything you want with it. You don't have to re-start it every time you make a mistake. […] If there is a certain limitation that you know up front, you can write it into the rules of your challenge."
- Alexander Kallaway, creator of the #100DaysOfCodeChallenge in Ep. 46 of the FreeCodeCamp podcast
People who know me best know that I love to play by the rules. My wife can't handle playing board games with me because I am constantly referring to the rule-book when others are treating the rules as mere suggestions. I appreciate structure and routine and I tend to be more successful when there's a clear framework that I can follow (maybe that's why I like coding so much?). With this in mind, it makes sense to me that I was eager to participate in the #100DaysOfCode challenge when I saw it appear in my Twitter timeline last year.
One of my main life goals is to have the flexibility to spend ample time with my partner and our kids. Yet when I started the #100DaysOfCode challenge, I routinely found myself taking time away from my family to make sure that I got my coding in on weekends and holidays. I worried that if I skipped a day or two of the challenge, I would have to start over at day one. Eventually I realized that even though I already had the flexibility to spend time with my family, I was sacrificing it while striving to achieve the same flexibility in my future career as a developer. That didn't make a whole lot of sense to me.
As a result, I decided to align my goals for the #100DaysOfCode challenge with my longer-term goals. I made a conscious decision to code daily as often as possible but to also spend guilt-free time with my family whenever I needed (or wanted) to. I ended up taking most weekends and school holidays completely away from coding, but I made sure to get back to daily coding as soon as it was possible - usually on the following Monday. And for me, that worked great. I am convinced that this relaxed approach to the challenge helped me to finish all 100 days (even if many of them weren't consecutive), and to establish a habit of coding regularly.
I realize that everyone's life-demands are unique which means that everyone's criteria for success will be too. And I'm certainly privileged to be able to take time off with my family whenever I want to. Whatever your circumstances are, I hope that you won't be discouraged by the idea of coding for 100 days straight but that you will be willing adjust the challenge so that it works best for you, in order to accomplish your goals.
In the end, I completed my first round of the 100 days of code in 166 days. And I'm super happy about it, so much so that after a break over the summer holidays (my kids we're home every day, after all) I started round #2.
If you are considering doing the #100DaysOfCode challenge and you're anxious about coding every single day, my advice is to give yourself some slack. Think about why you want to do challenge, and as long as you're achieving the goals that you set for yourself, in my opinion you're doing it right.
Massive thanks for @ka11away
for creating the challenge, @practicingdev for reading this over for me, and to the #100DaysOfCode Twitter community for you continued encouragement and motivation.
Follow me during my second round of the #100DaysOfCode @stufinn!