Skip to content

You Don't Get Better Without Deliberate Practice

I had a close friend who recently joined the tech industry reach out to me and ask me about my thoughts regarding doing "outside work" to level up his career. I see this discourse come up on Twitter(1) from time to time so I felt now's as good as ever to offer my thoughts.

  1. I refuse to call it X. Never gonna happen.

The Question

Every six months or so I see some variation of the question appear on social media:(1)

  1. Usually being stirred up by "tech influencers" desperate for engagement, but that's none of my business...

"Should I be working outside of work hours to get better/get ahead in my career?

These types of posts tend to attract many strong opinions and there are typically two schools of thought regarding it(1):

  1. But often in waaaaaay more words than this.

  • Yes, you should definitely be working outside of work hours
  • No, you should never work outside of work hours

The issue I take with these answers is the tend to overlook a few nuanced considerations, mainly around career aspirations and reality.

Through the Eyes of a Musician Turned Programmer

While in college, I studied both Music and Computer Science(1). I received both my Bachelor's of Arts in Music and Bachelor's of Science in Computer Science from Texas State University at the same time. I walked across the stage on Friday to receive my Music diploma and again the following day to receive my Computer Science diploma. However, my education in these topics didn't start there. I had played an instrument since I was 11 and had been programming since I was 15.

  1. Ok, so I'm going to keep this as short as I can. This story is deep.

There is a theory known as the 10,000 Hour Rule that is often cited in music programs. The idea is that if you practice 10,000 hours, you will reach elite if not virtuosic status in whatever you are trying to achieve. It's a good story. Try hard enough, you'll get good. And while recent studies have debunked certain aspects of this theory, I still believe there is some truth in it.

When I was an undergrad studying music my freshman year, my classmates would often brag about how much time they spent practicing.

"I spent 8 hours in the practice room today."

"Oh ya? Well I was in there for 10 straight hours!"

"You wimps, I woke up, went to the practice room, and the next thing I knew it was tomorrow."

However, when you asked them what they accomplished during this time, their answers would become a lot less clear. They may have been able to say they worked on their solo, or practiced their scales, but when asked "What can you do today that you couldn't do yesterday?" an answer was rarely found. This made me realize that practice alone was not the answer. Deliberate or focused practice was.

Deliberate Practice

Think of professions outside of your own. Perhaps a musician, a doctor, or a lawyer. Do you think they work outside of work hours? Does a musician show up to play at a concert and never practice the material before hand? Does a doctor with a full patient load cease learning because it doesn't fit in the 9 to 5? How about a lawyer who doesn't keep up with recent case law? There may be some who do this, but ask yourself, would you purchase the services of these individuals?

Practice is key to improvement, there's no disputing that. However, the type of practice matters. Practicing your instrument just for the sake of practicing does not lead to improvement. Going in, setting a goal of being able to play these scales from memory at this tempo a certain number of times without failure does. How long this takes you is irrelevant. Whether it takes you 30 minutes or 30 hours, the result is the same.

Deliberate, focused, goal-oriented practice is required to improve a skill. Period. End of sentence. Whether you are given time to do that while on the job is irrelevant. You may get lucky. You may be given time to sit down and learn about a new technology or tool to make your job easier. But capitalism is going to capitalism, and most likely you won't be given the time. Therefore, you have to make the time.

Should You Practice Outside of Work Hours?

Many people try to answer this question without answering a more important one first, which is

"What do you want from your career?"

Are you trying to be the best software engineer on your team? Get promoted to Head Lead Senior Staff Vice Principal Architect Astronaut? Or are you providing your time as a service in return for compensation?

Let me be 100000% clear BOTH ARE PERFECTLY VALID ANSWERS!

One of the things I hate about corporate culture is the expectation that we should always be striving to take the next step up the ladder.(1) I have great friends and colleagues that are like me, highly ambitious in our careers and are constantly striving to do more and make vertical moves. And I have great friends and colleagues who clock in at nine, leave at five, and don't write a line of code in the hours outside of that. Both are valid ways of living your life. You can have a successful career on both paths.

  1. This absolute stupidity is the reason the Peter Principle exists. And we do it to ourselves. Just let people do the job they want to do for fucks sake and stop pushing them into roles they aren't capable of doing and, more importantly, don't fucking want.

So does this mean that those who are hyper obsessed with their career are more likely to have a more successful outcome? Yes. But let's be honest, you already know that. You know this because you have observed reality around you. At the time of writing this, the 2024 Summer Olympics are happening, and I'm constantly seeing joke posts on the internet about how we should have one "normal" person participating in the events so we can see how the rest of us would fare. This is a perfect example of deliberate practice.

Is it also possible for someone who doesn't engage in their career outside of work hours to just be better than you? Also yes. They may just have a natural affinity for network switches. There's nothing you can do about this. Being upset or jealous will get you no where. So focus on what you can control, which is yourself.

As a past professor used to tell me

"You don't know their story."

