I was in the 6th grade when I built my first website; within a few months I asked my parents for help learning "real" programming because I had an idea for a game. A developer friend of theirs donated some books that he burned onto a series of CDs for me and I tried to wrap my head around C++ (for the first time). In high school, I was a year ahead in my Java programming class, and finished a few small graphical and text based games in Python, between writing moody goth stories. So, as a young lady independently interested in computers and software development, independently driven to build cool things, it was only natural that I would go to university and major in philosophy.
That is, of course, because my worst kept secret in school was that I was firmly in the 'bad at math' category, and was generally told by people I perceived as 'in the know' that software development was basically nothing but math. When I was younger, and completely in spite of my parents' numerous best efforts, I wasn't really keen on dwelling on things I wasn't great at (math, and gym class spring to mind here). I was generally a smart kid and preferred to rest on my laurels in other classes, and eventually considered being 'bad at math' more as an artistic foible than an actual problem in need of solving.
So, this story could easily have ended with me finishing university with significantly less mouth related foam, philosophy degree in hand, and staring down the barrel of a masters program (still not outside the realm of possibility, much to the dismay of everyone except me), or working at yet another bookstore, and in many ways that would have been a reasonable if less profitable way to go.
But, that isn't how things turned out, because despite a deep seated fear of the math boogey man, and the conception that computer science went dramatically from building cool things to very complex math somewhere along the line in university, I decided to tack a computer science minor onto my philosophy degree. When a clerical error turned that minor into a major I made the terrible mistake of putting Calculus II between myself and graduation from university. I still don't quite know how I made it sometimes.
University of Ottawa did not disappoint, and the computer science program was mountains upon mountains of math. However, it was for the most part not the math that I had encountered before, the type I unwaveringly believed myself terrible at. When I was in high school if you had asked me what mathematics were and you managed to coax an answer out of me beyond 'unmitigated torture', you'd probably get a rambling reply about trigonometry, algebra, maybe some noncommittal noises about parabolas. If you had asked me what philosophy was I'd probably hand wave through some old dead guys (except Nietzsche, because this was high school), and rapidly gearshift to gushing about logic and syllogisms. That's the kind of math I mostly did in university level computer science -- the fun, philosophy kind. Frankly, I was as surprised as anyone else when my Discrete Structures class was basically a less user friendly photocopy of my Logic I class. They even taught a discrete math in my high school which had fit into my schedule and I probably would have really gotten a kick out of, if math hadn't been the holy water to my vampire.
Upon leaving university and starting into a career it rapidly became apparent that, with the exception of the most basic elements, most of that math that came up in school was falling away completely. No one was asking you to find the 'Big O' of an algorithm, they were asking you to please stop messing around and figure out why the damn software is doing this stupid thing all the bloody time. This makes sense -- you can get a number of dev skills at bootcamps, in a month, likely without seeing a single proof. Some might argue that the computer science degree and the theory that goes with it is incredibly important for understanding the beauty and depth of the field, and I agree with that. I went to university to learn about why and how things work, not specifically to get a set of skills for a profession. It doesn't change the fact that you can acquire most of the job skills required to become a competent software developer without once crying softly into a calculator. In fact, you probably write a lot more working code self-teaching, or at a bootcamp than you will even come close to writing in the academy. You might even cover version control, or use a web structures book published after 2006.
I've found this 'bad at math' phenomenon is not something small or exclusive to me. When I tell people the field I'm in they actually often remark 'wow, you must be great at math', I of course still do most small arithmetic problems on a calculator or if my phone has died, count on my fingers like the cavewoman that I am, so I'm never quite sure what to reply. The problem is much more meaningful than just me though. Whenever I speak to people interested in computer science about how it makes me feel something like a demigod over this poor hapless machine, I'm often told that they're 'bad at math'. This person is quite frequently a lady.
So, I did some reading about being 'bad at math', and the scientific consensus seems to be that you're probably not. Apparently, a lot of your math ability links to how you think that intelligence works in general. If you think your brain is a fixed entity that is as smart as it is and will never get smarter, as soon as you encounter a math problem outside of your current limit your brain basically throws up its hands and says 'that's it'. Depending on how far along in the curriculum this is you may graciously accept the 'bad at math' label. If you think a brain is changed by hard work, you are much more likely to just, work harder and, well -- get better.
This problem compounds with the old chestnut that girls are just in general, worse at math than boys are. Not only do these prejudices show up in employers but if girls internalize an upper ceiling of math for themselves they're not going to bother smashing their head against it just to double check if it is susceptible in any way to face slams. In some ways this may help explain the lack of women in STEM. Girls who have internalized fixed intelligence, and a fixed perception that they are worse at math than their male peers are hardly likely to continue in a field that they do not believe they will have success in. There's also the lack of understanding that most high school students have about the breadth of the field of mathematics. Maybe, like me, they have trouble manipulating numbers in their heads, but can knock out proofs with the best of them.
After all, despite being a recovering smart kid, I might be more willing to accept malleability now, in my dotage. How else could I possibly have passed linear algebra?