this post was submitted on 08 Nov 2024
118 points (100.0% liked)

Programming

17443 readers
222 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

I'm working my way to a CS degree and am currently slogging my way through an 8-week Trig course. I barely passed College Algebra and have another Algebra and two Calculus classes ahead of me.

How much of this will I need in a programming job? And, more importantly, if I suck at Math, should I just find another career path?

(page 2) 25 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 week ago

Many things that are solved by brute force could be greatly improved in a mathematical way. I have worked with a mathematician on one application to get past a speed bottle-neck, but that was a rare case.

[–] [email protected] 2 points 1 week ago

Math skills can occasionally be useful, but I don’t see it as a dealbreaker.

The good thing about being good with math is that it usually means you’re a good problem solver, and problem solving is an important skill for programming. But the reverse isn’t necessarily true. You can be good at problem solving but still be bad at math.

I would say if you’re struggling with the programming courses, then maybe look somewhere else. Otherwise, go ahead.

[–] [email protected] 2 points 1 week ago

I tried to go to University for CS but never quite got the hang of the math part. Instead I got a Certification in Computer Science from an apprenticeship (idk if that's the right Translation, in German we call it "Fachinformatiker für Anwendungsentwicklung") within 1.5 years and with extreme ease, because it was way less math-heavy and more focused on actual programming.

I stayed with the company that I did the apprenticeship with and got promoted from Junior to Regular within a year. I work exactly in the field and position I wanted to work in when I was going for the CS degree. In fact, I have the exact same responsibilities and the same pay as my colleagues with CS degrees. It might not be like that in every company, but it did work out for me.

Just for fun, I actually went back to Uni this semester to try and actually finish one or two math modules, but dropped out within 2 weeks because I was hopelessly incapable of even understanding the basic concepts lol

[–] [email protected] 2 points 1 week ago* (last edited 1 week ago)

Practical programming itself does not require this kind of math. The stuff you're trying to make a program do might; but even then I don't think you'll have difficulty in that context. The stuff you're learning now will have had time to "settle", and you'll be working towards a concrete goal, which makes it easier in my experience.

Another thing is that just because you're struggling right now doesn't mean you'll be struggling forever. Math didn't really click for me until I took calculus. I had a math professor who it didn't click for until their junior year of college as a math major.

So don't sweat it. But it's always a good idea to have another career idea or two in your back pocket just in case. There are lots of reasons you might not want to be a programmer as a career. You might hate it. You might love it enough that you want to be able to do it freely instead of at the behest of others for money.

These kinds of anxieties are normal for someone your age (assuming you're not nontraditional student). But one day you'll look behind you in all these worries will seem unjustified. Everything will almost certainly turn out fine.

[–] [email protected] 2 points 1 week ago* (last edited 1 week ago) (1 children)

You often need to be pretty good at math. But not because you're "doing math" to write the code.

In real world software systems, you need to handle monitoring and alerting. To properly do this, you need to understand stats, rolling averages, percentiles, probability distributions, and significance testing. At least at a basic level. Enough to know how to recognize these problems and where to look when you run into them.

For being a better coder, you need to understand mathematical logic, proofs, algebra/symbolic logic, etc in order to reason your way through tricky edge cases.

To do AI/ML, you need to know a shitton of calculus and diff eqs, plus numerical algorithms concepts like numerical stability. This is kinda a niche (but rapidly growing) engineering field.

The same thing about AI also applies to any other domain where the thing being computed is fundamentally a math or logic solution. This is somewhat common in backend engineering.

I'm not "doing math" with pen and paper at work, but I do use all of these mathematical skills all. the. time.

I am an SRE on a ML serving platform.

[–] [email protected] 1 points 1 week ago (1 children)

In real world software systems, you need to handle monitoring and alerting.

That's one example of your particular programming job. Many real world software systems do not require handling monitoring and alerting especially not using statistics, rolling averages, etc.

For example, I once wrote the encryption code used on smart card chips. Writing statistics for smart card card transactions would be someone else's job. Same with the modem code I wrote for a product.

[–] [email protected] 1 points 1 week ago

So, I'd argue that "frontend" and "backend" are the default modes of software engineering these days, and that embedded is a more niche field.

That said, if you're doing encryption code, you're doing far more advanced math than backend monitoring and alerting.

[–] [email protected] 2 points 1 week ago

Programming and math are both heavily rule-based and logic-based, which is why people say if you're good at math you may be good at programming.

[–] [email protected] 1 points 1 week ago

Very much depends what kind of programming you're doing. Graphics uses shittons of maths. Data analysis/data science is maths/stats heavy. Other types less so!

[–] [email protected] 1 points 1 week ago

I'm a front-end developer. I sometimes need to solve algebra problems. I'm pretty bad at it because I , but my knowledge that a problem is solvable by math comes in handy maybe once or twice a month. It's just that on the few occasions that there's algebra that I can't figure out how to solve (maybe once a year), I may ask for help from a colleague.

Examples of cases where math comes in handy:

  • Pythagoras when I need to figure out the x/y components of a diagonal distance
  • Width/height calculations from a variety of parameters

In summary, as long as you know what math is capable of, you probably won't have major issues. There will pretty much always be someone around to help with the math part if necessary.

As for calculus... I forgot all about the one calculus class I've taken and I've never suffered for it.

[–] [email protected] 1 points 1 week ago

The most advanced math a typical developer needs is Fibonacci, and if you can't remember it someone will show you a cheat sheet.

[–] [email protected] 1 points 1 week ago

the better you understand math the better you can understand cs in depth

[–] [email protected] 1 points 1 week ago

If you end up working in the medical/insurance field in the USA, you don't even need basic math! The numbers the programs output are just all made up!

I had the audacity the other day to ask in what order we apply deductibles. (YOU want a deductible applied to something covered at 10%, not 100%. The insurance wants it applied to something covered at a100%) I was told it just picks some at random and hopes for the best, so we use the word "best effort" when it comes to estimating what insurance will pay, since they'll make that up anyway.

So yeah, just another throwing in that it super matters where you work. At my job we plug in what is industry standard for medical accounting, and say it's just an estimate on everything else.

[–] [email protected] 1 points 1 week ago

If you enjoy the work you'll do well. There are a lot of different roles and specialties in CS with some of them being highly math focused and others quite divorced.

[–] [email protected] 0 points 1 week ago

The field is incredibly broad. Choose a field or employer or project that's not doing that an you're fine.

[–] [email protected] -3 points 1 week ago (1 children)

I'd argue it's a bad career path overall. You will get laid off working as a dev, it's just how it works, and if you haven't managed a 10+ headcount by your mid 30's you will find yourself facing ever escalating ageism 35 on as an old man dev. It's not a field that generally professionally rewards experience beyond 5-ish years.

[–] [email protected] 2 points 1 week ago

That's not my experience here in the EU.

load more comments
view more: ‹ prev next ›