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?

  • @[email protected]
    link
    fedilink
    English
    59 months ago

    you can program without math, but it will be hard to pass a rigorous interview without math.

    You should strive to learn symbolic math at least, and make sure you can do all the leet code problems and explanations using whatever math you are comfortable with.

  • @[email protected]
    link
    fedilink
    209 months ago

    It really depends on the role you are looking for. If working with data and doing analysis, you need some knowledge in stats and probability. If you are working on simulations, you will need basic calculus and algebra. If you are looking at game development, you will need basic trigonometry and vector arithmetic. The one thing you don’t need is mental arithmetic because you have a computer.

    That being said, you can get by without these skills, it just becomes harder to see what you need to do, even if you would know how to implement it. This is alleviated if you are working in a team however.

  • @[email protected]
    link
    fedilink
    English
    189 months ago

    Don’t need a degree, but computer programming is fundamentally logic and algorithms. You need to have internalise reasoning logically. In some ways critical thinking is closer to programming than trig is.

  • @[email protected]
    cake
    link
    fedilink
    7
    edit-2
    9 months ago

    IMO mathematical/logical/abstract thinking is critical for programming well, but IMO that’s different from “math degree” math.

    Software as a means to an end can be used in almost every domain, so proficiency within that applicable domain is often either useful or necessary. That is to say, “math degree” math is likely needed for 3d rendering (certain games), scientific computation (incl machine learning), etc, but maybe not, otherwise. It depends on what software you’re trying to build.

    To be more specific, general programming is definitely and specifically different from trig and calc. However, because math is also broad, “mathy” concepts like type theory, relational algebra, set theory are considered important for programming, even if only informally or indirectly so.

  • @[email protected]
    link
    fedilink
    English
    759 months 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.

    • JustEnoughDucks
      link
      fedilink
      1
      edit-2
      9 months ago

      Well being able to figure out 1 complex math solution per day vs 1 complex solution per 1.5 days for the person who just has to work on the problem for longer is balloons a lot over the long term.

      Like how the average calorie burning difference between people is only 400 per day out of ~2000, but over a month that is like 1.5kg difference of mass burned which is 18kg per year.

      But I don’t know if I am interpreting the result you said correctly.

    • @[email protected]
      link
      fedilink
      159 months 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.

      • @[email protected]
        cake
        link
        fedilink
        8
        edit-2
        9 months 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.

        • @[email protected]
          link
          fedilink
          29 months ago

          You’re absolutely right. I was referring to equations which, in my experience, is 90% of undergrad math.

      • @[email protected]
        link
        fedilink
        119 months ago

        i would disagree that math problems only have one strategy for getting to the answer. there are many things, particularly in more abstract math, which can be understood in multiple different ways. the first example that comes to mind is the fundamental theorem of algebra. you can prove it using complex analysis, algebraic topology, or abstract algebra. all the proofs are quite different and rely on deep results from different fields of math.

        i think the same thing holds in the less abstract areas of math, it’s just that people are often only taught one strategy for solving a problem and so they believe that’s all there is.

    • xigoi
      link
      fedilink
      English
      59 months ago

      Do you have a link to the research? I’m a math educator and I’d like some good materials for encouraging my students.

  • MostRandomGuy
    link
    fedilink
    English
    15
    edit-2
    9 months ago

    Programming is Concrete Math and becomes more and more Math the less abstraction you expose yourself to.

    Both are fields you have to engage in problem solving, the better you are in one, the better you are in the other.

    Don’t confuse Math with pure arithmetic operations though, its just the base concept which provides the fundament you’re building upon as you dig deeper.

    I for example was quite bad at Math up until I got interested in IT, because then I had a reason for learning and be excited about it, but I guess thats a heavily subjective thing.

    Engaging with interpreted languages and solving problems on certain sites with those also helped in further developing my problem-solving skills, which made Math easier for me.

  • @[email protected]
    link
    fedilink
    169 months ago

    More than math courses - logic courses in general helped me rethink and structure things in a variety of ways in how to approach problems. If nothing else it improves your “if-then-else”-fu to understand when you are not(not(not something))). My math degree required logic courses though at the same time so it made sense. For higher level math logic plays a heavy role and so leveraging that aspect helps in a lot of ways.

  • @[email protected]
    link
    fedilink
    139 months ago

    I failed calc2 and am gainfully employed as a mid/upper level software engineer.

    One guy at work really saved the day because he’s good at math, and made a very slow process much faster because he knows … uh… vector math? He did magic with numpy

  • @[email protected]
    link
    fedilink
    English
    59 months ago

    Depends on the industry and depth you want to go to, gamedev for example you can do without any, but all lower level custom graphics and physics are pretty calculus heavy.

    Website dev can be entirely independent of math

    • @[email protected]
      link
      fedilink
      69 months ago

      Ya, in gamedev you just need triginometry, lerp, quaternions, matrix multiplications and basic 3D math and maybe some more.

    • @[email protected]
      link
      fedilink
      5
      edit-2
      9 months ago

      Depends entirely on your definition of “gamedev”, IMO. If you’re trying to write a platformer in basic C with no external libraries, you will absolutely need to use algebra/geometry/etc. and maybe even some more advanced things like physics/calculus depending on what features/effects you want to put in your game.

      • @[email protected]
        link
        fedilink
        English
        59 months ago

        I would uh consider that pretty in deep gamedev, even lower than some shader code lmao - so yes you would need to know some math.

        Cracking open Godot and using a bunch of premade assets hardly even requires programming, much less mathematical knowledge

        • @[email protected]
          link
          fedilink
          4
          edit-2
          9 months ago

          Be that as it may, I personally wouldn’t consider someone to be a very knowledgeable (on how games actually work) game developer if they didn’t at least know how to use things like linear algebra to make a character run and jump naturally and such, even if they’re not coding like that day to day and just using a higher level framework.

          You don’t have to agree with me, and I still respect your opinion either way.

  • @[email protected]
    link
    fedilink
    49 months ago

    I don’t think you necessarily need to have studied a lot of math to be successful in programming, but you will need it if you want to get a CS degree, which in turn can be a good lever to a fruitful programming career.

    My advice when it comes to math - math skills build upon the concepts you’re expected to have learned before, meaning that if you didn’t fully get everything in the past, then your foundation is not in great shape and you will struggle at higher levels. Going back and repeating the fundamentals just so that you fully understand everything is very helpful in my experience.

    I also think that understanding math is rewarding in itself, for what it’s worth!

  • magic_lobster_party
    link
    fedilink
    29 months 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]
    link
    fedilink
    29 months ago

    There’s a lot of programming you can do with zero or very basic math skills. But some stuff can require a lot. But I’m quite sure you could manage a career very nicely without ever touching those areas. People who do that are probably seeking those things out.

  • @[email protected]
    link
    fedilink
    149 months ago

    Totally depends what you end up working on as a programmer. If it’s web apps, you’ll be totally fine. All you need is basic arithmetic. Writing a game engine? You’ll need to know some basic to moderate matrix maths…

    If you’re doing formal verification using unbounded model checking… good fucking luck.

    On average I would say most programming tasks need very little maths. If you can add and multiply you’ll be fine. Definitely sounds like you’ll be ok.

  • @[email protected]
    link
    fedilink
    29 months ago

    As others have said, It depends on what kind of programming you do. Some areas requite a lot. Others not so much. It’s logic, not math, that is needed the most.

    You may want to check if your college has a different kind of programming degree. As I understand things, there are basically two kinds of programming degrees. “Computer Science” has much steeper math requirements and focuses on applications that deal with Science or engineering issues. “MIS (Management Information Systems)” degrees focus on actual programming that businesses need, not programs that are science or engineering focused.