I'm a self taught programmer pushing 40 years old, and a self admitted "plumber programmer" that relies pretty heavily on APIs. I slowly play catch up on my understanding of how to properly implement data structures and algorithms, Big(O), etc., but find that my lack of Math background ends up preventing me from understanding some of the standard reading material in these areas.
I'd like to eventually have more expertise in the aforementioned CS areas. At this point in my life, I'm not sure that it's possible or practical to go back and take 2+ years of classes just to cover prerequisite math for a real algorithms book. I am a college graduate with basic algebra and statistics with B grades (ages and ages ago). No linear algebra, Calculus, Trig, etc. I've always been able to find a job as a programmer but routinely cringe as I prepare for embarrassment on the hard core CS questions.
Questions:
Is it a waste of time, at this stage, to attack these weak areas? I have a mentor programmer friend who has alluded to my insecurity as being plain self-deprecation, considering I do mainly business software, and that my strengths far outweigh my weaknesses. However, I'm not satisfied with this assessment.
Is there a way to 'work smarter, not harder' in this area? An alternative to just going back to school? I've been successful with self-study having had a general business background and then teaching myself to program in Java, Objective C, PHP, Python, etc.
Sorry for the long question but I feel the background information factors into my question. Thanks in advance!