A critical regression sneaked into a new release of a popular app unnoticed. We totally know why. They just don’t have enough automatic tests…

Then we switch to our XCode and we see the number of tests: 17…

We often give others advice, that we don’t follow ourselves. There is an important distinction between knowledge and skills. We usually are way better at first.

Why does it happen?

We overestimate the value of ‘knowing’ something. “He is smart, he knows a lot”. People get social acceptance for that. Frequently though, we don’t really apply our knowledge.

We starve for new. Knowledge almost always is something new. Investigation is exciting. It stimulates our brains. Practicing skills is different. It is way less exciting, progress might not be visible in a short term.

When you acquire knowledge, you feel like an expert. When you craft a skill you feel like a newbie. When you read something, you feel like you got it. You feel yourself great. When you start doing something, you may fail, and you do worse job than you expect of your perfect self-image, who got it. That dissonance can make you feel uncomfortable. (see also: 4 stages of competence).

Changes might look overwhelming. You read an exciting article about refactoring, unit-testing and continuous delivery. You want to apply the new knowledge. Then you come to your job and see the whole amount of untested code. That’s a huge amount of work. And we have a deadline. And there are more new and exciting articles waiting for you in the RSS reader…

Wait. Is it that bad after all? One doesn’t have to be great at something to teach others. Not every coach is a great player.

Yes, that is true. But we don’t want to be in the situation, when everyone is a coach and no one is a player, do we?

What to do about it? (My piece of advice ;)

Pay more attention on distinction between skill and knowledge. Focus on acquiring & practicing skills more than just on getting more knowledge. Reading 1 book and crafting a skill is by a mile better than reading 10 without skill acquisition.

The trick is in embracing failure, not avoiding it. Don’t force yourself to be perfect. You might fail and it is totally fine. Say, you want to go to the gym 3 times a week. Then, one week you didn’t manage to go to the gym at all. Don’t judge yourself then, don’t feel ashamed. Just re-start it, and start going to the gym again.

Focus on a limited amount of things. This tip is as obvious, as effective. The less you spread your attention, the better you will manage to acquire the skills.