I'm a computer programmer by trade for about 6 years now, and most of my jobs haven't really exercised my mathematical abilities much. As a result, they've atrophied quite remarkably.
I took the basics in college (calc, discrete, linear algebra, linear programming, probability/stats) and although I remember some of the material, most of it is either known superficially or just plain forgotten.
As a result, I'm constantly faced with the question above - I feel that my foundation of knowledge is weak and that I need to "brush up" and relearn a bunch of subjects before I can tackle some problem that I'm currently working on.
For example, I've never done 3D programming and it's something I've been recently getting more interested in, but when I opened a book on it I immediately became anxious at the amount of formulas and knowledge they assume you have. I cracked open my old linear algebra book, however, and found it to be way too basic (and boring, honestly, maybe bc I still kind of know some of these things).
I'm always of two minds about whether to just jump right in and learn things just-in-time, or prepare by going back to more basic topics. Do I need the whole of linear algebra to understand 3D programming? Probably not. The question is, how much do I need? (Same question goes for physics - I assume refreshing mechanics is enough, in the sense of being able to code basic mechanics demos).
Another field I got interested in lately is DSP, and I run into the same type of doubts. Do I need to go back and go through my entire calculus and discrete math books? If not, which parts do I pick up? When I do so I usually end up going through the first few chapters and just stopping, because I'm not getting much in the realm of application and honestly I get bored. Then I get frustrated with myself because I'm getting bored. It's become somewhat of a vicious cycle.
Am I just making much ado about nothing? What learning styles/methodologies have worked well for you?