Deliberate Practice: The Hidden Key to Make Developers Powerful

When you face a difficult challenge like entering a technical job and juggle time for learning there's one thing you can do to keep your head afloat.


Juan F. González

2 years ago | 3 min read

The field of software development is extremely competitive one. You must be able to code if you want to succeed in it. However, software development is a constantly changing field. It's not only necessary to learn something once but to keep improving your skills.

So how do you break into the industry while learning at break neck speed or stay relevant at the job with all the never ending changes coming in?

That's where you have to leverage a quite unknown method of learning called “Deliberate Practice”. This will help you to become a better developer.

What is deliberate practice?

Deliberate practice is a special kind that's specifically aimed at improving your performance. It is purposeful and systematic.

You don't get to a practice session just thinking about “doing the thing”. You get into it with a defined purpose and focus on a particular aspect for that session.

In both types of practice (traditional and deliberate) you work on the skills with the intention of becoming better at them. The difference, however, is that one is much harder than the other but delivers greater results.

In traditional practice, mindless repetitions are what everyone do. In contrast, deliberate practice demands focused attention and the sticking points are the main targets. This is for the sole reason of improving performance.

What are some benefits of deliberate practice?

Some of its benefits include:

  • Improved skills and abilities in the areas that are practiced regularly
  • A deeper understanding of the subject matter due to focused learning
  • Greater efficiency and effectiveness in work as a result of the improved skills and understanding.
  • A better view of actual skill vs knowledge gaps.

Deliberate practice can help improve your abilities in many different areas of domain knowledge. With regular practice and focusing on the specific skills needed to perform the tasks of a project, you can become better at the work in general.

Needless to say, because this practice gives you a deeper understanding of the subject matter, it will take you from novice to experienced faster than otherwise.

How to apply deliberate practice properly?

Since this type of practice is structured and intentional, it's not enough tojust show up and “get your reps in”. It involves certain steps that you go over in order. Those form the basis of an effective practice session.

First, set specific goals. What is that you want to achieve in the specific practice session? For example, using JavaScript array methods until you understand which ones to use in certain situations.

Next, Break down the task into smaller components. This is so you can isolate the parts of the skill and tackle each one without getting overwhelmed.

This next step is probably the most important. Get feedback. This is necessary to see if you're moving on the right path or wasting time in useless repetition. Timely feedback allows you to course correct and get back on the right track.

There are several ways to get feedback but there are 2 most common: Measuring results and outside help. Measuring gives you an objective metric to know if you're improving or doing the same as before.

External help can come in the form of a friend that has more experience in the skill, an instructor in a course, or a mentor that you can reach.

Lastly, you gradually increase the difficulty of the practice session. If yesterday you could do 20 pushups, tomorrow you go for 30. If you were able to write 500 words before, now go for 600. If you solved 5 coding problems, seek to solve 8 the next time.


Deliberate practice has been shown to be an effective way to improve skills in a variety of domains, from music to sports to medicine. So there is no reason why it can't help developers develop the necessary skills and become better at their work.

It helps to identify areas where there's a need for improvement and then focus on those areas. This leads to faster progress and better results overall.

Additionally, deliberate practice can help developers become more efficient and productive in their work. This due to the fact that they won't be just copy and pasting code from somewhere without understanding the solution. It leads to a deeper knowledge so they can understand the how and why of what's being done.

The caveat here is that deliberate practice is no easy activity. It requires sustained effort and concentration. If you commit to lifelong learning, you can improve faster and for longer.

Deliberate practice is not a magic pill, but if you can be disciplined enough to maintain your focus and determination, you can get all the benefits of it. Getting the most bang for your “learning buck”.

Thanks for reading.


Created by

Juan F. González

Web developer turned online writer. I help knowledge workers & online creators learn effectively and build the necessary skills to achieve their goals.







Related Articles