Does math help with programming?
Can a math background make it easier to learn programming?
Last week I wrote about the birthday of the world’s first computer programmer, Ada Lovelace. Before she came up with the world’s first computer program (conceptually, at least), Lovelace was an accomplished mathematician. In fact, that first computer algorithm was designed to calculate a series of Bernoulli numbers, a nice math-y programming problem if ever there was one.
It got me to thinking about the relationship between math and programming, in particular whether a solid grounding in higher math is a prerequisite for becoming a good (or at least employable) programmer. Or, rather, can a math background make it easier for someone to learn programming? I think, based on my own experience, the answer is definitely yes.
Programming was not a career that I had planned on or for which I had studied. I was an economics major as an undergraduate and went on to get a masters degree in it yet, somehow, went on to spend 15 years as a programmer. While I didn’t take any computer science courses in college I did take a lot of higher level math, such as calculus, differential equations, linear algebra, even game theory. Also, my concentration in economics was in econometric theory, so I took quite a bit of statistical theory through graduate school.
When I decided that the glamorous life of an econometrician was not for me, and instead went into the equally glamorous world of software development, I found the transition to be pretty straightforward. All of my math training had honed my analytical skills and general ability to think in a structured and logical manner when approaching a problem to be solved.
When I began programming, I had a lot to learn, for sure. But much of it was tactical things: language syntax, system architecture, software development processes, etc. My math background, I feel, helped prepare me for the bigger and more strategic issues: defining the problem to be solved, thinking through the big issues and coming to a robust solution.
Of course, in some ways, I always felt somewhat behind the curve a bit, relative to those who had formally studied programming. But I never felt overwhelmed or out of my league. My math and technical education had indirectly prepared me well to be a developer.
Is a math background absolutely required to become a programmer? No, but I think a lack of it makes the hurdles to clear a little higher. Not impossible, but harder.
Math, I think, is one of those subjects that helps prepare you for many different kinds of careers, from programming to business and even to the arts. You never go wrong taking a lot of math, in my opinion - particularly linear algebra. That course was hot!
What do you think? Is learning math important to becoming a programmer? Can you get by or even thrive as a developer without having studied it? Let’s hear your opinion in the comments.