What is the best way to get advanced software skills?

Kamren Zorgdrager is Director of Product Development at DevelopIntelligence and believes that software developers should develop their coding skills through deliberate practice. In a recent Forbes article he emphasized simply reading, watching and listening can only teach you so much about coding software. To become a proficient software developer you must actually practice and put your skills to the test. In the case of developing software, you must practice writing code.

To attain advanced levels of a skill you must deliberately practice tasks designed to enhance your performance.  You must practice regularly and extensively. Computer labs or assignments in a software development class are an excellent way to practice software development skills.

The more one practices the better one gets regardless of their initial talent and ability.  Performance differences attributed to talent and ability decrease over time as a function of practice. This means that highly talented individuals lose their competitive edge over time if they do not practice when compared with less talented individuals. Use it or lose holds true regarding skill development.

High quality practice boosts your skillset

The quality in addition to the quantity of practice is extremely important. Researchers indicate the highest quality practice takes place early in the morning.  Practice is generally more efficient when two hours in length with informational feedback. Informational feedback provides knowledge about errors and suggestions on how to improve performance. Both are particularly helpful in fostering high quality practice.  The best practice occurs under the watchful guidance of a skilled mentor who helps the developing person set goals and monitor improvement.

It is important to note practice counts much more than native ability. There is no easy path to advanced skill. Those who work the hardest for the longest time and have access to skilled mentors can reach the highest level of skill attainment. This means that you can become an expert software developer even if you were not born with all the necessary skills.

Please note: I reserve the right to delete comments that are offensive or off-topic.

Leave a Reply

Your email address will not be published. Required fields are marked *