The other day I came across this video by Joma Tech titled “Why you NEED math for programming”. The video doesn’t exactly tell you why you need math, not to mention that you don’t exactly NEED math for programming, at least not in the way that is conveyed in the video, so I wanted to share my own perspective on the matter.
Full disclaimer: I’m not criticizing Joma himself because I’m in no position to do so, but I wanted to share some thoughts on math and programming and WHEN you actually need math for programming, which would’ve been a more suitable title to Joma’s video.
Why you don't NEED math:
The video doesn't contain that much on "Why you need math", but in order to get to the points I want to discuss, I'll start with his words on the topic:
"... It’s because EVEN if 99% of the time you won’t need it, there’s a 1% chance that you might, and it’s in those moments that separate out a great programmer from average ones."
Here, Joma directly contradicts himself by saying that you don’t need math 99% of the time. You might say “He could mean that by knowing math, you get to be among the top 1% of programmers” which is untrue. There are so many types of programmers, and each one requires a different set of skills, a lot of which will not be your ability to solve hard math. Not to mention that, as a developer, if you work in a non-technical company like fashion, food or beauty companies for example, you’ll barely run into scenarios where you have to solve an equation or implement big calculations to make your code work.
If we took Web Development or Mobile Development for example, they hardly require anything more than basic mathematics to get into, instead you have you to learn 1 or more programming languages (+ HTML and CSS) and how to make those languages and frameworks work together to build websites and applications and define how they operate.
I personally LOVE maths and enjoy solving equations and abstract problems, but as a full-stack developer, I often don't need to use advanced techniques to build something that works perfectly well, instead, I need to know how to tell the app "When I click this button, show me a picture of a giraffe" or "When I scroll, throw sparkles across the screen" and so on, and more advanced things would be to study a certain library (like a Web Geographic Information System) in order to know how to integrate it in my app or website, and those usually come with detailed documentation, so you don't have to reinvent things.
When you actually need math (and why it's not a big deal):
“And if you do know your math, you’ll know how to modify this doughnut to increase the size, change the rotation, or even make a cube instead”
This part seems like it’s more about the doughnut than it is about needing math, but even for this sort of task, by knowing math you may not have to look for the answer online, which doesn't take that long, nor does it make you a bad programmer. Not to mention that what he mentions is not really rocket science, it’s mostly basic arithmetic operations (+ - x ÷), which I imagine if someone doesn’t know them, they would hardly be interested in programming all together.
“Also, if you wanna do computer graphics, machine learning or cryptography, you’re gonna need math, so you might as well get good at it as you did for programming”
Now this part is actually reasonable, because for many tasks in fields like machine learning, cryptography, data analytics, cloud computing, etc. you’ll run into places that require you to at least have some equation solving and computational skills, and it will challenge you to think beyond the basics.
Nevertheless, a lot of that math is still relatively fair to understand and work with, and a lot of times, those skills can be acquired simply by rebuilding ALREADY existing projects and practicing hard until you feel comfortable moving to more advanced topics.
On the other hand, if you like doing things like computer graphics or game development as a hobby, you could probably do a lot on your own without mathematical skills, simply by following tutorials and asking questions along the way, but if you want to pursue those things as a career, chances are you’ll need math at some point, especially if you want to stand out or make something on a big scale, completely on your own.
In the end, the building blocks of all code are made thanks to mathematics, but nowadays, whether you love math or dread it it, shouldn't stop you from getting into one of so many fields of programming whether it's for fun, or professionally.
Let me know in the comments about your experience with programming and how often you use math for it, it will be interesting to know what other people think :D