People often ask me about how I transitioned into a career in technology. When they find out I’m a former academic who transitioned from a career as a mathematician, I’ll often get asked whether my background made the transition easier and to what extent I draw from my mathematical training when I’m coding. For any aspiring web developers out there, I’d like to answer this question in two parts.
1. I rarely use mathematical content knowledge when I’m writing code.
It’s absolutely true that you don’t need to have taken dozens of college-level math classes to be successful as a web developer. It’s an unfortunate truth that a lot of my mathematical content knowledge has atrophied over the past five years. Occasionally I’ll be able to use a little bit of probability or some linear algebra, but for the most part I’m not explicitly thinking about math when I’m programming.
Of course, the degree to which mathematics will help you depends a bit on what you’re doing. If you’re trying to create complex data visualizations, or doing something with machine learning, then it’s likely you’ll be writing code that’s more explicitly mathematical. But many of the features you’ll build for a typical web application don’t require an advanced degree in mathematics: they just require a good understanding of the technologies you’re using, along with decent problem-solving skills.
This brings me to my second point.
2. I lean heavily on the identity I developed as a mathematician when I’m writing code.
When people ask me about the influence of my mathematical background on my current career, they’re almost always focused on concepts: what subjects that I learned in my previous life am I using now, and which ones am I not?
But concepts are just one slice of a larger pie. And while we often think of math class as being about concepts, this is actually the least important part of what makes someone a good developer.
In 2001, the National Research Council released a book titled Adding It Up: Helping Children Learn Mathematics. One of the main ideas in the book is that math class should only be partially about learning new concepts. To be a mathematically proficient student, however, requires competency in five different areas: conceptual understanding, procedural fluency, strategic competence, adaptive reasoning, and productive disposition.
These last three are less talked about, but are by far the most important parts of my education that I still rely on. Strategic competence and adaptive reasoning are both related to problem solving: the former is the “ability to formulate, represent, and solve mathematical problems,” while the latter is the “capacity for logical thought, reflection, explanation, and justification” (source). Remove the word “mathematical” from the definition of strategic competence, and you have two pretty solid criteria for what makes a strong problem solver in any domain.
What about productive disposition? This is defined as the “habitual inclination to see mathematics as sensible, useful, and worthwhile, coupled with a belief in diligence and one’s own efficacy.” In other words, productive disposition is (loosely) about developing an identity as someone who can think about and solve problems. Far and away, this is the most important strand of my mathematical education when it comes to my current career.
I’m not the only one who believes in the value of fostering productive disposition. In his book Mathematics Education for a New Era: Video Games as a Medium for Learning, mathematician Keith Devlin writes that “a productive disposition is the single most important outcome to aim for in a K-12 mathematics education” (emphasis original).
Think about that for a second. Devlin is arguing that what’s more important than understanding logarithms, limits, or the Ham Sandwich theorem, is developing one’s own self identity as a problem solver. And indeed, I’ve seen students become much more confident developers as they begin to adopt this identity.
Which brings us back to our original question: do web developers need to be good at math? While math classes can certainly help people hone their problem-solving skills, mathematics is far from the only field that can help you build experience and develop a productive disposition. Do you like building things in your garage? Great. Are you passionate about playing music? Fantastic! If you’re looking to transition into a technical field, a great way to build a productive disposition is to become a great problem solver in an area you’re already passionate about.
In other words, don’t let a lack of advanced math classes on your resume stop you from learning to code. Problem solving skills are essential to becoming a successful developer, but not all great problem solvers are mathematical savants.
I hope this helps. If you’d like to learn more about how we approach problem solving, check out our series on problem solving strategies!