At one point or another, you wanted to become a better programmer. Your reasons for doing so may very. Developers make a lot of money. Software can improve the lives of its user. Whatever the reason, increasing the quality of code would get you there. Realizing this now, what do you do?

First, you might focus on the code you’re writing. You run your code through linters. You write more documentation. You remove duplicate code. You make more descriptive functions. You apply every good idea and best practice your internet browsing stumbles across.

But, you reach a certain point in the day. Maybe lunchtime hit and now you feel groggy from a heavy restaurant meal. Or perhaps the effects of two hours of sleep are finally catching up to you. Slowly but surely, your attentiveness wanes, leaving you a shell of your focused self.

Despite the weariness, you push on anyway. After all, you’re a coder (or trying to become one). What else does a coder do but a code? Onward you march.

Without realizing it, your output quality dips. You copy snippets from stack overflow without knowing how it works. You skip over failing tests so your updates pass. You set random booleans to true and hope the code works. Whatever it takes to get that feature or ticket or whatsoever completed. Just code and code and code.

What was your goal again? Become a better programmer? You look at your code, a spaghetti mess that will be a nightmare for future maintainers. Have you become a better developer compared to before you set out to work? In the beginning you were implementing good ideas. Yet those ideas are not reflected in the final product.

This conclusion seems counterintuitive at first. Coding is a skill, and skills need practice to hone. It requires 10,000 hours of practice to master a skill. There are dozens of startups that got by through working 10-hour workdays with little rest. You’re just doing what you’re supposed to be doing, increasing your hours to increase your abilities.

In practice, there is a limit to how much you can work. It is possible to work too little; writing code every day will get you farther than once a week. But human beings are only capable of a few hours of active concentration every day. During this time is when doing work will sharpen your skills. The question is, what to do with the rest of the hours in the day?

There are many lower strain activities that can increase your coding abilities. You can read articles about relevant technologies. If you feel comfortable talking to people, you can talk on discussion boards or attend IRL meetups. Maybe, you could even start writing a blog. While doing these will not directly improve your skills, they will hopefully fill your head with good ideas that you can implement when you are actually coding.

I am not advocating doing something programming or tech-related all the time. You need to take time off. Go for walks. Exercise. Spend time with loved ones. Sleep (please). Also remember that while passively taking in information from reading and talking is well and good, you still have to write code often to make progress. Just remember that coding doesn’t have to end when you stop writing into your text editor.