this post was submitted on 31 Dec 2023
59 points (87.3% liked)
Programming
17313 readers
192 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
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I've known a lot of math people, and /on average/ I think they're more capable of programming useful code than the other college graduate groups I've spent a lot of time working with (psychology, economics, physics) /on average/.
That said, the best mathematicians I've known were mostly rubbish at real programming, and the best programmers I've known have come out of computer engineering or computer science.
If you need a correct, but otherwise useless implementation, a mathematician is a pretty good bet. If you need performance, readability, documentation, I'd look elsewhere most of the time.
Mathematicians are good at writing algorithms, but not at the development aspect, which is basically building for different systems, packaging software and documentation.
I would disagree on the performance part, the vast majority of software developers aren't writing high performance software and the ones that are tend to be computational mathematicians or physicists.
Just because you're not writing high performance software doesn't mean it shouldn't be a consideration. Sure, I'm not gonna micro-optimize memory when I'm writing an API in Python, but that doesn't mean I'm not going to write it efficiently.
If I have to store and then do lookups on some structured data I'm gonna use a hash table to store it instead of an array. If I need to contact a DB multiple times I'm only gonna close my connection after the last query. None of this is particularly difficult, but knowing when to use certain DSA principles efficiently falls pretty firmly into the computer science realm.
If you need someone to hyper-optimize some computations then a mathematician might be a better bet, but even those problems are rarely mathematician level difficult. Generally software engineers have taken multivariate calculus/differential equations/linear algebra, so we're decently well versed in math. Doesn't mean we don't hate the one time a year we have to pull out some gradients or matrices though.