Well hello there. Long time no see.
Yeah, I know. I've been the one who went missing for quite a while.
But I had to return regardless of the situation or whatever obstacles I found in the way.
And I'm back with recharged enthusiasm and more practical things to share.
With that being said, let's get on with this article!
Software development is a highly competitive field. If you want to succeed in this field, you need to be able to code. But software development is also a field that is constantly in change.
If you want to grow as a competent software developer and make sure that can perform properly, you have to work on your skills. Not doing it only because "certain department said so" but doing it constantly to keep your skills sharp and ready to use.
Best way to do this? Two words: Deliberate Practice.
Deliberate practice is a method of learning that is specifically designed to improve your performance. It involves working on your skills with the intention of becoming better at them. Deliberate practice is different from normal practice in that it is specifically focused on improving your performance.
Deliberate practice is also different from learning new things. When you learn new things, you are trying to acquire new knowledge or understanding.
With deliberate practice, you are trying to improve your performance by developing new mental representations that let you do things you weren't able to do before.
It allows you to see on a general scale your strengths and weaknesses. With it, you can know what areas you're competent in and identify others where you need to improve. It also helps to keep your goals in mind and know if you're moving closer towards them.
Plus, it helps you to make sure you are practicing in a way that's most effective.
Deliberate practice is not easy and it takes much more effort than traditional practice. It will be uncomfortable and not always feel rewarding and fun.
The good part?
It will help you improve faster than usual. You'll get to a point where you'll be amazed at the things you can create. You can afterwards look at previous projects and be like "damn, did I do that myself?"
Aside from the already mentioned benefits above, deliberate practice has one characteristic that separates it from other kinds of practice...
Allowing you to do things that you previously thought were not possible.
You might think, isn't that what regular practice does in general?
Not exactly. The regular type of practice we were taught in school or college, was pretty much "repeat the thing over and over until you know how to do it in that specific context".
In contrast, deliberate practice allows you to have a better view of what you're good at (maybe because of previous knowledge or natural affinity) and what you truly suck at.
Talking about software development, most people I know of have only one of the things mentioned above (natural affinity). This makes learning the craft a rather difficult process compared to other areas of human skill.
But the important part here is...
It'll help you improve faster and deliver greater quality of work.
Since this type of practice is structured and intentional in its way of doing things, there are certain aspects that are necessary to take into account when doing it.
This involves setting specific goals, breaking down the task into smaller components, getting feedback, and gradually increasing the difficulty of the task.
More specifically, these is what you need to keep in mind when doing deliberate practice:
Set specific goals. What do you want to achieve with your practice? Make sure that your goals are challenging but achievable.
Break down the task into smaller components. This will help you focus on one specific aspect at a time and make it less overwhelming.
Get feedback from a trusted source. This could be a mentor, coach, or even just a friend who is willing to give you honest feedback.
Gradually increase the difficulty of the task. This will help you push yourself and avoid getting stuck in a rut.
That is a more detailed roadmap of the steps you have to take to make sure you're having actual progress instead of rote repetition that "feels" like you're accomplishing something.
If you keep these steps in mind, you can make real progress in your development career and progress much faster while creating awesome things in the process.
Deliberate practice is a skill that is invaluable for all of us as software developers. It is the process of actively working on a skill to improve and refine it.
It works better when we are consistent with it and devote at least an hour a day for it. Even though it helps us progress faster than usual, it still takes some time for it to be effective. There's no "magic pill" or "overnight success's" here.
There you have it. How you can become an epically skilled developer by applying deliberate practice in your learning process.
If you came all the way down here, I appreciate you 🤗
Thanks a lot for reading. Hope it was clear and useful. If you any questions about this I'm always happy to help. Shoot them my way!
Take care and see you in the next one.