by Stephanie Winn

Why you should have Practice Hours as a developer


If you are a musician or know one, you know that there is “practice” and “rehearsal”. These two have very different meanings.

Often times musicians have “sacred” practice hours. They don’t do it for an artist, band, or for anyone other than themselves. It’s their time to sit down and focus on a technique, song that they want to learn, or whatever their heart desires.

Developers need this time, too

When I was first learning to code, I was dedicating 60–70 hours a week to my coding bootcamp. I learned a lot and grew in my capacity to learn something quickly. As you might have guessed, I got burnt out.

After I graduated I took a break. I didn’t dedicate as much time to coding as I was when I was “drinking from the fire hose”. I found a job as a developer and was coding for 40 hours a week. My company has it’s own open source JavaScript framework and we use Craft CMS. I spent the first couple of months there focusing on learning our tools.

After a while spent working in my company’s tools, I started hearing about cool new technologies I wanted to try out. I also found myself wanting to learn about back-end languages and concepts. I didn’t have any real justification for learning these other than, “just cuz”. I decided to put in place my own sort of practice hours.

My routine

I started by coding random apps and ran into an issue where I would forget what I was working on. Hello GitHub Graveyard! Without a project manager or a Trello board to keep me on task, I am lost. I decided for this I wanted to go analog and bought a cheap spiral notebook for every practice session. You can do whatever feels best.

I start by reviewing what I worked on the session before, and write a focus for the new session. It roughly follows the following formula:

Today I want to learn about ______. I will read/use ______ to help me learn.

I take some notes in the notebook or in a markdown editor while I’m working. Once I’m done and feel good about what I learned I finish up the session with the following:

Today I learned/built ______ and I felt ______.

Summarizing what I learned and how I felt about it are so important. When I’m researching something, the first intention I set is never what I actually learn. I find that whatever topic I choose leads me to another concept I need to learn first.

Writing your feelings down every session is critical to growth. I can track topics that make me feel accomplished, overwhelmed, or completely lost. Usually, the latter is when I know I need to seek someone out to help me understand a concept better. Online tutorials can only get you so far!

When deciding how much time you want to dedicate a week to practice hours, it’s best to start with small sessions. You should focus on keeping the appointment to begin with. Once you have developed the habit you can increase the time.

Once you are ready to increase your practice time, you can turn to Malcolm Gladwell’s idea of 10,000 hours. You can read more about it in his book, Outliers.

The idea is the key to achieving world-class expertise in any skill is a matter of practicing for a total of 10,000 hours. Let’s break that down. If you practiced for 3 hours a day every day it would be 3333 days or a little over 9 years. I’m not recommending this. Having a life outside of coding is so much more important. You will be way more productive.

What I am recommending is to consider your goals, available time and tenacity. Add the idea of 10,000 hours and mix well. By all means if you want to be the youngest senior developer this world has ever seen, have infinite free-time, and the will of Mulan taking down the Huns…Yeah, go for it.

If you are the rest of the population and want to lead a dynamic life, you need to be realistic. Strive for progress and not perfection and I promise you will reach your goals.

Here’s a quiz to determine your ideal practice schedule

1. I’m ready to reach my goals:
A) As humanly fast as possible. Let’s go already! (+1 if you read that in Bender’s voice)
B) At a moderate pace. I’m ambitious, but willing to wait for the payoff.
C) I’m not in a rush. Success takes time! It’s about the journey.

2. I understand that success means:
A) Working hard, putting in the hours and staying late.
B) Working efficiently, being timely, and taking chances.
C) Working with others well, focusing on long-term gains, and being present.

3. I want to be in the top:
A) 2 percent
B) 25 percent
C) 50 percent

4) My life is:
A) Focused
B) Busy
C) In the moment

5) I’m willing to sacrifice:
A) Everything
B) Weeknights/Weekdays on occasion
C) Sacrifice? No way!

If you answered mostly A’s

Congrats! You are hungry for success and won’t stop till you get there. I’d recommend a fast-paced study plan. 4–5 practice days a week with around 3–4 hours at a time. Let’s be honest, though — you will do more. Now get going!

If you answered mostly B’s

Congrats! You are driven and ready to get after your goals. I’d recommend a moderate study plan with 2–3 practice days a week at 1–2 hours at a time. Yasss henny!

If you answered mostly C’s

Congrats! You are along for the ride of success. Take pictures and breath in that air on your journey! When you get there it will be that much sweeter. I’d recommend a leisurely practice plan with 1–2 practice days a week at 30 minutes-1 hour.

If you fell somewhere in-between

Take a look at your work schedule, project cycles, and free-time. Start with the smaller goal and strive for consistency in practice time. Increase as you become consistent.

In summary

Practice hours — working on whatever the heck you want outside of your job — allows you to focus on your goals. Not just your company’s. I think this matters whether you are working as a developer now or want to change careers to become one.

Yay! You made it. Thanks for reading my article about developing your own schedule for practice hours.

If you’re interested in what else I get up to as a web developer in Nashville, you can follow me on Twitter or check out my blog about maintaining your health and wellness as a developer, theHealthyDev.