• Snot Flickerman@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    28
    ·
    edit-2
    5 hours ago

    In my experience, a lot of software dev degree paths basically don’t even have relevant classes on hardware at all. Classes on hardware are all in IT Helpdesk and Network Admin degree paths whereas the software dev students are dumped straight into Visual Studio right off the bat with no relevant understanding of the underlying hardware or OS.

    • atomicbocks@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      23
      ·
      4 hours ago

      My experience does not reflect yours. Computer Architecture, Discrete Math (logic gate math), and Operating System Concepts were all required classes in my CS degree from just a few years ago.

    • kryptonianCodeMonkey@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      3 hours ago

      My CS degree had a hardware/IT support class, but A) it was entirely simulation based. We never touched any actual hardware. We “built” PC’s or identified physical issues in 3d sim software, set up RAID arrays in software, etc. B) it was super hand holdy and you only ever go over a problem once, so nothing on the class has stuck. I know much more from having built, troubleshot and maintained my own computers and network than I ever learned from that class, then learned more by doing in an actual IT support position before becoming an engineer.

    • bleistift2@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      18
      ·
      5 hours ago

      You don’t teach a farmer how an internal combustion engine works. Computers are tools to software engineers. What they need to know is how to operate them, not how to maintain them.

      • KnitWit@lemmy.world
        link
        fedilink
        arrow-up
        25
        ·
        4 hours ago

        I’m not sure how well that analogy holds up. Farmers are usually pretty well versed in mechanical systems. To the point that now that John Deere has been screwing them over on right to repair that some farmers are even becoming versed in computer programming so they can flash the firmware on their tractors.

          • KnitWit@lemmy.world
            link
            fedilink
            arrow-up
            4
            ·
            4 hours ago

            No, but if a farmer’s tractor is overheating (as in the gard drive conparison), I’m sure they could diagnose it.

        • bleistift2@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          3
          ·
          4 hours ago

          I never said that it was impossible for a farmer to learn things outside their immediate field. Just like computer programmers often have knowledge of hardware and the general technology stack.

          My point, to make it explicit to a few of the illiterates who’ve replied to my comment so far, is that it is not necessary to teach a web developer how a goddamn CPU works. They can gain nothing from that knowledge because there are at least 3 levels of abstraction between JavaScript and assembly.

          • KnitWit@lemmy.world
            link
            fedilink
            arrow-up
            7
            ·
            edit-2
            4 hours ago

            And my point is that the example you used does not make the point you are trying to make, but rather the opposite. I get what you’re saying, it just doesn’t apply to farmers and mechanics.

          • bane_killgrind@slrpnk.net
            link
            fedilink
            English
            arrow-up
            6
            ·
            4 hours ago

            Operating your tools and being able to maintain and repair your tools are the unequivocally essential skills for everyone in every single industry.

            If you can’t, you are not a professional.

            The concepts of machine logic, registers/lookups/etc are essential for every programmer. If you don’t have a clear idea about how the simplest CPU functions, you don’t have any basis of understanding the abstractions in front of you, scripting in JS. Not a professional.

      • kryptonianCodeMonkey@lemmy.world
        link
        fedilink
        arrow-up
        6
        ·
        3 hours ago

        Horseshit. Computers aren’t tools for a software engineer. Computers are tools to an administrator, an accountant. Computers are the sandbox you are building castles in as a software engineer. If you don’t understand the system upon which you build, its abilities and features, its limitations, it’s dependencies, you are going to make some stupid mistakes.

        You need to understand discrete mathematics as a consequence of computer computation. You need to understand parallel processing and threading for muli-core processors. You need to understand networking, package management, security vulnerabilities, etc. from different architectures and protocols. And it ALWAYS helps to understand the very basics of a computer’s functioning, from hardware, CPU architecture, machine code, assembly/low level programming, memory management, etc.

        print('Hello, World!) is day one shit for a reason. Programming language and logic is the basics. The real expertise comes from your 3rd and 4th year materials. Databases, architecture, theory of computation, discrete mathematics, networking, operating systems, compilers, etc.

      • hayalci@fstab.sh
        link
        fedilink
        English
        arrow-up
        13
        ·
        5 hours ago

        No, not really. Programming requires understanding of the underlying hardware, at least to a certain extent. Otherwise performance issues will look like dark magic and optimizing anything would be impossible.

        Where do you start debugging if something goes wrong with the software and your information level is this low/ do you look at network stats? CPU utilization, paging/swapping? Is the hard disk bandwidth the bottleneck? Without at least some passable understanding of a computer architecture people like this just throw up their hands, or throw whatever tricks they know at the wall and see what sticks.

      • bane_killgrind@slrpnk.net
        link
        fedilink
        English
        arrow-up
        5
        ·
        4 hours ago

        What the fuck

        How is he going to fix his tractor? Wait days for John Deere to send somebody? Let the crop rot on the vine?

      • chickenf622@sh.itjust.works
        link
        fedilink
        arrow-up
        7
        ·
        4 hours ago

        A lot of farmers are learning how they work cause the companies that sell them the equipment keep fucking them over. I would argue that farmers nowadays needs to know how that works along with basic programming to get past the anti-consumer bullshit companies put in to make it nigh impossible to fix things yourself.

      • sepi@piefed.social
        link
        fedilink
        English
        arrow-up
        4
        ·
        4 hours ago

        CS departments were doing poorly, but now they’re putting out farmers? No wonder all these new graduates can’t find a job.