You might be surprised to hear this, but if you want to become a well-grounded programmer and make a successful career in tech, you need to know some math.

Quite often self-taught developers tend to jump into more practical things, like learning programming languages and new frameworks. I did it too!

Sure, maybe you'll land a job or two, but eventually, you will feel somewhat disadvantaged compared to those with a more solid scientific background.

In this post, I will discuss why math is important for programming and which different branches of math are used in software engineering. I hope that will help you to build your very own learning plan so nothing will stop you from becoming a great developer.

So, let’s get started.

# What is math?

First of all, let’s understand what math is. Mathematics is essentially the study of numbers, shapes, and patterns. It is a tool that helps us to understand and make sense of the world around us. Math is used to describe and explain complex phenomena in our natural world, as well as in our technological world.

Mathematics is heavily used in many scientific areas, such as physics, engineering and, of course, computer engineering as well.

# Why math is important for programming

Mathematics and programming are closely related. Mathematics is a branch of science that deals with the study of abstract concepts such as quantity (numbers), structure, space, and change. And when learning math you also learn an invaluable skill for a software developer - which is abstract thinking.

Math is used to model real-world phenomena, and programming is essentially creating a digital model of a process. You don't necessarily need to know calculus to write programs, but your mind still uses similar problem-solving patterns when working on math problems and designing software systems.

But it does not stop there. Some of the mathematical concepts are used directly in programming. Let's have a look at those.

## Functional calculus and programming

Functional calculus is a branch of mathematics concerned with functions and their properties, and it forms the basis of the functional programming paradigm. While much of the software we write uses an object-oriented approach, functional-style programming is still frequently employed (for instance, lambdas and Java streams are examples of functional concepts used in popular programming languages).

## Graph theory and programming

Graph theory is the study of graphs and their properties. Graphs are used to represent networks and relationships between objects. They are often used to solve different algorithmic problems, particularly in relation to navigation and networking.

## Set theory and programming

Set theory is used in programming to create algorithms that can efficiently manipulate collections of data. Set theory is one of the main foundations for database management systems.

# Different branches of math used in programming

So what should you focus on learning? Of course, you would want to learn only what is truly necessary, skipping optional things. I have created this simple study list specifically for my readers.

The branches of math that you will need to learn are:

Algebra

Geometry

Trigonometry

Set theory

Graph theory

Statistics

Probability

Learning this should give you a solid background and will definitely unleash some of your coding superpowers.

# Conclusion

It is clear that math is essential for programming and software engineering. Without math, it would be impossible to construct algorithms that can solve complex problems.

So, if you want to become a self-taught programmer and make a successful career in it, then you really need to understand math fundamentals.

Feel free to subscribe to my Youtube channel: https://www.youtube.com/channel/UCkJRvCK2-l2gCuPT9-HUG7A

My website is here: https://testclub.notion.site/