Do I need math to be a good developer?
There seems to be a common perception that math and coding are intrinsically linked and to some extent, they are.
Written by Dan Parry at Codesphere
There seems to be a common perception that math and coding are intrinsically linked and to some extent, they are. Whether being good or bad at math affects how good a developer an individual is, however, is a whole other topic worth talking about.
On one hand, there is the school of thought that math is indeed very important because programming involves complex calculations and anyone without a deep understanding of math will struggle to solve problems. The other extreme is, of course, the diametric opposite: that it is not important and math doesn’t generally play a role when writing coding.
I personally lean more towards the “no it is not” side of the argument, but…not entirely. While math is important (as it is in most things) it is not essential and certainly is not the key to being a good developer. Let’s talk about why…
Having a basic understanding of general math will go a long way in helping you understand how to solve a given problem when coding. Calculating how many squares your grid needs to be long as it is wide for example, or the frequency at which your web animation should pop up and annoy the user are both mathematical issues to solve. The heavy lifting, however, the actual calculation, is always going to be the computer itself. There are of course edge cases, or in fact, whole areas of development, that are exceptions to this rule but we will come to them later.
At its core, coding is problem-solving, and learning math is a great way to train your problem-solving skills. It is also true that computer languages are based on math, but so is music and Pythagoras rarely comes up when learning to play guitar.
Learning math in school prepares you for problem-solving and develops skills that make you a better problem solver, but if you are not good at it that doesn’t mean you’re a bad developer, it just means you’re bad at math.
One of the first things I learned on my coding journey is that Google is my best friend. Retaining vast amounts of information is not a requirement and lazy developers are good developers. The same is true here, having a good grasp of math will give you the tools you need to make you a great developer but you can get by just fine without it.
If you can instantly calculate a complex equation needed to solve an issue in your head that’s great, but also, you can just identify the math needed and google it — this is a valid strategy in development and you shouldn't be scared to embrace it.
How can you improve your problem-solving skills?
Building a project is by far the best advice I can give here. Build something, it doesn’t matter what, just that you try. You will come across issues you didn’t expect, learn to solve them, and remember them next time. This is the best way (outside of a professional setting) to hone your skills as a developer beyond the basics of syntax and terminology.
A whole project may be a little daunting or just time-consuming, and there are great tools you can use that are a little more accessible. Coding problems are a great example, check out codewars.com and try your hand at a Kata if you want to use your coding knowledge to solve a problem.
Back to our topic of what, if any, math you will need to be a good developer. The answer is frustratingly vague, basic math is the short answer, the bar for entry if you will. The truth is, as a web dev you’re probably not going to need that much math in your day to day and when you do, you can look it up!
When is math a requirement?
We mentioned earlier there are areas of development that require extensive knowledge of mathematical theory to work in and this is indeed true. Don’t worry, they are industry-specific areas that you won’t find yourself in by mistake and suddenly have to solve complex algorithmic issues on your first day as an intern at CodeSphere.
Game development is one example, 3D modeling requires a good understanding of trigonometry and physics in order to design realistic characters and environments. Anything to do with Machine learning or AI is another, it requires high-level mathematical concepts to teach machines, or to build the mechanisms that allow the machine to learn I should say.
If you don’t intend to get into these fields, and you’re awful at math, then don’t worry your general life as a developer will probably be juuust ‘fine’.
In short…
Math is not essential to being a great, or even a good, developer but it can’t hurt to be good at it. If nothing else just to make sure you’re being paid market value for your dev skills. Computers do a lot of the heavy lifting when it comes to calculations so a basic understanding of math and a good eye for problem-solving are all the tools you need to start your journey into the wonderful world of development.
Thanks for reading!
Happy coding from your good friends at Codesphere, the next-generation cloud provider.