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 this definition, you can’t be skilled at something you don’t understand. But knowledge on its own is only half the battle.
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”.
Knowledge is what you know, skill is what you can do with it.
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.
Interested in hearing more about this topic? Check out the Coding Blocks discussion in podcast episode #78.
(or is it red and blue lasers?)