How much math should you know? 5 developer roles compared
Tags: beginners, codenewbie, productivity, programming
Published: 2022-07-15 23:24:04

I often encounter questions from people thinking about becoming a developer: "I'm bad at math. Can I still be a developer?" The answer to that question depends on what *kind* of developer you plan on being. 

It's no secret that knowing advanced mathematical concepts and being comfortable with learning math **will** open up more avenues for you as a software developer. You can generally expect more flexibility to enter math-intensive fields like game development or data science if math is one of your strengths. 

However, the most important skill to have is **thinking logically**. One of the reasons why people with strong mathematical backgrounds succeed in software development is because they are used to practicing their logical problem-solving skills. People with backgrounds in philosophy often succeed as developers for the same reason. So, while you may not need knowledge of advanced mathematics to succeed as a developer, you **do** need a strong logical mindset. 

Today, we will look at a few different developer roles to see just how much math is involved and then move into some tips on how you can build or strengthen your logical problem-solving skills. 


Let's dive right in!

**We'll cover**:
* **Math used in everyday software development**
   * 1. Front-End Web Developer
   * 2. Back-End Web Developer
   * 3. Mobile Application Developer
   * 4. Game Developer
   * 5. AI/ML Developer
* Will I eventually need to master math?
* Wrapping up and next steps

<a name="everyday-usage"></a>

## Math used in everyday software development
You may have heard people claim that you don't need to be good at math to succeed as a developer. Others will insist that the opposite is true and that a solid mathematical foundation is essential for *truly* efficient programming. 

The reality is somewhere in the middle.

Certain roles within the software development field require a higher level of mathematical understanding than others. For example, a role such as a machine learning engineer will require a greater understanding of mathematical concepts than a web developer. However, most of the day-to-day tasks within software development do not require a deep understanding of mathematics.
In other words, while having a strong mathematical foundation is definitely beneficial, it's not necessary for every developer role.

<a name="front-end-web-development"></a>

### 1. Front-End Web Developer

This role typically requires basic mathematical skills, such as understanding algebra and geometry. In addition, you will need to be comfortable working with formulas and variables. This is because most [front-end development](https://www.educative.io/blog/typescript-vs-javascript-whats-the-difference?eid=5082902844932096) tasks involve calculations and solving problems.

For example, when creating a web page, you may need to figure out how many pixels wide a column should be, and then calculate the width of the row. Similarly, you may need to calculate the fields' sizes and positions when creating a form. 

<a name="back-end-web-development"></a>

### 2. Back-End Web Developer
Back-end developers typically work with databases and code that interacts with them. As such, they need to be comfortable with basic algebra and geometry. In addition, they should be able to understand basic trigonometry and calculus. This is because back-end development tasks often involve working with mathematical formulas and calculations.

When back-end developers create a web page, they may need to find the total number of items in a list or calculate the sum of two numbers. Similarly, when working with databases, you may need to calculate the average of a set of numbers or find the difference between data sets.

<a name="mobile-app-development"></a>

### 3. Mobile Application Developer
Depending on the type of application, mobile application developers may or may not need strong mathematical skills. If you were developing a mobile application that used math to function, such as calculating tips for budgeting or predicting weather patterns, then you would probably need to be comfortable with math.

However, if you were developing a mobile application that did not require math, such as an app that allowed users to make a reservation at a restaurant, then you would not need to be as strong in math but would still need to know how to code. 

<a name="game-development"></a>

### 4. Game Developer
As a game developer, you will need strong mathematical skills. You must be familiar with linear algebra, calculus, geometry, trigonometry, statistics, etc. Games are complex systems that require a lot of mathematical calculations. They can also be relatively simple! However, if you intend on being a game developer working at a major studio or company, you will likely be dealing with projects that are a little more complicated than, say, an [in-browser game of Tetris](https://www.educative.io/blog/javascript-tutorial-build-tetris?eid=5082902844932096). 

As an example, when designing a game world, you will need to account for factors such as gravity and wind resistance. Similarly, when designing a game character, you must consider the character’s movements and how they will interact with the game world.

Some of the more math-intensive tasks that a game developer will need to be comfortable with include calculating the depth of a 3D scene, or simulating the behavior of a complex network of objects. A game developer's understanding of mathematics is a vital tool for creating sophisticated, complex games. 

<a name="machine-learning-development"></a>

### 5. AI/ML Developer

Developers working with artificial intelligence or machine learning build algorithms that enable computers to [learn and improve independently](https://www.educative.io/blog/supervised-vs-unsupervised-learning?eid=5082902844932096). This is done by feeding the computer data it can analyze and understand. This data can come from various sources, including images and text.

AI/ML developers often require mastery over advanced mathematics, including linear algebra, calculus, and statistics. They also need to be able to write code in a variety of programming languages, including Python, Java, and JavaScript.

There are many reasons why mathematical skills are important for AI/ML developers. One reason is that many AI/ML applications involve modeling and simulation. This involves creating models of real-world objects and then simulating their behavior. 

These models can be very complex, and the code used to create them must be reliable. If the code is poorly written or bears inaccuracies, the models may not work as expected.

In addition, AI/ML applications are often used for predictive modeling. This involves taking a set of data and using it to predict future events. For example, you might use machine learning to predict how a customer will behave in the future. This is an important use case as it allows businesses to make predictions about customer behavior that they would not be able to make on their own. 

<a name="mastery"></a>

## Will I eventually need to master math?
> "In mathematics, you don't understand things. You just get used to them."
>
> John von Neumann


When it comes to everyday development, understanding math can be a plus, but it doesn't have to be a barrier to entry. 

In fact, for many developers, math skills are not their strongest point. Often, the skill that matters more than math is the ability to problem solve. Developers need to be able to think critically and identify issues that need to be addressed. 

They also need to be able to communicate with other members of a team. In short, being a good developer is not just about knowing how to solve equations; it's also about having the ability to think on your feet and get along with others.

So, if you're not the best at math but are interested in becoming a developer, [don't let that stop you](https://www.educative.io/blog/5-proven-learning-strategies?eid=5082902844932096). There are plenty of other ways to achieve success in this field. 

And, if you **do** have a strong background in math, that's still an awesome asset to have!

## Wrapping up and next steps

If you're considering a career as a developer, there's no better time than now to [start learning how to program](https://www.educative.io/blog/learn-to-code-personalized-learning-plans?eid=5082902844932096). With the rise of technological advancements and the ever-growing demand for qualified developers, learning how to code has become an increasingly valuable skill to have. 

You don't need to know much beyond arithmetics and basic algebra to start learning how to code today.

With enough grit, determination, and a healthy dose of Google-fu, you'll be able to teach yourself how to code in no time at all.
 
*Happy learning!*

To get started learning these concepts and more, check out Educative's [Learn to Code from Scratch](https://www.educative.io/explore?search=true&search_string=scratch&difficulty_level=beginner&free=true&pageNo=1?eid=5082902844932096) courses!

### Continue learning about software development on Educative
* [7 tips for self-taught devs](https://www.educative.io/blog/tips-self-taught-developers?eid=5082902844932096) 
* [Learn to code part-time: 5 tips for success](https://www.educative.io/blog/learn-to-code-part-time-tips?eid=5082902844932096) 
* [6 characteristics that can make you an outstanding developer](https://www.educative.io/blog/characteristics-outstanding-developer?eid=5082902844932096) 

### Start a discussion 
Why do you hope to accomplish as a developer? Was this article helpful? Let us know in the comments below!