It is often echoed that mathematicians make excellent software engineers, and that their logic-adjacent work will translate efficiently into coding and designing.

I have found this to be almost universally untrue. I might even say the inverse is true.

While I and many of my peers have capacity to navigate the mathematical world, it certainly is not what sets us (at least me) apart when designing clever algorithms and software tricks.

Point being: I dont think the property/trait that makes good programmers is mathematical literacy.

I would love to hear what others experience is regarding this.

  • onlinepersona@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    9 months ago

    I definitely concur. Scientists often write functional but abominable code that follow no style-guide, no conventions, no rules, just “get’er dun” mentality. Short obfuscated variable names, enormous functions, no comments, no build instructions, no tests, no edge case handling, no modules, no separation of concerns, etc.

    They often write the most job secure code on the planet.

    I get it, it’s because they come from a world of f(h) = g(h) + i(h) -> assoc = 1 or whatever. Maths, physics, biology, computer science, etc. all have the most obtuse, unvarnished, terse expressions ever. They aren’t teachers (most professors have no didactic training whatsoever), nor do they write stuff that has to be understood by anybody outside of their field.
    Especially if people from that field become researchers, only their results and number of papers for their peers count. They spend most of their time getting grant money and under pressure to release something that passes peer review.
    Their entire system is more about money than actually expanding our realm of understanding and they are caught up inside of that.

    IMO, the most dangerous specimens to exit that system are mathematicians as they believe maths is the purest form of science (everything is maths after all), that they are smart, logical, and can solve anything. They treat software development as a practical application of their formulas and, in my experience, see it as beneath them to follow rules they consider superficial.
    Code doesn’t have to readable, it has to be correct, functional, and at best pure. It’s why functional languages, especially Haskell, attract them so much. There are those of course who just want something that works and feel like they’re in the rat race of research.

    That’s been my experience anyway with making code written by scientific minds production-ready (tested, maintainable, documented, functional, extendable). It’s a task I actually do wish upon my worst enemies because I want them to suffer like I did.

    CC BY-NC-SA 4.0

    • Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      9 months ago

      For real, though, I wish maths in general, in all fields, adopted the way things are written in programming.

      So, instead of something like:

      e = mc²
      

      Just write it out:

      energy = mass * speed_causality²
      

      And I mean, that’s still a harmless formula. I’ve had to learn so many formulas, where not the formulas were the problem, rather it was knowing what φ means in this field/context. So many scientific papers are just extremely hard to read for anyone from a different field, because the formulas are obfuscated like that.

      And the thing is, I get that pure mathematicians don’t care. Their formula inputs usually truly don’t have much of a meaning beyond a and b.
      But their conventions, in particular multiplication being implied when two random letters are written next to each other, that just fucks up the option for anyone in any other field to use legible variable names.

      • jasory@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        9 months ago

        “So many papers are extremely hard to read because the formulas are obfuscated like that”

        This isn’t really an issue though, of you don’t have enough foundational knowledge to understand what the formula means or how it could be conceivably derived, does knowing how it’s calculated matter?