How do some people graduate from college without understanding the fundamentals of their major?

You’ve missed the point completely. If they are relying on quick turnarounds, they are likely just TRYING THINGS instead of THINKING about what to try. And, likely don’t ask themselves why a particular change fixed a problem – they just move on to the next with the same approach.

If they don’t understand the particular problem they are facing in sufficient detail to be able to formulate a REASONED solution, then what faith do you have in that solution? How do you know they didn’t just stumble on something that APPEARED to work?

When “trying things” takes a long period of time (consumes a lot of resources), you are really careful about what you are willing to try – without substantiation – as it will limit the other “trials” you will be able to make.

I worked on a project for IBM many years ago. We (they!) used a minicomputer to exercise a piece of equipment that we were building (not designing!) for them. There was a problem with the communication hardware between the two systems. I opined that it could be a timing issue as there were a lot of cascaded timing elements in the chain.

The IBM engineer who had designed the interface assured me that couldn’t be the case. And, spent much of his time (which is also MY time as I can’t get any work done until he is out of the way) looking for another problem source.

Eventually, I goosed the timing by a few thousand percent (so a millisecond event took a full second… big deal!). And, voila – everything started working!

“What did you do?”
“I tweeked the timing – as I had suggested”
“To what?”
“Two orders of magnitude.”
“What??? That’s way too much!”
“Of course. But I didn’t want to wonder if 5-10% would be sufficient and knew that there was no downside to going WAY overboard…”

He wanted to bury his head in documents with the expectation that reality agreed with theory. I saw that it clearly did NOT and devised a simple, harmless test to validate my theory. Then, when proven, went looking for the detail that explained why this had been necessary.

A “modern programmer” would have goosed the timing and moved on to the next problem without ever going back to figure out why that solution APPEARED to work.

Wut?

*at the time of the final exam in Biochemistry, I had virtually every reaction and cycle pictured in this poster memorized and available for regurgitation, the majority of which was probably forgotten within a couple of months, and none of which has had any relevance to my day-to-day medical practice.

Take me for example. My undergraduate degree was a BS in biology with a minor in biochemistry. These days I’m a practicing physician specializing in the care of patient’s in nursing homes. 25 years ago, as a fresh graduate, I could have drawn from memory the chemical structure of all 20 amino acids used by humans, as well as the nucleic acids used in DNA and RNA, various monosaccharides and disaccharides, and so on. I could have run simple experiments on fruit flies demonstrating the principles of Mendelian genetic inheritance. I could have done simple titrations to figure out the molarity of a solution. I can no longer do those kinds of things from memory, for the obvious reason that those aren’t the kind of things a physician that has been in practice for 20 years deals with (at least for the vast majority of us).

Exactly.

Right. IMHO the key things for a practicing physician to know about the Krebs cycle is that it’s the pathway used to convert acetate (coming mostly from glucose but also a few other things) into water plus CO2 plus energy in the form ATP and waste heat. The details of each individual step don’t matter unless you practice in a field that involves genetic defects of metabolism.

Sigh. I’m invited as an interviewer quite often at work. We interview for behaviors, and not for technical knowledge. No, there’s no secret technical test that H.R. gives before we get C.V.'s.

I sympathize that your interviewees can’t answer the questions, but mostly I’m envious that you get to ask the questions!

Come to think of it, our whole P.R. process is based on corporate behaviors, and very little on technical excellence.

Maybe it’s time to retire.

Having not worked for a large corporation in 40 years, I have no idea what this means.

Just be happy you were spared this change in corporate philosophy.

That particular school was during peak demand for CS people. I don’t remember the exact % but the chair would always respond to faculty complaints about the poor quality of grads by citing that 97% (or whatever) got jobs in the field. Which is a completely irrelevant stat.

At another place the chair explicitly warned a company not to hire a particular student. Got hired anyway and the company went back to the chair and complained about the poor quality of students we were churning out.

There’s a lot of Not Right stuff going on there. CS blew up as a major of choice 40 years ago. Virtually none of the new frosh had any idea what Computer Science was at all. A few had a high school programming class. Then it got worse. High school’s cut back on programming classes and substituted computer “literacy” courses (i.e., office suite stuff). So even fewer had a clue.

At the first place I mentioned there was a deliberate force out rate of 40% in the 3rd course and another 60% of the rest forced out in the next course (data structures). And we still had a tsunami. (The first two courses had a lot of non-majors as well so we had to be gentle.)


Regarding “falling behind” in the latest stuff in CS, it was actually the other way around. I remember we were teaching people C on Unix systems a looong time ago. The industry folk who came around were baffled. Why weren’t we teaching them Cobol, System 360? Several years down the road that was exactly what they wanted. But we were moving on to C++, graphical debuggers, etc. the industry folk hadn’t yet caught on to. then

Every good student we produced was ready to go to work on the latest stuff and keep up for years to come.

Very few clinicians ever think about the ornithine cycle. I also forgot the details immediately after finishing the exam. Because it is not a fundamental thing. Because you could look it up in the unlikely event you needed to.

But units and dimensional analysis, math and basic physics are fundamental to engineering. Computer engineering might be different, since it has exploded so far beyond what it was I probably don’t even understand the current subgenres.

Doing any PhD might push you down a rabbit hole where you get very specific and don’t do much of anything else. But if you don’t remember basic things from undergraduate and masters courses, it probably doesn’t make things easier. Not that a random test is necessarily the best way to determine that.

I think people would be interested in what this means.

