The constant growth of technology creates a huge demand for business oriented programmers to support corporate software. This demand and the potential of good salaries frequently influence a lot of people to change the course of their careers in order to become software developers.
Do all of these developers need to know about math in order to code?
A short answer to this question would be a simple YES, but the next question certainly would be “Why?” and that answer it is not a simple one.
Most of the computer science or engineering undergrads have a math background, fact, but it is nice to understand where this need come from.
If we think about the early days of the computer, they were machines created from scientific experiences designed to be “powerful calculators” and most of the theory behind them demand math knowledge. At that time, programmers were exclusively “computer scientists”, so YES, they had to know about math and all the abstractions ‘under the hood’.
Math is a strict demand for developers in several fields where massive processing power allows us to achieve new horizons of complexity. Things like data revolution, artificial intelligence, graphical computing, scientific analysis are now solutions to every-day problems. These fields are constantly growing and behind the code, there are professional scientists and engineers with a huge background at math and physics, which are strong requirements when every bit of computational power matters.
(a.k.a. Business Oriented Developers)
Considering that the current demand for developers increase every day and also that their responsibilities are very limited in most cases, can we continue to say that all developers need to know about math? No.
The whole history of the computer made us believe that ALL developers MUST know about math when we now know that it is not true.
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”. Meaning that they don’t really need to know about software abstractions, languages paradigms, math or any of this “engineering” subjects to code and accomplish theirs tasks successfully.
Not so recently we can see another side effect of this with the ‘as a service’ movement, the complex parts of your "big problem" are now solved by experts on each area: infrastructure, platforms, security, payment, ads and so on. As a business-oriented developer your task is to connect those services and create a product, a solution to a corporate problem.
Where does the Logic fit in all this?
Even with all the support previously described, one thing continues to be a strong requirement to be a computer programmer: Logic.
Unlike math, logic is not something that can be learned, you most likely will practice logic instead of learning it. Even without any math knowledge, a developer must understand about logic in order to create usable code, there’s no “escape” from that.
No answer is final, yet I rather instigate you to find your own answer by showing distinct perspectives and understanding them. Several things contribute to the big picture so it would be wrong to say that I have a final answer, I believe no one really does.
Reading different perspectives gives you the power and the arguments to choose a side, or formulate an opinion about it, if ever feels necessary.
I really hope that this post helped you somehow, anyway feel free to leave a comment bellow with your insights about it.