It’s a common concern: Do you have to be good at math to code?
For already established developers, the answer might be obvious. But coding still isn’t widely taught in K-12, so the basics remain a mystery to many adults. They assume that because it’s a STEM skill, coding it must have a lot in common with math. And if they don’t feel like they’re good at math, then they may consider themselves totally unsuited to programming and never even consider learning to code.
But math and coding, in general, actually require pretty different skill sets. Yet the fear of math is still keeping perfectly good would-be developers from entering the field, says Carol Smith, open source programs manager at Microsoft.
So here are a few reasons you should give coding a try—even if you weren’t very good at math in high school.
Real World Coding Isn’t Like Math—It’s Like Language
Surprise! Software development isn’t like math, Mutually Human’s Ross Hunter says. It’s more creative than that.
Math problems almost always have a singular answer. You’re either right or you’re wrong. But in software development, there are normally several correct, often novel approaches to solving a problem. “We get to use our creativity to create solutions,” Hunter says. “Rarely in math are you coming up with a new way to solve a problem, but in software development, you do that all the time.”
RailsBridge founder and Salesforce software architect Sarah Mei says “learning to program is more like learning a new language than it is like doing math problems. And the experience of programming today, in industry, is more about language than it is about math.”
Web developer and teacher Jessica Chan notes that programming languages, just like human languages, share common principles. Once you know the fundamentals of any programming language, learning a new one is just a matter of learning new syntax and vocabulary. Master one, and it becomes much easier to master another.
The Programs Do the Math, So the Programmers Don’t Have To
In the past, computers were basically glorified calculators—think NASA scientists working out trajectories for space stations and asteroids. But that’s not the case anymore. Well, NASA is still sending robots into space, but the programs to calculate trajectories have by now been written, and the scientists using those programs no longer need to be mathematicians.
And that’s the case for pretty much all of programming. Its uses have evolved, as have the tools available to support those uses. “Ever since the first line of code written, programmers have been creating easier and more productive solutions and tools, such as libraries, frameworks, IDEs, so that business-oriented developers can write ‘fast-food software,’” says AirBnB’s Marcelo Boeira.
You Don’t Have to Know Everything to Succeed at Something
Fast food restaurants operate via assembly line: McDonald’s employees don’t need to know how to cook an entire meal; they just need to know how to heat oil or wrap a sandwich. And the same is true of today’s developers: Some build very specialized algorithms that others assemble into an entire product, and that yet others scale or maintain. Those doing the product assembly don’t need to know how to build complex algorithms, and those writing complex algorithms don’t need to know how to scale software.
Which is why programming is now a career path open to people who are good at solving problems—like the developer who figures out how to build a fully-functioning product or who understands the ins and outs of scaling infrastructure—and not just to people who can write very specialized algorithms that require complex math.
You Don’t Have to Understand How Engines Work to Drive a Car
Math isn’t even necessary to teach programming, software developer and Johns Hopkins lecturer Yaakov Chaikin writes. In fact, teachers are doing students a disservice by using math problems to introduce coding. While all programming might be technically math-based, coding is a completely separate discipline with challenges all its own.
Chaikin puts it like this: In the same way you can learn to drive a car without understanding how the internal combustion engine works, you can learn to program without knowing much math at all.
Others Have Already Done the Hard Work—You Just Have to Google It
Today, when a software developer runs into a problem, there’s a good chance that someone before them has already been there, done that—and then posted the solution on the internet for them to find. (*Ahem* Stack Overflow *ahem.*) That’s a huge advantage that wasn’t available to early programmers who had to work everything out for the first time.
Slate’s Victoria Fine says one of the secrets to being a great coder is being a great Googler. She learned this during coding classes, when the people she turned to for help would themselves turn to Google. “That’s when the first light bulb went off,” Fine writes. “I started to learn that, unlike my math classes of yore, almost any answer for the quandaries of writing code was online, and instead of being considered an act of cheating or plagiarism, you were encouraged to build off of the work of others.”
Fine says the real trick was understanding the vocabulary of code. (Remember what we said about languages?) Figuring out the right search terms allowed her to refine the questions she put into the search engines. “Once I got the answers, it was all [a] matter of sequencing the code I found in the right order to make it work.”
With No Math Background, These Devs Are Making It Anyway
When Nav.com developer Catalina Astengo started her first tech job, she was surprised to find many of her colleagues had backgrounds in creative fields like music or literature. Astengo had assumed that web development would mostly attract those with a math background, but it turned out none of their jobs require that kind of knowledge.
“I haven’t had to use any advanced math since I got started with web development,” she writes. “I’m sure other types of software development do require it, but not web development. As long as you know how to add and subtract, you’re good.”
Developer Alex Hughes says he was terrible at math in school. Even with a tutor, he only barely passed high school math. That’s never held him back, though. “Outside of Machine Learning and academia, you’re not going to see much math that you don’t know,” Hughes writes. “Can you count to ten and know your timetables? Congratulations, you now know enough mathematics to be a software developer.”
Front-end engineer Daniel K. Hunter managed to become a developer despite failing almost every math class in high school. He didn’t have a college degree, nor did his original career in sales and marketing for the music industry do much to improve his math skills. Nevertheless, it took just 10 months of self study—while holding down a full-time job—for Hunter to become a competent front-end developer and land a full-time job in tech.
So Do You Have to Be Good at Math to Code? Definitely Not
It turns out the only math skills you need to start learning to code and even to be successful professionally are the most basic ones: addition, subtraction, multiplication, etc.
“You don’t need to know any of complex numbers, probability, equations, graphs, exponential and logarithm, limits, derivatives, integration, differential equations and so on,” promises independent developer Flavio Copes. (And it’s a good thing, because we don’t know what most of those words mean.)
Instead, you need to be a logical thinker, interested in solving problems and building applications for use in the real world, says programmer and technologist Emma Mulqueeny. “Thinking logically and conceptually is far more important.”
So who cares if you were good at math in high school? Start learning to code today—no math skills required.