In his book Outliers, gladwell says:

The reason why a genius is remarkable in people’s eyes is not that he is superior in talent, but that he has made continuous efforts. 10,000 hours of exercise is necessary for anyone to go from ordinary to extraordinary.

He calls this the “10,000-hour rule.”

It takes 10,000 hours to become an expert in a field, which is proportionally: if you work eight hours a day, five days a week, it takes at least five years to become an expert in a field. This is the 10,000-hour rule.

How to break endless overtime?

In China, overtime is common in IT industry, not to mention industry characteristics and corporate culture. In my recent interview experience, many programmers are incredibly inefficient.

So “efficiency” is an important factor leading to overtime. If you are productive, but your company has a culture of working overtime, you can use the extra time to learn new skills and further improve your productivity.

Inefficiency can lead to the following cycle:


An effective way to break this cycle is to “practice deliberately” and start a positive cycle:


Don’t think of work as practice

Is an actor’s performance on stage practice? Do players practice on the field? Doesn’t count. So is it deliberate practice for programmers to work on projects?

I used to take pride in being “learning by doing”. No need to read apis, syntax, etc. We have Google and Stack Overflow anyway. That was until I joined Hackthon. In a very short period of time, to put an innovative idea, with technical means to achieve. At this time, if you are still looking at how a certain interface should be used, how a certain syntax should be written, can you compete with others?

Is it not so in real work? The business is so competitive, if you want to make a recommendation system, do you find someone who has done it before, or do you learn to do it as you go?

So I think that practice should take place outside of work. If you go to war, it’s either you die or I live.

How to practice effectively?

Not all exercises are effective. They’re just a waste of time. For example, if I’m playing a song on the guitar and a bar is always bad, I’ll take that bar out and repeat it over and over, instead of repeating the whole song over and over again.

According to expert research, practice is most effective in a “study zone.” We should get out of our comfort zone, practice in our study zone, and turn it into a comfort zone. Touch the panic zone and slowly turn it into a learning zone.

This is the only way to avoid standing still and continue to improve.

How programmers practice

Get out of your comfort zone

Start by getting out of your comfort zone and into unfamiliar technical areas. If you’re familiar with the back end, try writing the front end. You’re familiar with the Web. Try writing for mobile. Business development is familiar, go to search, recommendation system, big data try. OO is very familiar, play FP try. If you hold on to what you know, one day you will have nothing to eat.

Find your weaknesses

There are the following ways:

  • Record the video
  • Code Review
  • Pair programming
  • Attend a programming dojo

Without comparison, it’s hard to find your weaknesses, so by presenting your code and process, you’re sure to find a lot of room for improvement.

Only rookies think they’re awesome, because birds of a feather flock together, and rookies flock together. The bigger you are, the bigger the circle you surround yourself with, and the smaller you feel.

What do programmers practice?

There is a lot for programmers to practice. Some basic skills are as follows:

  • typing
  • A programming language
  • Programming paradigm
  • The editor
  • shortcuts
  • TDD
  • Clean Code
  • refactoring
  • .

Lack of time is no excuse

When I first organized a Code Retreat, I went to the QQ group to promote the event, but the result was ridiculed:

Coding on the weekend. Must be a loser.

A lot of people don’t have time to practice, but they have a lot of time to play LOL, a lot of time to brag in groups, a lot of time to talk about real estate and the stock market. Of course, people have the right to choose their own way of life, there is no one right or wrong.

I just hope that those who really love programming know that only through deliberate practice can you become a top programmer! In the codingstyle.cn community, we organize Code Review, Code Retreat, Coding Dojo. I hope we can grow up together and become top programmers!