Should I be perfect at mathematics to be a software engineer?
Mathematics in science
It’s a common question that most starters are concerned about before starting learning software engineering. I think that the proper question would be to what extent should I learn mathematics to be a decent software engineer. Well, it depends on what you would like to do as a software engineer.
Let me clarify the role of mathematics in science in general before answering the question. Mathematics is the language of the universe in a way that all fields and sub-fields of disciplined science including physics, chemistry, biology, statistics, engineering, and many more rely on the mathematics to express themselves, to prove and convey their basic theories and hypothesis in the most precise, rigorous, and clear manner. Without mathematics, science would have been in a total mess, without any framework to communicate those ideas properly.
In turn, mathematics is enriched as new findings and discoveries are made in other fields of science such as physics, chemistry, or any other. Sometimes, such findings and discoveries will be a cause for the creation of a totally new branch of mathematics that is specially dedicated to governing the rules and playing a basic building block/framework for further advancements in this new discovery. Got off the topic much, okay, let’s get to the point of mathematics's role in software engineering.
Software engineering is engineering in some sense, which requires rigorous proofs, analysis, and engineering on a sequential chain of consistent logic. Computer science and software engineering is applied science in some sense that’s very similar to physics or chemistry which very much relies on mathematics. I imagine it this way. We have pure mathematics with the most basic common-sense rules which do not require proofs and we expect to work correctly all the time. You can imagine pure mathematics like a game of chess. You have several basic rules, the entire complex chess game is played only based on these rules, no exception is given anytime. Pure mathematics is very similar in that you have several basic common sense axioms and rules, and all other entire fields of mathematics are evolved based on these basic common sense rules and axioms.
In my understanding, I consider this part of science as “pure” science. The difference is that we do not care if any ideas, theories, and findings in this “pure” science or pure mathematics have any application in real life. As long as new findings and discoveries do not break the existing rules of the game or rigorously prove that previous findings were incorrect, we are totally content with the new findings and accept them okay. Still, we do not care about their application in real life. And then we have applied science which includes applied mathematics, statistics, physics, chemistry, computer science, and many more. Most of the knowledge in this part of the science has application in real life, except for the theoretical part of the science such as theoretical computer science or theoretical physics. That’s why it’s called applied science.
Even though most fields in applied science have their basic fundamental building blocks and “axioms”, they heavily rely on both pure and applied mathematics to make sure that their new discoveries and findings are consistent and to convey those discoveries and findings in the clearest and most rigorous way. I hope you understand why you need mathematics to study computer science and engineering at this point.
However, these days the definition of software engineering is too broad. You could be a software engineer who researches and works on cutting-edge AI technology and biotechnology tools. Or you could be a software engineer who basically owns some portion of designing the frontend of some internet web pages. So how much mathematics you need totally depends on what you want to do as a software engineer in your career.
So, you want to pursue a computer scientist role or any research role that exercises both pure science and applied science rigorously, you will definitely need mathematics beyond high school mathematics and calculus.
If you want to be a software engineer who does web development or any software development mostly with modern frameworks and tools, you probably need only high school mathematics, calculus, and some solid mathematics for computer science topics. But it won’t hurt you knowing beyond that.