• Forum
  • Lounge
  • How important is math for software engin

 
How important is math for software engineering, and does it help in problem solving?

I'm well aware that you can learn programming, data science, etc... without being good at math, but one thing I always keep hearing is that; the better you are with math concepts, the better your problem-solving skills become. Seeing how many things in programming derives from concepts in math (functions, vectors, matrices, etc...), do you believe having a strong foundation in math would help someone in this type of field?

I'm asking this because I'm in a bit of a tough situation right now. I'm looking to enter college this year and I have only 3.5 months left to prepare for the entrance exam.

The entrance exam is 10 math questions, and let me tell you that my knowledge in math is really, really bad (something like 7th or 8th grade perhaps) :(

While I think that I have enough time to prepare myself for the exam, I think that the only way for me to pass it would be through rote learning. So I'm in a bit of a pickle where I can choose to either pause this year and study math properly to establish good foundation, or I can go with the plan right now, enter college sooner and not 'waste' a year.

I've heard a lot that having a good foundation in math is beneficial in software engineering, so I would like to know based on the replies I get what course of action I should take.

As I matured, I began to find math actually very interesting, and it's a science which I would love to study properly, to help me in "abstract thinking" and improve my problem-solving skills, because if I'm looking to be a software engineer, I may as well give it my best, so I hope it would help. However, if I take the entrance exam this year, it'll be as I said, through rote learning. I won't be able to quite understand all the concepts clearly, but at least I won't need to wait another year just to enter college.

I really want to hear your opinions on this, how much beneficial is math for software engineers? Does having a strong foundation lead to better problem solving? If two programmers were assigned a task and both of them have spent an equal amount of time (let's say 10k hours) practicing programmers, but one has better math knowledge than the other, would that person be able to produce a better/faster solution than the other guy?

A slightly off-topic question I'd like to ask is: As someone who is 25 years old, am I old to enter college? I never knew what I wanted to do in life, so after graduating high school, I never planned which college I would go to, but now that I know, I'm think I'll feel awkward being the oldest guy in the class :\
the better you are with math concepts, the better your problem-solving skills become

This sounds more like a false conclusion. It's just that the better you are at problem-solving, the more likely you are to be better at mathematical concepts. Enhancing your mathematical skills will likely help better your problem solving skills, but it's not necessarily a rule.

do you believe having a strong foundation in math would help someone in this type of field?

A strong foundation in math can always help, but it really depends on what you'll be coding. The mathematical knowledge can help give you insight into how to go about coding something, but the reason it's not required is because it doesn't take an intense background in math to understand coding concepts that may be built on math concepts. For example, a vector (basically an array), can be used with relative ease, even if math isn't your strong suit. Matrices get a bit more complex, and good problem solving skills will definitely come in handy. However, this doesn't necessarily mean you'll have impeccable math skills.

I'm asking this because I'm in a bit of a tough situation right now. I'm looking to enter college this year and I have only 3.5 months left to prepare for the entrance exam.

Now, everything I've said up till now has been true in practice, but colleges want to weed out applicants, especially those trying to go into the "bigger" majors such as computer science. If your math skills are lacking, that's what you need to work on. They WILL look hard at the math portion. Strong math skills are correlated (not bound) with intelligence/problem solving skills, and so that's what they'll look at.

I can go with the plan right now, enter college sooner and not 'waste' a year.

This is a tough call, but only you can make it. Do you really need the extra time to prepare? Are you actually going to use that time to prepare? Do you think that you won't be able to pass the test if you work your way up using good sources like Khan Academy? Your call. Taking a year can also be good to really think about what you want to do, if you want to go to college at all.

I won't be able to quite understand all the concepts clearly, but at least I won't need to wait another year just to enter college.

If you're passionate about learning math, that's you and make a decision weighing your options/wants/needs. But the likelihood that you'll use the higher math concepts in any applicable way are low, and the odds that you'll remember them after not using them for a while are even lower. Even my professors sometimes may need to refresh themselves on material that they may not have taught for a semester. Of course, this is with Calculus and beyond subjects. You should be familiar with basic geometry and basic to more advanced algebra. This has been the only knowledge I've needed up till now for any course other than a math course.

If two programmers were assigned a task and both of them have spent an equal amount of time (let's say 10k hours) practicing programmers, but one has better math knowledge than the other, would that person be able to produce a better/faster solution than the other guy?

This is a tricky one. It would depend on the problem they're asked to solve and how fresh the math is in the programmer's mind. Producing a better or faster solution will more depend on an understanding of how time complexities work which is taught in a CS course - which has a basis in math obviously - but if they both understand this it's not likely either would have an edge in this regard.

Overall, I'd say they'd probably both get it at the same time if the only variable different about these two programmers was one had a stronger mathematical background (assuming the other doesn't have a terrible background with math).

As someone who is 25 years old, am I old to enter college? I never knew what I wanted to do in life, so after graduating high school, I never planned which college I would go to, but now that I know, I'm think I'll feel awkward being the oldest guy in the class :\

There's always several people 35+ in almost all my classes, it's doubtful anyone would notice or care. You decide on college based on whether or not that's what you want/need, not whether or not it'll be weird if you're too old (only 25!) :)
in truth it depends on what you are doing.

If you are coding up web pages to allow users to enter their name, address, and credit card info, you don't need to know how to solve a differential equation in 4-d space.

If you get a job like my first one, coding up controls engineering concepts to keep a computer driven airplane in the air and going where it is supposed to go, you need a ton of math.

And there is everything in between, from 0 math needed to extreme math needed. When extreme math is needed, you will have tools that can do the grunt-work, but you have to understand the inputs, outputs, solution/results, and whether what you did is correct or not.

That said you need to at least be able to do algebra / senior level highschool math to succeed in college (for a full 4 year degree) because college is going to require you to pass at least 3 or 4 math classes to get your degree.

Much, much, much more important for a coder is Boolean algebra and logic. Every program you write will probably have some conditions and logic. Very few of the programs you write will involve solving difficult equations.

You are close to the age that if you have a job history or experience, you may be able to not have a degree and still land a good developer job. This assumes you have 5 years in development jobs, though? At 25-30 a self taught person with years of experience is at worst equal to some noob straight out of school who has never done anything more exciting than copy his homework from the web to turn in.

Colleges usually offer remedial classes to a point. It may cost a little more time and money, but you can get some help that way. Or look at GED materials online to brush up on your math skills. Or take a light load of crap classes like the significance of the pickle in early 1500's literature and ethical behavior in a corrupt world and such that you have to take anyway, and work on your math on the side while you get your junk 'core' out of the way.
Last edited on
the significance of the pickle in early 1500's literature

Hey, that was my favorite class!
I thought I'd point out that there's a difference between programming and engineering (even software engineering).

Engineering, genuine engineering, requires math. Programming, which may or may not be engineering, might not.

Programmers can tour an entire career spanning decades without much more than the main operators inherent in modern CPU's. Once a programmer gets past the notion of "beginning at zero" (which, under the hood is related to vectors - the math based subject, not the container), the rest is fairly simple math.

On the other hand, an engineer may be required to use math to simulate chemical reactions, physical phenomena, or a wide range of control software inside operating systems. @jonnin put this as "it depends on what you're doing", and that is entirely correct.

I'm not convinced it defines one's income, either. I wouldn't assume most of the developers making Facebook use or need much math. There might be more psychology at work than the math of engineering.
It's true that whether you'll use math will depend on what you work on, but I personally have never met a good developer who wasn't also good at math. There's definitely a correlation there, but it's difficult to establish the causal link.
I know a few. My current employer is friendly about lateral movement in the company and a number of our programmers do not have a degree or a lot of experience in software development. Of the ones that go on to stay in the area for the long haul, about 1/2 or 1/3 ish don't have advanced math and would not excel at it but have become solid developers. Granted, we do next to zero math where I am now.

That said, still agree with the above. Most people who code well are good at math. Its probably tied to using the same parts of your brain or problem solving skills or something along those lines. But the mind is a strange thing, and we still don't know so much about things like this.
Last edited on
Granted, we do next to zero math where I am now.

Do you change jobs often??
no, this is job #2. I am not worried about money and enjoy stability, so I tend to stay put. Though this is like team #5 at job #2, so moving around inside my department is common (happens to all of us).

many do, one of my college friends changes his job about every 3 years.
Last edited on
I see, sounds tiring! Thanks for the info
Formal Language theory, graph theory, set theory, and related discreet math? Sure. Calculus, and related continuous math? Not so much.
As a mathematician for whom coding is primarily a hobby, I might say this: if you're doing organized thought about organized things, you kind of already are doing mathematics. Formal training in it is one thing, but it seems the really important components are, as others have said, the problem-solving methods and metamathematical things like that. The ability to abstract essential details, reason on them, and then de-abstract to get a usable answer.

Granted, if you're working a lot with mathy things, you'll need more of the actual nitty-gritty mathematical know-how. But I can't speak to how common that stuff is, specifically, since I'm not a software engineer. Although, I can say from my own experience just doing a little bit of programming on the side that there are many times where I'm not working on something mathematical per se, but I find a good solution to a particular problem from my mathematical experience. For a simple example, extracting the digits of some serial number using division and modulus by powers of 10.
I had a similar problem, I fought with it for a very long time. I went to the master, asked people who might know how to deal with her, but nothing helped me. I already thought of dropping my hands and throwing them in the trash. But, as it always happens, suddenly I stumbled upon an old soldering iron and decided to fix it myself. Then I noticed that the Desoldering Station, which is simply necessary, is missing and I decided to order it online. The best option was at https://solderingironguide.com/reviews/best-desoldering-stations/. I am very grateful to them, because a very high-quality product that helped me fix my thing
Topic archived. No new replies allowed.