How should I go about learning CS?
bprater: Who do companies want to hire?They want to hire someone that is amazingly good at something.Someone that is truly passionate.Someone that really gets what they are doing.Many of us are generalists, because we've been doing this gig so long. We've soaked up a myriad of technologies.But it takes a lifetime of experience, something you don't have time for.Learning about lots of algorithms may be fun (heck, it is to me!), but it may not be the best use of your time.Right now, you need maximum leverage, especially in a waning economy.If you pick a technology that you are having a blast with, you are going to push yourself and your skillset.Does John Carmack do OS-hacking or web-app-hacking? Nope, he builds great game engines. (Well, that, and something about rockets.) And he's compensated accordingly.It might seem silly to ditch the books in favor of building your own ray-casting engine (or whatever makes your bells jingle), but1) you're going to find out if you are truly passionate about going in deep, and2) you're going to have real-world experience and will be able to have a serious conversation with other engine designers. Quite important in job interviews.You don't need 100,000 jobs. You only need 1. Decide now what you job you want and start your course in that direction.Good luck -- exciting times for you friend!BTW: Math isn't necessary for great hacking. In my line of work, I rarely need that skillset. And when I do, there are libraries.