The short answer: Not much. But, as a Software Engineer, will you need to solve complicated technical problems with code? Yes. Will you work with numbers? Yes. Will you use logic to write code? Yes.
If you look at a list of required coursework for a degree in software engineering, you’ll typically see Calculus I-III, Differential Equations, Discrete Mathematics, Linear Algebra, and other advanced math classes. So where does this leave you if you want to work in software engineering, but you don’t have the math background?
Well, it actually depends on what type of software engineering you want to do. Are you interested in creating programming languages? What about libraries and frameworks? Or is designing interactive websites more your thing? Each of these areas will require a different set of skills, and varying levels of math, to do them well.
To better understand the relationship between math and software development, let’s first take a look at what a Software Engineer does.
What do Software Engineers do?
The majority of Software Engineers work on either web or business applications. They could work on the front-end, the part of the application you see and interact with; the back-end, the part of the application that runs on a server; or they could work on both sides of the application as a Full-Stack Developer.
These Software Engineers — the ones who design websites — have to know how to use programming languages, libraries, and frameworks, but they’re not necessarily using math very often, if at all.
There’s another group of Software Engineers that create new programming languages, libraries, frameworks, and other technologies for developers to use. These are the engineers who rely on their advanced math skills to do their jobs.
So if you want to work on websites, what math do you actually need?
While the programming languages we listed above have their roots in mathematics, none of them require you to know math to become good at using them. In other words, you can absolutely write code without math.
Roy, one of our forum moderators, put it this way in a forum post:
Programming isn’t about math but about expression. Some input to the expression results in something out. Will there be math involved? That only depends upon what the program or script is expected to do. It could have nothing to do with math, but position in a list, or node in the DOM.
But, keep in mind that you’ll still need to have basic math skills to work as a Software Engineer. Here are some tasks that would require math skills:
- Ballparking estimations about system loads
- Analyzing an A/B split test
- Determining the probability of a recurring event
- Understanding the basics of Big O Notation, so you know the complexity of the code you write and how to optimize it for performance
- Using logic to understand conditional logic in your code
How can math help you as a Software Engineer?
Even though you won’t need to know advanced math for most software engineering projects, any math courses you’ve taken or any other exposure to mathematics you’ve had won’t go wasted. This is because you develop a skill that allows you to approach complicated problems using logic when you take a math course. And it’s this way of thinking that will be really useful to you as a Software Engineer.
Interestingly, there are many other activities that you might do on a regular basis that can contribute to your skills as a Software Engineer. Solving puzzles, playing a musical instrument, and playing video games all require some level of problem solving or logic that you’ll see in your software engineering problems. Even philosophy involves logic and proof, which can lead to a programmer developing a unique approach to coding.
Here’s some more advice from Roy:
If math is not your strength, perhaps history is. Gloss over math and look at the history of numbers. Studying along this line will be a road tour through all the fundamental questions that arose through history and how math was employed to help answer them. One should not be surprised by how much is learned about math in the process. Now apply that knowledge to application development.
We’ve talked about the software engineering jobs that don’t need advanced math, but which ones do?
If math is one of your strengths and you want to use those skills on the job, here are some software engineering fields that you can consider:
- Programming language development
- Machine learning
- Game development
- Data science
Math plays a unique role in each of these fields. In game development, for example, you’d need to represent 3D objects in a 2D environment, which requires in-depth knowledge of geometry. You also have to create a virtual world that acts like the real world, so you need to know physics. In machine learning, knowing advanced math and statistics will allow you to create new models or even new types of models that can change the future.
How to learn more math to use as a Software Engineer
Are you relieved to know that you don’t have to be a math expert — or even good at math — to become a Software Engineer? If so, a lot of people are in the same boat as you. In fact, a large percentage of working Software Engineers don’t have a college degree and didn’t take one math class after high school!
But remember: Knowing the basics of math is beneficial. And the more you learn, the better and more efficient you’ll be at solving problems for various programming tasks. So if you’re ready to learn something new or improve your existing math skills, check out our math courses. You might be interested in our probability courses or linear algebra courses, and if data science is your thing, check out our Fundamental Math for Data Science Skill Path.