My Approach to #100 Days of Code.
When it comes to my approach to how to learn to code quickly, I have to start with a shout-out. Andrei Neagoie’s Learn to code in 2021, get hired, and have fun along the way post is the best succinct resource I’ve found so far.
It’s also the foundation for much of my planning and early perspectives on all of this. I was only planning on doing freeCodeCamp and Codecademy, but the post was so good I decided to sign up for his ZTM Academy and give it an hour a day in my schedule.
As for my how I plan to learn to code, it’s pretty simple: I’m going to spend a lot of time learning and practicing.
Below is the learning I’m starting with and the number of estimated hours to complete provided by each site.
- Responsive Web Design Certification (300 hours)
- Front End Libraries Certification (300 hours)
- Data Visualization Certification (300 hours)
- Code Foundations Path (5 hours)
- Front-End Engineer (350 hours)
- Full-Stack Engineer (350 hours)
- Complete Web Developer in 2021: Zero to Mastery (? hours)
There’s approximately 2,000 hours of training between freeCodeCamp, Codecademy and Zero to Mastery, not to mention some other ad-hoc stuff I’ve got queued. 2,000 hours isn’t really feasible in 100 days, but I’ll chew through as much as I can.
Feb 12 Update: After 20 days of this program, I’ve made a change. Where I started with 10+ hours of coding per day, I’ve decided to scale back in order to build web development work into my schedule (primarily through Webflow and WordPress sites). I really enjoy the design work, and it decreases the financial pressure of making the coding work quickly, so I’m going to balance my days between learning to code and executing web projects. I’ve updated my daily schedule and content below accordingly. If you’d like to see my original schedule, click here.
“Rest at the end, not in the middle.”
The Daily Schedule
Laying out the learning objectives is important, but the daily schedule is equally so.
Self-teaching takes a lot of self-discipline, which is a lot easier to maintain when it’s given structure. Hence my daily routine, which I will follow six days a week over my #100DaysofCode challenge, beginning on January 23rd.
Here’s what my days will look like, 6 days a week. Sundays are free days.
This time is dedicated to catching up on emails, working on personal projects, reading a book, or other personal time.
I’m setting aside half an hour for family wake up and breakfast time. Family meal times that don’t involve any screens is important to us.
The productive part of the day begins at 7:30am with a 2 hour work session. While my focus is on finding web development projects that fit with my longterm goals, the work I do in this block will be dictated by client needs. May be any combination of Webflow, WordPress, coding, copywriting, technical writing, digital marketing, graphic design etc.
One of the great things about having the ability to schedule my days out is making sure I can get some outdoor family time built in twice a day.
Finishing off my web work for the morning, this chunk puts me at 3 hours of productive work in the morning.
The morning finishes up with a 1.5 hour chunk of freeCodeCamp, working through the certification programs listed at the top of this page.
An hour set aside for personal fitness and wellness. Half marathon training will be a big part of this time.
The more time I spend with this course, the more impressed I am with the course design and how they’ve chosen to walk people through the program. Very practical and functional approach to coding instruction.
Codecademy definitely offers the deepest dive into the content of the three programs I’m working with, and it really forces you to interact with certain elements. Sometimes this frustrates me as someone who’s always trying to move as quickly and efficiently as possible, but at the end of the day I think it’s a good thing and worth the discipline to see it through.
In the afternoons we generally take the dog out to the city park up the hill. It’s a beautiful urban forest – we’re incredibly fortunate to have one of the best urban forest trail systems we’ve ever come across right up the road.
The goal here is to fit an hour of productive freeCodeCamp time in between the afternoon walk and dinner.
Having a family dinner every day with everyone present and attentive, with no electronics in sight, is a real priority for us.
A couple of hours after dinner is set aside for family and personal hang out time.
I like doing productive work late at night, so this chunk of time is dedicated to client work. If I need some extra sleep, I can always cut this short and hit the sack early.
Total Hours Learning Code
2.5 Hours / Day
1 Hour / Day
1.5 Hour / Day
One of the things this schedule illustrates is that there’s not much dead time in a day if you want to put in anywhere close to 10-11 hours of solid work and still make time for family activities, meals, and personal wellbeing. This is a full 6am – Midnight schedule that doesn’t afford much wasted time. It’s tough to grind away at something like this and keep things balanced, it’s an 18 hour day to get 6 hours of coding and 5 hours of client work.
In terms of rigidity of schedule, here are some of the basic parameters I’m laying out for myself:
- The exact times are not set in stone, this schedule is more of a daily collection of time blocks that can be moved around as needed, though I’ll try to stay on schedule to the extent practical.
- Hours can be moved to Sunday if need be.
- There may be days that I need to miss for whatever reason that comes up, I’m not going to sweat it if I have to lose a day or two along the way. The important thing is getting back up on the horse as soon as possible.
- With the above said, even on days where something comes up and I won’t be able to follow the schedule, I’m really going to try to spend a minimum of 2 hours coding no matter what.
Getting healthy again is a big part of this 100 day challenge. My previous work was filled with long hours and stress, which was not conducive to living a healthy lifestyle, and it got worse over time. Combined with some training injuries back in mid-2020, I got knocked off course with my running. I’ve got some ground to make up, but that’s alright.
It’s been a few years since my last half-marathon, which we did in San Francisco. (As a side note, if you’re into running and you’re looking for a destination race, I hugely recommend the San Francisco Marathon. It is a world-class event and running back and forth across the Golden Gate Bridge as part of the race is incredible.)
I’m integrating my half-marathon training program into my daily schedule, the one hour block I’ve set aside in the middle of the day is primarily for running training, though once I get into longer runs I’ll have to make some adjustments as an hour isn’t enough time for anything over 10k.
I’ve always based my training on Hal Higdon‘s programs, and I’ve always been happy with them. His website is a lot fancier now than it used to be, and if you’re into the app stuff, that’s great, but you can just find the training table that suits you and then download them into a spreadsheet program, which is what I do.
The goal for this training program is to run the Nova Scotia Marathon “Sea Me” Run in July.