I also find very practical to be the one who really cares about problems. I mean if you face with a bug, which is “not yours”, don’t be incurious about it. Try to dig into it, even if it takes your personal “non-working” time (unless you really feel that it will take too much time for you, what probably means that you are not that experienced to diagnose this problem yet, try something more simple). If it’s a third-party library dig into it and try to understand what’s going on there. If you find a bug in a third-party code let library’s author know about your investigation. Don’t be just consumer of code, be creator and builder. This will definitely make you a better programmer and in particular a better problem solver.