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?

  • suburban_hillbilly@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    19 days ago

    Anywhere from very important to not important at all, depending on your specific job.

    There is some good news though, you’ve been lied to about sucking at math. Whether by yourself or other people I do not know, but the education research I have seen has been pretty clear that the main difference between people of normal intelligence who are ‘good at math’ and those ‘bad at math’ is how long they’re willing to work on a problem to ensure the correct answer before moving on.

    I know ‘try harder’ sucks as an answer but it’s the best one I know of and at least in this case will actually make a difference.

    • BrianTheeBiscuiteer@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      19 days ago

      Agreed. Math, for the most part, is very rule oriented and problems only have one answer and often one strategy to get to the answer. If you work on many different problems (in the same subject) you should start to get used to the rules.

      Overall I would say a strong math foundation is important to CS but CS isn’t just about coding. You can absolutely get a coding job without strong math skills or even without a degree, it’s just a bit harder to get started. If the discipline still exists you might consider a Business Information Systems degree (we used to call it CS lite). Depending on the position a company might equally consider BIS and CS majors.

      • Kache@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        18 days ago

        problems only have one answer and often one strategy to get to the answer

        Totally disagree

        You’re thinking of equations, which only have one answer. There are often many possible ways to solve and tackle problems.

        If you’ll permit an analogy, even though there’s “only one way” to use a hammer and nail, the overall problem of joining wood can be solved in a variety of ways.

  • kamstrup@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    17 days ago

    Being comfortable with basic back-of-the-envelope math can be a huge benefit. (Full disclosure: i am a math major who is now a programmer)

    Over my career I have several examples of projects that have saved weeks worth of dev time because someone could predict the result with some basic calculations. I also have several examples where I have shown people some basic math showing that their idea is never gonna work, they don’t listen and do it anyway, and I see them 1 month later and the project failed in the way i predicted.

    A popular (and wise) saying is that “Weeks of work can save you hours of meetings”. I think the same is true for basic math. “Weeks of coding can save you minutes of calculation”.

    You can definitely be a successful programmer career without great math skills. Math is a tool that can help you be more effective.

    • icermiga@lemmy.today
      link
      fedilink
      English
      arrow-up
      1
      ·
      17 days ago

      Can you share the full story of the projects that you could predict could fail using maths?

      • kamstrup@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        10 days ago

        Can’t divulge too many details, but one example was when we had 2 options for solving a problem: 1. The “easy” way, storing a bunch small blobs to s3 as a job was running on an embedded device, or 2. The slightly tricky, implement streaming of said data on the device (not as easy as it sounds).

        We went with option 1, the easy one, because it was deemed faster bang for the buck. I did some basic math showing that the bandwidth required upload the high number of blobs to s3 within our time budget was not possible on our uplink.

        After we spend a month failing on 1., it was clear that we hit the predicted problem. Eventuelly we implement option 2.