When presented with a new challenge, it is a waste of time to start by trying to solve it. The moment you begin thinking of solutions, you limit your energies to debating or improving the proposed solutions rather than looking for new perspectives on the challenge.
Before even considering solutions, you should spend more time than you want to considering the challenge from every angle. This is also not intuitive, but a crucial skill to understand and practice.
As a developer, you are very rarely solving a challenge that has been exactly solved before (or you'd be using someone else's code). You will rarely have much guidance. You will often have have a lot of freedom in coming up with your solution. This is not the best situation for creative challenge solving.
You must manage your time and your patience to maximize your efforts. By spending extra time understanding the challenge then even more selecting the correct constraints for yourself, you will be saving yourself and your team time in the future.
“Given one hour to save the world, I would spend 55 minutes defining the challenge and 5 minutes finding the solution.” ~ Albert Einstein