Consistency Is Hard
I heard about the 100 days of code challenge around two years ago when I got into web development. It's a challenge where you're supposed to code at least 1 hour a day for 100 days straight.
I failed at it. HARD.
I just couldn't manage to stay consistent.
Some days I coded, others I didn't.
Some days I felt inspired and motivated, other days I felt like crap and I couldn't get anything done.
Some days I was just, well, busy. Life got in the way.
Coding 1 hour a day for 100 days, sounds easy, but it's not. The consistency aspect is super hard. At least for me.
So after multiple tries, I've accepted defeat.
Going with the flow
I decided to go with the flow. Code depending on how I felt.
So some days I'd code for 5-7 hours, and on these days everything would just magically work ✨
That code snippet I copied from stack overflow? Runs the first time.
I Encounter a bug? The answer was the first one on Google.
On other days though, things were slow. Nothing seemed to work, I felt stuck, and I wasn't focused at all. Sometimes it feels like the only productive thing I've done during the day was running
What's also weird was I had no in-between. It was binary.
Either I'm super productive, or a potato.
With time though, I managed to accept it.
Getting used to this cycle made me happier since I didn't feel guilty all the time.
For all beginner developers out there, I want to let you know that It's okay not to be productive every day. It's okay to stumble, struggle, and be stuck. In fact, it's part of the journey.
If you're productive and in the zone, enjoy it while it lasts.
If you're stuck, ask for help or take the day off. It's fine. You can always try again tomorrow.
Now some of you might find a hard time believing what I'm saying. You might be worried that missing a couple of days will greatly impact your progress as a developer.
I'm here to tell you it won't.
What truly matters: doing your best
In reality, what matters is the total hours spent.
Two people can end up coding the same amount even if they follow different schedules.
Here you can see that in the weekly progress chart, the person coding 1 hour a day codes for 7 hours per week, while the other person codes the same amount but for fewer days.
And for the total number of hours spent coding during the year, the person that went with the flow spent on average the same number of hours as someone that coded 1 hour every day.
I'm the second type, and luckily, I track how much time I spend on my text editor.
I use Wakatime, which is a VSCode extension that tracks the amount of time you spend coding. I installed it on December 24th, 2018. Since then, I've coded for a total of 1218 hours.
This is what my chart looks like
As you can see, I have times where I coded consistently, others I had zero activity.
The moral of the story, do what works best for you. Don't feel like you have to follow a specific schedule religiously to get better. Just make sure you're always trying to get better. Eventually, you will.
The funny thing is, 1218 hours in two years is around 1.7 hours per day. So I guess I did complete the challenge after all.
Track how much you work, but don't obsess over it
Tracking the number of hours is not the best metric, the quality of the time matters too. You should strive to achieve both quality and quantity.
These numbers also do not show the full picture. They don't include the time I spent reading other people's code (which taught me a lot), watching talks, reading blog posts, and meeting new people.
However, I think tracking helps in keeping you accountable and it can also act as motivation.
Do your best, trust the process, and remember: you're only competing with yourself.