Which basically meant that you don't know what they did or how they acquired that knowledge. Maybe they've been doing it from a young age. Maybe they spend hours everyday learning on their own time. Maybe they're 10,000 years old and have the wealth of all human knowledge in their head. No matter the reason, you cannot change what they know. The only person you can improve is yourself. Focus on the things within your ability to change and control. Instead of being jealous, learn from them. In my career I have progressed at every role I've been in because I identified the person in the room who was way better than me at a specific task, sat next to them, and listened and learned.

Doctor Strange saying teach me to the Ancient One

So, the answer to the question "Should I be working/practicing outside of work hours" is, in my opinion, "If doing so advances your career in the direction you want, then yes." But it isn't just that you practice, it's that you practice the right things.

Not All Types of Practice Yield the Same Results

The summer before my junior year in high school I had the opportunity to take a private lesson with a professional trombone player. Growing up in a rural area, opportunities like this were not common. My mom and I drove two hours to meet with the instructor and honestly, that one hour session changed the trajectory of how I played and practiced. We spent the entire time discussing embouchure(1) and getting mine right. The results were immediate and amazing. He gave me a few exercises to practice and we were done.

  1. embouchure: noun the way in which a player applies the mouth to the mouthpiece of a brass or wind instrument

It's not just enough to practice, it's determining what is lacking, how to fix it, and how to maintain these changes going forward. Having a good teacher or mentor who can point you in the right direction makes all the difference here. I had been practicing trombone for five years and gained more in an hour than five years of instruction had provided. Whether it's learning trombone or how to deploy Kubernetes clusters, if you're not getting the right information your progress will be limited. Don't get me wrong, you'll make progress. Anything is better than nothing. But you may not see the results you want. You may get stuck, or not progress as quickly as you would have hoped. This can lead to discouragement.

So how do you ensure that you are practicing the right thing? Find a mentor. Find someone who has traveled a similar path you wish to go and ask them what they recommend you learn, how to learn it, and most importantly, what not to learn.

Where Should I Start?

Going forward, I'm going to assume that you have decided that you do wish to do some form of outside work practice. Because if you decided not to, congrats, you're done!

Don't Just 'Do More Work'

The first thing I always tell people is don't work for free. This phrase can have a variety of interpretations, but the most simplest is, don't just continue working on assignments from your employer. This is a trap a lot of people fall in to.

For the sake of this example, let's pretend you decide to dedicate ten hours a week to deliberate practice, but decide to fill it by just doing more work for your employer.

First, your employer isn't going to reward you for it. They may say they will, but in reality they won't. Not fairly at least. I took this route at the beginning of my career. I put in extra hours to help get a massively over-scoped project to ship on time. At performance review time I received a top review, one of only five engineers across the entire 2500 person company to receive one. My reward was 5% bonus. When I left that job a year later, my new role was a 36% increase in pay. The reality is promotions, bonuses, stock grants from your current employer never stack up to what you can get by getting a new job.

Second, you're setting an unrealistic expectation of your output. You are sending a signal that this is your new capacity for work. Your employer is getting an extra 10 hours a week for free that you may not want to give for the rest of your time there. But if you ever decrease that time, you may be viewed as slacking.

Third, you may not realize it, but you're raising the companies expectations on your teammates. Think about it. You've just increased your output by 20%, from 40 hours a week to 50 hours a week. Your team is now faced with two options, try to replicate what you are doing, or hope that no one higher up starts asking "Well X can get Y number of things done in a week, why can't you?". By putting in more hours, you are creating a more difficult environment for your teammates.

Finally, the reward for good work is always more work. Something you pick up as part of your practice may end up becoming part of your job. Say for example that your company maintains a Terraform provider and you want to learn how to build Terraform providers(1). So you decide to pick up a few issues from GitHub and fix them. Oh wait, there was a bug in that ticket. Do you have time to fix it? Hey, the company has this new feature and they want it put into the Terraform provider. You were the last one to touch is, so you can implement it right? Shouldn't take too long and we all know you get work done. OMG there is a massive issue with the provider, it's deleting things it shouldn't! You need to fix this NOW! And it goes on and on and on. You are now responsible for something that isn't part of your job description and you aren't being measured on. But the company still expects work to be done, so congratulations on your new responsibility. And even better, you may get requests for help on things adjacent to this. You have now become known as someone who gets things done in your organization. So everyone is going to come to you with their issues. And now you have to exercise your ability to say no to things(2). By the way, you're still expected to get your original workload done. You won't be given any space to make time for all these new tasks, so now you really do need those extra ten hours a week. See how it can quickly spiral out of control? So be careful with what extra tasks you pick up, they have a tendency to multiply.

  1. Great call btw! You clearly have immaculate tastes. Except for the Golang part. But woohoo for the Terraform part!
  2. Which most people suuuuuuuuck at.

And don't come at me with this "Well I want to get promoted" shit. If you think that doing more work on your team is what leads to a promotion you have a misguided understanding of how promotions work, especially in tech. You don't get promoted by doing the same work you were already doing. You get promoted by doing different work, by working cross function and collaborating. The formula isn't

