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

Programming

17416 readers
46 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 !webdev@programming.dev



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?

you are viewing a single comment's thread
view the rest of the comments
[–] cbarrick@lemmy.world 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.

[–] Blue_Morpho@lemmy.world 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.

[–] cbarrick@lemmy.world 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.