How to improve your programming skills

The Little Book of Talent written by Daniel Coyle is a book about  the question 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 in 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 pieces of advice for initial training.

Part Two: Deep Practice

Štefan Štefančík — www.unsplash.com

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 rather 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 also helpful.

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 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.

Leave a Reply