\[ p=ht \]

where \(p\) is getting a promotion, which is determined by the product of the number of hours you work \(h\) and the number of tasks \(t\) you finish(1).

  1. Oooooh. Pretty math plugin for markdown. Me likey.

Bottom line, I highly recommend you don't dedicate your practice time to doing more work for your employer. It never ends equitably.

Work for Yourself

So how do you practice if you don't just do more work for your employer? Simple. Work for yourself. This doesn't mean that you have to turn your practice into a side hustle and make money(1). It means the primary benefactor of your work is you or something you care about, like an open-source project.

  1. Although this isn't uncommon. Many startups have found their roots here.

Practice with Leet Code Problems

While I have made my disdain for leet code known far and wide, I don't take issue with the exercises themselves, rather how they are used in the hiring process. They are actually not a bad place to start when picking up something to practice. Just view them as code puzzles. When doing them, practice a certain skill. Are you trying to get better and writing optimized code? Try to make the answer as fast and using the least memory as possible. Are you trying to get more practice with the Python standard library? Find a way to use functions from that in your ' solutions. Want to learn new language? Write your solutions in that language(1).

  1. This is actually what I do. When I was in high school I was on a competitive programming team and did leet style programs. When I learn a new language I actually pick up some of these old problems that I already know the answer to and implement them in the language that I am learning.

I don't recommend staying in leet code forever. I occasionally do one for a brain teaser, and I do try Advent of Code every year. They have a specific purpose, and are not a silver bullet(1).

  1. No matter how much tech hiring wants them to be.

Work on a Side Project

This is one of the best ways to get exposure to new tools. Pick a tool/framework that you want to learn and build something with it. Or even pick a tool that you use at work. It's totally fine to practice skills you currently use at your job at home, just build your own things with them. This allows you to play around with it, try new features, break things, and just have fun.

Read a Book

Bet you weren't expecting that one were you? Books are a great source of knowledge, inspiration, and wisdom. Practice isn't solely hands on keyboard. Practice can take many forms. So read a book. You may retort with "Well what about blog posts or Reddit or SubStack?" and those are fine too, but there is something to be had for reading a book from a publisher. The publisher vetted that book and its contents. They paid for technical review, copy editing, developmental editing, and a lot more. They put their reputation on the line saying "We stand by the contents of this book enough that we want to distribute it." So ya, I put a little more faith in books from established publishers.

It should also be noted that you don't have to read about a new technology. Books on leadership, time management, marketing(1), anything outside your direct area of work will help you understand the challenges of the business more. If you're looking to advance in your career, you can't just know about your job. The higher you climb, the more knowledge about the business as a whole is required.

  1. The amount of engineers who scoff at marketing(1) is directly equivalent to the number of failed startups in the world. "Build it and they will come" is horseshit.

    1. That was me. I was one. I learned my lesson.

But I'll go even further. Don't like reading books about work or tech? Fine. Read some fiction. Just 👏 read 👏 for 👏 the 👏 love 👏 of 👏 God 👏. Reading is so good for you. It's so good for your brain. Adults don't read enough. Read.(1)

  1. And now I've convinced myself to write a blog post about this topic. So be ready.

Join a Community

One of the fatal flaws I see people fall in to is not caring about their professional network. The tech industry is a small world. If you haven't experienced this phenomenon yet, give it a minute. You'll start a new job and your coworker may be the cousin of your ex-boss. If you don't think people go through your LinkedIn, check connections, and ask mutuals about you then I've got some ocean front property in Arizona I'd like to sell you(1). So nurture your professional network. Go to a local meetup, conference, social event. Keep in touch with previous coworkers. If you're feeling really confident, give a presentation at an event. Communities are a great way to stay up to date on the latest trends in tech, as well as make connections who you one day may want to work with. And heck, you may just make some friends along the way(2).

  1. Growing up in the south, folksy sayings are my vernacular. Sometimes they come from ones I've actually heard, sometimes I make them up on the spot. Every. Single. Job. I've ever worked has always said they want a book of my phrases. Every one. This particular one comes to us from the wonderful lyrics of the King of Country Music, George Strait. If you don't get it, or aren't familiar with the geography of the United States, Arizona is landlocked. It means you're gullable. This was a particular favorite of my mothers.

  2. Some of my best friends I met at a conference. We get together every year and hang out, eat BBQ, and catch up. If I ever need professional advice, or hell even a job, I know I can reach out to them.

Parting Thoughts

As I was leaving the private trombone lesson mentioned earlier, the lesson teacher had one more golden nugget to share, which I have carried with me my entire career. He simply said to me

"You decide how great you're going to be. No one else."

This quote still has a profound impact on me today. It's why I practice outside of my working hours. I have large aspirations for my career. I want to climb the ladder and see how far I can go. And all of the tools necessary for me to achieve this rests solely in my hands. I just have to choose to act. And so do you.

What will you choose?