So what would you recommend someone self-taught who just bombed his past couple of interviews do?
Nothing like failing on elementary math questions to make you feel like a class A idiot, especially if your title is 'Senior Software Engineer', and here I go, bombing on freaking word problems in a numeracy test.
I feel like a total fraud, like I'm in the wrong field, I could have done those easily straight out of high school.
The other part about "no ego" is being willing to learn from rejection rather than either blindly going through or avoiding all situations where you may be rejected.
I suggest working your way through the lower division mathematics requirement that a college CS major might experience. Course material is one way (just make sure to actually do the homework), taking courses at a local university (or even a good community college e.g., in Silicon Valley De Anza and Foothill Colleges) is another (make sure to find an excellent instructor for Calculus and to take a discrete mathematics course).
The other part to keep in mind is that there's different types of software engineering roles and different kinds of mathematics. Some (e.g., machine learning and data mining) are very mathematically intensive (to understand some papers, you'll need to do integration by parts), others (e.g., graph theory) are more about discrete rather than continuous mathematics, yet others (systems programming, application development) are least mathematics heavy (and where they are, again, the math is mostly discrete rather than continuous).
Well, it was a bit of a kick in the pants to fail so spectacularly, believe me, I'm not trying to protect whatever fragile ego I do have left, after that intro the technical parts of the interview were brutal, the interviewer decided to hammer it into me that I wasn't good enough, and basically threw the book at me :)
What I learned was that I am woefully unprepared to interview at such a place, but not that I'm not going to try again (I am, I refuse to give up).
Question for you though, how did you develop a math intuition and the ability to enjoy math? I used to enjoy math in school, but I'm 31 now, and I find it tough to slog through the very basics again, so I find it hard not to skim over things I think I know. I think a part of the reason I enjoyed it at school was that it was basic, plugging numbers into memorized formulas, using pattern matching to detect the type of problem, simple stuff if you've been programming, so it was easy to pull off the straight As.
Time to really learn now though.
From what I have read on HN in other post, it seems there was a "light going on" time for a lot of you? When did it happen? What did you do to get to that stage where you started revelling in mathematics?
I think I have the substrate for math, it doesn't take too long for me to grasp concepts, but solidifying them is what I have a problem with. Without doing that, it's like anything in programming that I haven't written a program for. I lose it and forget it quickly.
What is the equivalent of writing programs, but for math, for you?
Do you have access to iTunes U? There are loads of courses available from basic math all the way to advanced computer science. I majored in Math, not CS, and used a few algorithms classes to come up to speed with stuff I should have known already.
For brain teaser type problems, I like Martin Gardner books.
Grab a couple of basic textbooks and read through them. I have mostly learned through general reading and narrow practice; which means I have occasional holes in my knowledge. When I see a need to fill the gaps, I get a basic textbook and start reading, since I already know a lot of the material, I only slow down to study when I need to.
Nothing like failing on elementary math questions to make you feel like a class A idiot, especially if your title is 'Senior Software Engineer', and here I go, bombing on freaking word problems in a numeracy test.
I feel like a total fraud, like I'm in the wrong field, I could have done those easily straight out of high school.