It’s been a consequence of my personality, desires, etc. Things don’t just fall into your lap because you’d prefer that.

Most “programmers”, now, write code on hosted systems. These were few and far between, in industry, 40-50 years ago. Glass TTYs were novelties! (I punched hollerith cards in my first few classes – then graduated to an ASR33 with 103 modem)

OTOH, industry WAS using the recently developed microprocessors; my first product used a i4004; second an 8080 which was changed to an 8085 before release to manufacturing.

High level languages weren’t available as they were resource intensive. So, everything was coded in assembly language; for the i4004 we used a “pocket assembler” (a scrap of paper you kept in your wallet that showed you the bit encodings for each instruction).

At the same time, I was writing code in LISP, Algol, PL/1, Pascal, etc. in school, designing programming languages, writing parsers/compilers, etc. All tasks for which there were no real jobs waiting because the hardware to make them useful wasn’t available in the wild.

My first multitasking kernel was written in 1980 and deployed in a product that year. I’m only now writing my first operating system with (paged) virtual memory as it is now possible to design inexpensive hardware to make use of those features. With that capability, I can now support things like RMI/CORBA, DSM, redundant processing, etc.to create a true distributed multiprocessor implementation. That’s affordable in a consumer product!

Most “programmers” are clueless as to hardware issues and write code that can easily be hung when the hardware doesn’t behave as they HOPE it will. E.g., they may write a serial port driver and write code to record the various errors that the hardware can signal. But, they will likely not do anything with those indications! (Gee, you KNOW this character was received with an error, so why aren’t you handling that at the application level? Or, that some number of characters have been dropped at this point in the data stream – yet you’re code is acting as if this gap didn’t exist?)

I have the opportunity to inspect lots of “foreign” code. Most of it is just plain sh*t. Because these folks have poor thinking/design processes, its usually trivial to walk up to a product and crash it in minutes:

“What the hell did you DO?”
“This…”
“You’re not supposed to do that!”
“Then why did your code let me??”

IME, corporations are less interested in the quality of their product than they are in minimizing dependencies on “key people” and “team play”. I’ve been hired at firms and explicitly told that I was brought on board to eliminate a dependency on some key staff member. They are concerned with the “fit” of an employee to their structure and policies.

I tend NOT to be a “team player” – not because I can’t “play well with others” but, rather, that I dislike having to wait for others to do their jobs and HOPE that they have done them well. While most folks are happy as long as the paycheck is coming in, I am always eager to move on to some new learning opportunity: “Let’s finish this and move on!”

Large corporations would not be keen on bringing someone like me onto staff as it would be disruptive; the team moves as fast as its SLOWEST member. So, I would quickly become dissatisfied with the project.

OTOH, small startups provide for a great deal of design variety and autonomy. And, having a broad base of experience means I can bring multiple skills to the table without having to find yet another “provider”. Finally, as the startup’s future may be uncertain (at least in the short term), it gives me an opportunity to move on and frees the startup from having to worry about keeping me “on staff”.

My thought too. Hey you are doing a PhD in mathematics, here, solve a linear equation problem. Shouldn’t have difficulty with that.

It’s important for you to remember that certain technologies/techniques exist – without burdening yourself with remembering the details of them, possibly incorrectly.

E.g., there are efficient ways to draw a line segment on a screen using incredibly trivial computations. Simply knowing that it exists should be enough to prompt you to hunting for its details when you have need for it.

Similarly, knowing that it exists is a reminder that other simplifications of other figures also exist along the same reasoning.

Chances are, you were taught ONE way to do these things, in grade school. If your level of involvement/curiosity ended with that, then you likely won’t know that other alternatives exist. You probably weren’t concerned with the “cost” of performing these actions.

[This is the rut that “programmers” find themselves in; they are just “technicians”]

First I would rephrase the question: “Could you hold both terminals of a 12V car battery?” and go from there. If I got an answer like Beowulf did, I’d ask them if they could touch a 9V battery to their tongue. It has less amps after all! And maybe have them chew tinfoil…

When I was in college back in the early 80’s there was a group of students that were “rumored” to be from the middle east and known to be cheating thier way through engineering in order to just get a degree from an american collge in order to satisfy their parents. It was pretty blatent and even the teachers didn’t seem to care much, they shared homework and often openly cheated on test. For senior year we were required to perfom a design of a machine, they all designed a hyralic jack. They all got C level grades and went back home with their degrees.

I hope that none of them actually went into engineering.

IANA engineer so I ask sincerely, is this an actual thing or is this supposed to be “hydraulic”. Thanks

I can tell you from experience that if your skin is wet that can knock the resistance down an order of magnitude or more… not that I would be worried about a car battery.

There is the “unconfirmed” Darwin Award about a guy who allegedly managed to kill himself with a 9V battery: 1999 Darwin Award: Resistance is Futile (after accidentally stabbing himself with the probes)

Hey, I’m an engineer, that means I can’t spell worth a damn (or type). But yes, hydraulic jack.

Guess I’m part of that >99%, because I graduated med school 30 years ago and I have no idea what you’re talking about. :sweat_smile:

But when we are interviewing applicants for our practice, we will often have them look at some cases and hear what they have to say, not because I necessarily expect they will leap to the correct diagnosis from looking at one H&E slide, but because I am interested in their thought process (what are the relevant clinical findings, what stains would they order, what ancillary testing might be useful, etc). I don’t think we’ve had a candidate yet who looked through the microscope and said “What are all the little purple dots?”