



What does it mean to be good at something?

Knowledge is understanding of a subject, skill is your proficiency in the application of that knowledge. By definition, you can’t be skilled at something you don’t understand. But knowledge on its own is only half the battle.



Knowledge is what you know, skill is what you can do with it.

When I talk to other programmers, and we talk about what we want to get better at – the conversation typically and very quickly heads towards things like Algorithms, Design Patterns, and Data Structures.

Sometimes there will be a specific language or a framework, maybe something more general like “Game Programming” or “Web Design”.

This sounds like a knowledge problem, but reading a book or watching a video on the subject is only going to get you partway there.

If you are an improving programmer, you don’t want to know algorithms – you want to write them.

You don’t want to know JavaScript or Game Programming – you want to make cool stuff!

Knowing is ONLY half the battle! Skills are the other half.





(or is it red and blue lasers?)