The advice to break a hard problem down into simpler pieces good, but I feel like that is often difficult without proper domain knowledge. In many cases, knowing how to break apart a problem like that is how you become an expert in the first place. If you want to learn a musical instrument, there are plenty of good simple excercises to start with, but only an expert can tell you what they are, you can’t easily intuit them from scratch. An experienced programmer will know how to break down a difficult project into small and simpler pieces, that ability is part of what makes them an expert. “Find a good teacher” and “put in the work” seem like rather banal pieces of advice, but it’s a system that has consistently worked throughout the ages. If you are truly breaking new ground then you should already have a framework and significant experience to guide your exploration.