• Snot Flickerman@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    53
    arrow-down
    1
    ·
    edit-2
    1 day 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
      48
      ·
      1 day 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
      9
      ·
      edit-2
      1 day 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.

      • applebusch@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        3
        ·
        18 hours ago

        I mean to be fair the sheer amount of material most university engineering programs require these days makes spending significant time on specific problems almost impossible. They try to shove so much theory into your head they lose track of practical implementation. Basically everyone I went to school with complained about the lack of practical application relative to theory, and I studied mechanical engineering which is theoretically and literally chiefly concerned with hardware.

    • bleistift2@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      28
      ·
      1 day 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
        35
        ·
        1 day 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.

        • bleistift2@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          6
          ·
          1 day 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.

          • KillingTimeItself@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            18 hours ago

            no but a web dev should have some knowledge basis on what the ever living fuck their AIDs code fuelled by nothing but the cheapest source of caffeine and brain damage they have even does.

            This is the entire reason why half of the internet is just broken, stupid developers who don’t know how anything works, but know how to code, making dogshit implementations of anything and everything they can get their hands on.

            It doesn’t matter that the learning is segmented, you should STILL be learning about computer hardware and it’s architectural choices, it’s literally the reason why programming languages work the way that they do.

          • KnitWit@lemmy.world
            link
            fedilink
            arrow-up
            13
            ·
            edit-2
            1 day 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
            11
            ·
            1 day 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.

      • KillingTimeItself@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        18 hours ago

        the only reason farmers are afloat financially is BECAUSE they can rebuild an engine if needed.

        Just look at the john deere right to repair shit. It’s literally a huge problem.

      • hayalci@fstab.sh
        link
        fedilink
        English
        arrow-up
        16
        ·
        1 day 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.

      • kryptonianCodeMonkey@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        1 day 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.

        • KillingTimeItself@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          2
          ·
          18 hours ago

          computers are a tool to anybody who uses them?

          If you’re using a tool, it goes without saying, you should probably have at the very least, a cursory understanding of it’s function. Lest you injure yourself gravely.

      • bane_killgrind@slrpnk.net
        link
        fedilink
        English
        arrow-up
        9
        ·
        1 day 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
        8
        ·
        1 day 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.

        • KillingTimeItself@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          2
          ·
          18 hours ago

          doesnt matter if you know how to program, john deere is just going to put some autistic encryption and ID locking on their shit, what needs to happen is for john deere to stop fucking doing this.

          Most tractors are walking computers anyway, farmers are genuinely the most multi talented people you will ever meet in your life.

      • sepi@piefed.social
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 day ago

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

        • Trainguyrom@reddthat.com
          link
          fedilink
          English
          arrow-up
          3
          ·
          4 hours ago

          I mean every programmer says they intend to quit and pick up farming. Might as well give them the knowledge to be successful at their late career while they’re at it