How to improve your programming skills

in programming •  6 years ago  (edited)

The Little Book of Talent written by Daniel Coyle is a book about the question of how to get better with skill. Coyle interviewed many talent hotbeds and master trainers. The outcome of his research is a list of 52 directives on improving an ability.

He separates his list of directives into three major categories:

  • Part One: Getting Ready
  • Part Two: Deep Practice
  • Part Three: Sustaining Progress

The first section of his book describes practices to start with a new skill. He recommends looking for role models to analyze, review and copy their abilities in every detail.

Coyle separates skills into two categories, hard- and soft-skills. Hard-skills are the skills that must be very precisely replayed, often hundreds of times. He describes these by the acronym ABC: Always Be Consistent. Soft-skill is the capability to choose the best solution from a large selection of possible options. He describes them via by acronym 3R: Reading, Recognizing, Reacting.

Coyle then presents several approaches to ignite the initial spark for the desire to get better with a new skill. Followed by plenty of pieces of advice for initial training.

Part Two: Deep Practice

The second part deals with the learning approach itself.

He describes three different zones that can be applied to your training. The Comfort Zone, the Sweet Spot, and the Survival Zone. The zone where you learn the most is the sweet spot when you fail about 50%-80% times.

Coyle suggests that it is better to practice in small chunks. As it is preferable to practice with small and free of failure chunks than repetitions of one big piece with multiple errors.

Having no time constraint, but instead practice with a fixed amount of correctly performed repetitions is recommended.

The trainee should invent small tests and games to make practicing more interesting.

Coyle recommends to split the learning over time and not perform them in big chunks.

There should be no drills instead try to find small games with the skill that you are trying to learn.

Keeping a positive attitude is preferable over a negative reaction where you blame yourself for every minor mistake.

Part 3: Sustaining Progress

The third section is all about progress.

He states that for sustaining progress, the learner can embrace many repetitions that are performed daily.

Learning new abilities instead of trying to break bad habits is adviced.

Coyle suggests teaching the skills to learn them better.

The person who says he knows what he thinks but cannot express it usually does not know what he thinks. - Mortimer Adler

Slowing down to practice any fine detail of every small chunk is recommended as over time the small steps add up to a huge step.

Impact of Software Development

When applying his ideas to computer science, we start by separating hard skills and soft skills.

The following abilities are typical examples of hard skills:

  • Development Tools: Editor, IDE, GI
  • Programming Language
  • Operating System

These can be trained by learning all the functionality of the tools you are using to create the source code, like its usage and keyboard shortcuts.

Reading articles, books and watching tutorials is beneficial.

Reviewing your learning skills via, e.g., Learning Scientists and the famous Learning How to Learn online course is of great help.

The following soft skills are typical attributes of a software developer:

  • Complex problem solving
  • Critical thinking
  • Fundamental programming concepts
  • Patterns
  • Writing stable and efficient source-code

These skills can be learned by training your software development skills.

You can read articles, guides, or journals like freeCodeCamp.

Participating in competition websites like Coderwars, CodeChefs or TopCoder.

Watching YouTube videos from training channels, expert developers, like HackerRank or funfunfunction channels or algorithm competitions is beneficial.

To better understand a topic the Feynman Technique is useful.

Trying to do one daily SAP smallest achievable perfection each day will lead to excellent results after doing this for a longer period.

Coyle presented many directives on how to get better with skill. His collection is fascinating and provides many ideas for approaching your learning.

Where to go from here?

Below you will find some useful links that mightbe helpful.
Feyman Technique
How to read a book: The Ultimate Guide by Mortimer Adler
The 10 skills you need to thrive in the Fourth Industrial Revolution

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @markoch! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

You published your First Post
You got a First Vote

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations @markoch! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

You made your First Vote
You made your First Comment

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations @markoch! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!