Hey, is this your current state?
- You are currently considering a career in programming or software development.
- Just getting started with a couple of programming courses.
- Getting worked out by an error on your code
Any of the above… and you’re sitting wondering if programming, in general, has anything to do with your understanding of advanced mathematical processes.
Does one have to be good in math to be a good programmer?
Hell no, you don’t have to be good at math to be a good programmer.
Being a good programmer is not dependent on your ability to solve mid-level to advanced mathematical problems but rather hinged on understanding the fundamentals and basic logic behind a programming language.
To prove this;
I recently interviewed 7,805 programmers and software developers with diverse expertise, educational backgrounds and skillsets to get their thoughts on this topic.
This interview includes people who transitioned into programming with little or no mathematical background, making between $70,000 – $250,000 yearly working for international companies.
Without further ado, let’s get started.
Programmers Interview Findings
13% To an extent
We’ll analyze the different programmers’ perspectives and the reason behind their choices.
Phewww… At least 81%; that’s 6,322 programmers from a sample size of 7,805 programmers, agree that you don’t have to be good at math to be a good programmer.
Being a good programmer is not dependent on your understanding of calculus or Fourier series.
Neither is it dependent on your ability to solve complex mathematical problems.
You should know that programming problems are different from mathematical problems.
In general, mathematics can be referred to as the science of defining things in terms of equations. Say; F = m x a.
On the other hand, programming is an applied skill, the art and science of creating code so a machine can execute a procedure to get the desired result.
In math, we can be faced with problems like:
- Finding the shortest distance between two points; say points A and B
- Calculating latitude and longitude
- Differentiating and integrating equations to n-orders
- Solving logarithmic and Laplace transforms
We don’t use any of that in programming.
Ohh, how about the self-acclaimed general equation popularly called the almighty formula:
It has no use here, and programmers don’t need to recall all that stuff as well as the unending trigonometric identities.
I previously worked as a front-end engineer; Although I have a concrete understanding of advanced mathematical principles as a mechanical engineering graduate, I never encountered any such complex mathematical problems while discharging my duties.
Common programming problems include things like:
- Refactoring and writing cleaner codes
- Unbalanced team communication
- Not meeting up with deadlines
- Unit testing
And all these can be solved from experience, keen willingness to learn, building projects, solving real-time problems, getting involved in tech communities and having an open mind towards growth and self-development.
The Extent of Math Requirement in Programming
While preparing this article, I shared the interview result with few of my colleagues and someone asked me:
Stan, how about the 13% that said math is needed “to an extent”? That’s about 1,015 programmers; that bunch can’t be entirely wrong.
Indeed, they are correct as well.
We’ve earlier stated you don’t need mid-level to advanced understanding of math. However, you need to understand basic mathematical concepts; algebra.
Algebra entails addition, subtraction, multiplication and division.
Can you provide answers to the following questions:
- 18 x 4
- 121 / 11
- 350 – 75
If yes, then you are good to go.
With the knowledge of these mathematical basics, you can get started with all major aspects of programming like web development and app development.
However, programming is a broad term that entails every aspect of coding, and that’s why 6% of the sample size (425 programmers) opined that understanding math is a must, not just any math but complex analytical processes.
What seems to be the prejudice of their argument?
Let’s find out in the next section.
Application of Complex Mathematical Processes in Programming
Not all aspects of programming require a basic understanding of mathematics.
Suppose you are going into fields like machine learning, artificial intelligence, crude game development, cryptography, or working on cutting-edge technologies.
In that case, you’ll have to understand these very complex mathematical concepts because they are needed to improve these mathematical theories.
“I’d love to go into machine learning, but I hate math; Back in high school, I always had poor grades in math courses, so I fear if I can thrive well in machine learning.” – said Stephanie.
If you’re like Stephanie, I’d say you should worry less.
You once had problems with math and it can be due to specific reasons beyond your control or you not having the right learning mindset then.
If you are passionate about learning these math-intensive skills, then brace yourself, cultivate an open mind towards learning math, give it a try and see how it goes.
There’s no harm in trying, so stop looking down on yourself and give it a shot.
With mathematics aside, what does it actually take to be a good programmer?
How to be a Good Programmer
Here are five steps that will guide you to become a good programmer.
- Pick one programming language. Just one, don’t try to learn multiple languages at a time.
- Focus on learning the programming language basics and the core underlying principles. Don’t learn blindly; learning the concept behind the language will save you a lot of time in the long run.
- Incorporate a project-based learning approach. The importance of building projects can’t be overemphasized.
- With gained experience, try to build more complex projects.
- Be good at fundamental non-programming skills like communication, collaboration and adaptability. This will help you stand out from the crowd.
I recently published a guide on the best way to learn programming.
You can check it out here: learn to code faster.
Here are the key takeaways.
- You don’t need mid-level to advanced knowledge of mathematical concepts to get started with programming skills like web development, software engineering, app development and DevOps.
- All you need is a basic understanding of algebra.
- However, high-end skills like machine learning, and artificial intelligence do require you to have a complex understanding of mathematical processes.
- Major traits of good programmers entails learning the underlying concepts and logic behind a programming language.
- Nothing is too hard to learn, you just need the right zeal backed with hard work and consistency.
And that’s a wrap!!!
I put a ton of work into this research and I hope you enjoyed it.
You can share this article with your friends and family; it might just be the right motivation they need to get started.
And if you are just getting started with programming, then this website was built for you; check out other articles.