You are viewing a single thread.
View all comments View context
52 points
*

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.

permalink
report
parent
reply
51 points

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.

permalink
report
parent
reply
25 points

Honestly that’s good to hear. I’ve run into some devs who are completely mystified on how to connect to a remote database and couldn’t tell a socket from sandwich.

permalink
report
parent
reply
12 points

In my degree, we had to write kernel mods and device drivers

permalink
report
parent
reply
7 points

Can I have my socket with rye. I like rye.

permalink
report
parent
reply
10 points
*

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.

permalink
report
parent
reply
4 points

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.

permalink
report
parent
reply
1 point
Deleted by creator
permalink
report
parent
reply
-25 points

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.

permalink
report
parent
reply
37 points

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.

permalink
report
parent
reply
9 points

Farmers can build a two stroke from parts.

permalink
report
parent
reply
-4 points

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.

permalink
report
parent
reply
16 points

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.

permalink
report
parent
reply
12 points

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.

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply
10 points

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?

permalink
report
parent
reply
9 points

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.

permalink
report
parent
reply
-1 points

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.

permalink
report
parent
reply
7 points

You’ve never met a farmer in your life.

permalink
report
parent
reply
6 points

It is good for the programmer to know how the computer operates, as well.

permalink
report
parent
reply
5 points

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

permalink
report
parent
reply
3 points

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

permalink
report
parent
reply
1 point

Ooh wait 'til Musk realises he can improve US agricultural efficiency.

permalink
report
parent
reply
4 points

Just keep trying to justify your own lack of competency I guess. ¯\_(ツ)_/¯

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 9K

    Monthly active users

  • 1.2K

    Posts

  • 25K

    Comments