How much math knowledge do you need to be a software engineer? Earnhire

How much math knowledge do you need to be a

It’s a common misconception that you have to be good at math to become a programmer. For many people interested in coding, math is a barrier that stops them from starting their first course, including Angelo Ćurčić, a Codecademy learner who studied creative writing before becoming a front-end developer.

“For a long time, I thought that programmers were some kind of math genius who went to the best schools in the country and could watch things like The Matrix,” Angelo says. “But I realized that wasn’t the case. I was just average at school and math was probably not my best subject.”

In reality, software engineers must write code that manipulates numbers and logic to solve complex technical problems. If you look at the list of courses required for a computer science degree, you’ll usually see Calculus I-III, differential equations, discrete mathematics, linear algebra, and other advanced math classes. So what happens if you want to work in software engineering but don’t have a background in math?

Learn something new for free

Well, it really depends on what kind of software engineering you want to do. Are you interested in creating programming languages? What about libraries and frameworks? Or are you better at designing interactive websites? Each of these areas requires different skill sets and different levels of math to do well.

To better understand the relationship between mathematics and software development, let’s first take a look at what a software engineer does.

What does a software engineer do?

Most software engineers work on either web or business applications. They can work on the front end (the part of the application that the user sees and interacts with), the back end (the part of the application that runs on a server), or they can work on both sides of an application as a full-stack developer.

Depending on the type of stack a company uses, software engineers will need to know several programming languages. For a front-end developer, it’s HTML, CSS, and JavaScript. There are many languages ​​that a back-end developer needs to know, and they can include Java, Python, Ruby, PHP, C#, or any of the many other languages ​​used on the server side. If interacting with databases, back-end developers will also need to know SQL and will use several technologies such as Jenkins and Kubernetes.

The software engineers who design websites how They may use programming languages, libraries and frameworks, but they may not use math at all or very frequently.

Another group of software engineers create New programming languages, libraries, frameworks, and other technologies are available to developers. These engineers rely on advanced mathematical skills to do their jobs.

So what maths do you actually need if you want to work with a website?

Although the programming languages ​​mentioned above are rooted in mathematics, you don’t need to know mathematics to be effective at using any of them. In other words, it is absolutely possible to write code without knowing mathematics.

Programming is about representations, not math. You give it some input, and a program produces an output. Whether math is involved depends on what the program or script is designed to do. It might not involve math at all, and might just be dealing with positions in a list, or nodes in a DOM.

However, keep in mind that you will need basic math skills to work as a software engineer. Here are some tasks that require math skills:

  • Rough estimate of system load
  • A/B split test analysis
  • Determine the probability of a recurring event
  • Understand the basics of Big O notation to understand how to optimize the complexity and performance of the code you write.
  • Use Logic to understand conditional logic in your code

How does mathematics help you as a software engineer?

While most software engineering projects don’t require advanced math knowledge, your previous math courses and other math experience will not go to waste, as they will give you the skills to tackle logically complex problems. way of thinking This is extremely useful as a software engineer.

Interestingly, there are many other activities we do on a daily basis that can help improve our skills as software engineers. Solving puzzles, playing musical instruments, and playing video games all require a certain degree of problem-solving ability and logic that is found in software engineering problems. Philosophy also involves logic and proofs and can lead programmers to develop their own unique coding approaches.

We’ve discussed software engineering jobs that don’t require advanced math, but which jobs do require advanced math?

Codecademy learner Louise Jones remembers hating math as a student. When she started learning to code to become a data engineer, she resisted the idea of ​​learning math again. “I knew I wasn’t confident in math, but just because you’re not confident in something doesn’t necessarily mean you’re not good at it,” she says.

I read a book A strong mind for numbers Louise decided to rebuild her math skills and persevere.[The author] “I realised that my way of learning wasn’t right for me,” says Louise. “I thought: Look, I can do it too..”

If you’re good at math and want to put your skills to good use in a professional setting, here are some areas of software engineering you can consider.

Mathematics plays a unique role in each of these fields. For example, in game development, we need to represent 3D objects in a 2D environment, which requires in-depth knowledge of geometry. We also need to create virtual worlds that behave like the real world, which requires knowledge of physics. In machine learning, knowledge of advanced mathematics and statistics allows us to create new models, even new types of models, that can change the future.

How to learn more math to help you as a software engineer

Are you relieved to know that you don’t have to be a math expert, or even good at math, to be a software engineer? If so, a lot Many people are in the same situation as you. In fact, many working software engineers don’t have a college degree and haven’t taken a single math class after high school.

But remember: knowing the basics of mathematics is beneficial. The more you learn, the better and more efficiently you will be able to solve problems for various programming tasks. If you want to learn something new or improve your existing math skills, check out our math courses. You might be interested in our Probability course or our Linear Algebra course. If you’re interested in Data Science, check out the Basic Math for Data Science skills path. Or read this post on programming languages ​​used for math and get started with one of these options today.

This blog was originally published in January 2022 and has been updated to include additional courses and quotes from Codecademy learners.

Share this post