It is hard to believe it has been almost three months since I started teaching myself programming.
There are times when I look back over the last few weeks and marvel at how much I have learned. Other times I feel like I am not as far along as I should be and that my progress is too slow.
When I first started my journey to become a self-taught programmer I had a basic timeline for how long I expected things to take.
I was going to finish Codecademy in a month. I was going to complete Code School the next month. By the third month, I was going to be cranking out all kinds of awesome projects.
Turns out that timeline was all wrong.
I did complete quite a few lessons on Codecademy but nowhere near as many I thought I would. I went with Treehouse instead of Code School and while I have made good progress it has been slower than expected. I have even completed some cool projects but I am not working with APIs and crunching data like I thought I would be at this point.
Even though it has been slow going, I am happy with where I am.
I realize now that my initial estimate was way off. A lot of that was based on how long the training sites say their lessons should take.
For example, Codecademy says they have 147 hours of curriculum but that isn’t a realistic estimate of how long it would take to complete all their lessons. Not if you actually want to learn anything.
Just because a training site lists something as a 105-minute course doesn’t mean you are going to finish it in 105 minutes. That 105 minutes is more like the bare minimum amount of time required.
It doesn’t include things like extra reading you might do on the subject, practice coding outside of the lesson to reinforce what you are learning, or going over troublesome parts more than once.
Remember the goal isn’t to just check off a bunch of boxes on your lesson to-do list. The goal is to actually learn things. While you can try to estimate how long it will take to learn something, in the end, it takes as long as it takes.
100 Days of Code
The #100DaysOfCode movement seems to be picking up steam recently. Every day on Twitter I see more and more people accepting the challenge.
Unfortunately, I feel like many of these people are missing the point. 100 Days of Code is all about ingraining the habit of coding by doing it each and every day.
To me, coding means sitting down with your text editor or CodePen and writing code. It does not mean watching an eight-minute video and completing a multiple choice quiz.
In one of the original posts from the creator of #100DaysOfCode this type of thing was specifically mentioned as not counting towards the challenge.
Keep in mind, this all started as one person’s self-improvement plan. These are rules he set for himself so that he could get as much as possible out of the challenge.
It isn’t that working on lessons each day isn’t a worthy habit, but it’s not the same as building a daily coding habit.
As 100 Days of Code has grown in popularity, it has been streamlined. Where there was once a detailed list of rules there is now a mantra: code for at least one hour a day. This vagueness leaves a lot of room for interpretation.
If you check out the hashtag #100DaysOfCode on Twitter you will see that people’s definition of what makes up one hour of coding varies dramatically.
Much like what we talked about earlier with learning, #100DaysOfCode shouldn’t just be about checking something off your to-do list. It is about becoming better at something. In this case coding every day.
If you are one of the people who thinks listening to a coding podcast or watching a couple video lessons counts as your hour of coding I would urge you to rethink your definition.
In the end, 100 Days of Code is all about self-improvement. By coming up with creative ways to give yourself credit you are only cheating yourself.
I am not trying to judge what other people are doing but I know how much actually coding every day has helped me. I hate to see people shortchange themselves by just going through the motions.
Alright, time to step off my soapbox and get back to work.
See you next time!