In How To Solve It, mathematician George Polya breaks the problem-solving process down into four pieces: understanding the problem, making a plan, executing the plan, and reflecting on the solution. We've already talked about understanding the problem, but the next parts of this process could benefit from a little unpacking.
Whether you're building a new feature for an application with millions of users, or in the middle of a whiteboard interview, it's essential that you have a plan before you start coding. But planning often requires forethought and insight that comes from experience. Because of this, beginners often feel trapped in a sort of catch-22: they need experience in order to formulate plans effectively, but they need to plan effectively in order to solve problems and gain experience!