TII #006: What I Learned From Programming 365 Days in a Row
Should you challenge yourself to develop software every day? Here is my experience.
Reading time: 4 minutes
A big thank you to our sponsors who keep this newsletter free to the reader:
Today's issue is sponsored by Testimonial.to. Get more testimonials from happy customers and use them to promote your business, with Testimonial.to.
And by Supatabs. Save up to 95% RAM and remove tab clutter with this Google Chrome extension. Add it to your browser for free now: Supatabs.
I love a good challenge.
Challenges help me push myself to achieve a specific goal in a given amount of time.
They add an artificial deadline which helps me focus on what’s important to achieve the set goal.
I generally use challenges to test my limits, learn something, or make something specific happen.
In the recent years this has been:
Be vegetarian for a year
Caffeine fasting for 3 months (multiple times)
Not drinking alcohol for a year
Programming every day for a year
Learning Japanese from 0 to speaking in 6 months (current)
Programming every day was partly to test my limits, but also to fast-track my skills as a developer.
I had a few goals:
Learn using VIM
Create a helpful open source project
Publish three different software services for my business
An added benefit of doing hard challenges in general: It’s a great tool against impostor syndrome. The best one I have discovered so far.
Here is what I learned from my programming every day challenge and whether I recommend you doing the same.
Preparation & Circumstances
A big lesson I had from previous challenges: Prepare!
Every challenge I have done so far required at least a bit of preparation to improve the chances of success.
For my programming 365 days in a row challenge I thought about the following:
What are my circumstances? (E.g. work, available time, living situation)
Is there a system to make programming every day easier?
What will I be working on in the beginning? (It’s pointless to start a “program every day” challenge without a project for the first day/week/month)
The answers were important to make the process smoother and prepare for speed bumps.
Potential speed bumps for a 365 days challenge:
Public holidays, family events, etc. This became clear when I went vegetarian for a year.
Moving around countries (Nomading)
Your health. (You might get sick)
Work situation
There are many more, but they vary according to your own situation.
Here are my answers to the questions above:
Circumstances: Stable living space, currently no nomading and I run a full-time service business. This means I’m programming outside of my challenge for clients as well. I did not count this client programming time towards my challenge.
System: Decide what to work on every Sunday for the week ahead (rough plan) + decide what to develop every night for the next day (specific task)
First project: A running project I have already been working on before the challenge
Definitely think about how you can make it through unexpected issues, and how you can make the ride a bit easier.
How it went
As with most challenges the beginning was easy.
The hype level is high, everything is new and you want to get things done.
Same for me.
For me , things become more cumbersome after roughly 3 months. The initial hype wears off and things become “normal”.
I won’t lie, I wanted to quit a few times in month 4.
But I kept going.
After the initial hump I got into a grove and did my thing. Most days were pretty similar and my system to decide what to work on worked out extremely well.
Along the way I got a few new project ideas and started planning them out in my weekly Sunday planning session.
Fast forward to the 9 month mark - I have achieved all of my goals:
Learned VIM
Created a free Chrome extension template (now at almost 100 stars on GitHub)
Launched 3 software services for my business
The 9 month mark was important because it was mid November. This is when things become busier for me outside of work.
There were birthdays, Christmas parties, Christmas and then New Years.
It was monumentally harder to keep coding every single day in addition to all the client work I have been doing. Add house responsibilities, events and so forth to the mix and you are slowly running out of time.
From the 10/11 month mark on I often had to force myself to work on my projects and find ways to fit it into the day.
To be honest, not a good experience at all.
Should you do the same?
All in all, I think a challenge like this is perfect for rapid improvement.
I learned a ton, tried many different things in the programming realm and even published projects now generating some income every month.
It’s a great way to step out of your comfort zone and push yourself.
However, I don’t think programming every day for a year is the right approach in general.
If I did it again, I would either:
Program 6 days per week or 312 days out of the 365 days of the year. This would provide some much needed flexibility, which is especially helpful when doing it after full-time work.
Do a shorter more intense 3-6 month program every day challenge.
Keep in mind, this will also not be super beneficial for you if your main goal is to make money with your projects.
It’s not impossible, but programming every day takes much needed focus away from marketing tasks.
I can not stress this enough.
If you are planning to make money with your software startups, focus on publishing businesses rather than programming like a maniac.
In this case a “build 12 startups in 12 months” challenge like levelsio has done is much better suited.
In a nutshell: Do it, but don’t do it the way I did.
TL;DR:
A challenge can fast-track your improvement.
Prepare well and make sure you have specific goals within the challenge.
There will be hard times and you might want to quit. Keep going.
Make sure the challenge helps you achieve your goals.
Caveat: If you do a “build 12 startups in 12 months” challenge because you want to launch a successful business, it’s not important to finish the challenge. It’s much better to double down on a business that shows some traction, than jumping to the next.
I hope this article was helpful!
Cheers.
PS: I’m currently doing a different challenge to learn video making and Japanese from 0 to speaking proficiency in 6 months. I document my journey on YouTube if you want to check it out here.