Time tracking my coding and learning…
…as a measure of consistent incremental improvement towards mastery.
Around a month has passed since my initial blog post about enrolling in Launch School and completing my first course. (If you haven’t seen that, check it out here!) I’ve just recently completed the second course, Course 120: Object Oriented Programming, in Launch School’s five course unit entitled Programming and Back-End Development. I couldn’t be happier with my experience in the program so far!
I wanted to take a moment to reflect and share one of the tools I use to aid me on my journey — time tracking software. I have a full-time job as a Music Teacher, a wife, a successful local band, and other hobbies and interests. But when I started the course, I set one goal: to read, code, practice, think about, and focus on the course material for three hours every day. I did not set a goal of what I would accomplish or produce. I did not predict what I would know and not know after those three hours. I just wanted to make sure I spent consistent and focussed time engaged with the material.
Using timecamp.com, I’ve been logging my hours whenever I’m working on Launch School. It’s been very convenient for me to use the smartphone app as well as their browser-based software. I’m happy to report that in the 22 days since I started Lesson 1 of Course 120, I’ve logged 68 hours of work! That’s 3.1 hours every day! And, in the 52 days since I started Course 101, I’ve logged 190 hours of work! That’s 3.7 hours every day!
When I look at the time tracker’s reports, I notice one big take-away. Unless I’m working on a major project or assignment, most of my learning takes place in short 20–40 minute sessions in between other things I’m doing with my day. This makes sense to me — it’s how I tell my music students to practice!
Learning and memory are inherently intertwined. The way your memory works is by being jogged, or reminded, of what you want to remember and learn. If you bump into the same person everyday, eventually you’ll learn her name based on repetition. I’m finding the same thing is happening for me with the fundamental concepts of programming via Launch School’s curriculum. Here’s how the learning process works for me:
I read a section of a chapter. I put it down. I think about it as I participate in other activities in my life. I then come back to the course, and usually review the last thing I read, continue on to the next section, and then put it back down. When I go back after an unrelated task, I briefly review the new thing I just read about, add on a newer concept, and then put it back down.
This learning process has been a super efficient way for me to absorb the complicated material found throughout Launch School’s curriculum. I repeat that process four to six times a day! I also usually supplement the brief sessions with one longer session of an hour or so in the evening.
It seems to me that the way Launch School structures their curriculum aligns with this type of learning process. The course content is presented in a repetitive fashion in which Launch School exposes you to a concept in an early chapter, demonstrates it in a later chapter, and then has you practice it over and over again within various exercises and projects.
Keeping track of my time is a way for me to make coding a daily habit — to shift from my current state to that of a professional computer programmer. By setting this one goal and having a way to track it, I am setting myself up to succeed by continually improving my skills. That is all that is required to become a master.
If you already use a website or software to keep track of your time, leave a comment below to let me know what other tools are out there! If you haven’t already signed up for a time tracker, what are you waiting for?!? Go do it now! You’ll be glad you did.