### Skill #2: Problem Solving

It’s one thing to know what an if statement is. Knowing when it needs to be used is a whole other skill.

If you’re having trouble figuring out what to do next, you have a problem with application.

Application is about knowing which tool in your belt you want to reach for to fix this specific problem.

The only way to get better at this is practice. Specifically, you want to try many different problems that test the same concept. Try to find a resource that categorizes practice problems by concept (variables, conditionals, etc) for your language.

Don’t stop after you solve the first and easiest problem. The point isn’t to prove that you know what an if statement is. The point is learning to recognize the type of problem that an if statement solves. By doing multiple problems that use the same concept in different contexts, you learn to see the shape of problem that this concept can help you solve.

When you move on to trying problems for a new concept, your brain will instantly spot all the bits that can be solved using lower level concepts. When picking apart the problem like this, you will much more easily spot the parts of the problem that require the new concept.

To get better at application, practice with multiple problems that target the same topic.