I’d think an equivalent (in an analytical lab, like pharma quality control) would be not being able to perform a calculation to find the concentration of a substance following a series of dilution steps, or not understanding the basics of an HPLC if that’s something your lab uses. You don’t get through a chemistry degree without learning about normal and reverse phase chromatography.
Not knowing that the current all along the circuit is the same is pretty inexcusable. Maybe the rest is a little trickier, but I1 has to equal I2 – where else are the electrons going??
I’ve certainly interviewed hundreds of newly minted Finance graduates who had not the vaguest notion of accounting principles nor an understanding of things as simple as compound interest. How these kids have passed three courses in Accounting and a dozen or more in Finance boggles the mind.
But then a friend of mine is an Adjunct Professor of Chemistry at these same third-tier colleges. He says if he applied the standards of his undergraduate institutions in Europe to these students in grading, literally 90%+ of his students would get an F in every class. But then he’d be out of a job.
I haven’t taken a chemistry class since high school over 40 years ago. I would pass his exams walking in cold. Basically he is at most making very small changes to the classroom and homework questions. Anything that tested them on actual principles would cause them to just stare at the exam paper.
So it’s across a lot of fields, I think. There is a big segment of US higher education that is catering to a “clientele” that isn’t really up to the standards of a university education in many other countries.
To be clear, I’m not taking about community colleges. These are fully accredited four year institutions, some private, some public. UMass Dartmouth, UMass Boston, Curry College, Endicott College are examples.
Especially if the coursework is online, as it increasingly has been lately due to Covid among many other factors.
I’d like to know what the intention of that test was. The three questions should have been easy for any second semester electrical engineering student when I was in university four decades ago. Was the intention perhaps to detect imposters who are not electrical engineers at all but have falsified their degree certificate? (Does your hiring process require a copy of the candidates’ transcripts?)
Yes.
No.
I hired someone in 2020 who was fresh out of college. He had a BSEE degree with a 3.6 GPA. Seemed O.K. in the interview. But then I discovered he didn’t know anything and couldn’t do anything. It was as if he never went to college. I asked HR to double-check his transcripts, and they told me they were legit. I tried to “train” him, but it was futile. I had to let him go six months later. (As a side note, HR vigorously fought me over it, and told me I must accommodate him due to some kind of disability he had, which was new info for me. But that’s another story.) I didn’t want to repeat this experience, so decided to come up with a simple test for weeding out applicants who had absolutely no understanding on the fundamentals of EE.
Interviewing test should be to spark conversation. The goal isn’t to see if the applicant knows the “answer” but what he says about the problem. E.g., extra marks for HIM pointing out that the currents have to be equal, possibly humorously. Or, noticing the Pd in the two (voltage divider) components and commenting that a suitable notation hasn’t been made in the diagram to address it. (2V across 3 ohms is better than a watt as is 26V across 11 ohms)
I quiz lots of applicants on software-related issues to see if they understand HOW to select a specific algorithm. Sorting problems are a favorite as there are many and even a naive implementation (for someone who hasn’t had the “proper” education) can be crafted on the spot.
Will the applicant ask about the characteristics of the data? E.g., how many items in the list? How often is the operation performed? What is the typical state of the list prior to sorting (e.g., a list that has just had a few entries APPENDED would be sorted using a different algorithm than one that had arbitrary values).
This gives you a way to see how the applicant THINKS about a problem. And, can act as a conversation starter.
[I once asked an applicant to write a program to tell me how large a file was. He failed to point out that the OS would typically have such a built-in capability. Instead, opting to READ the file and count the number of bytes encountered ONE AT A TIME (not even realizing that he could request large reads – to reduce the overhead of accessing that function – and advancing his “count” by the number of bytes successfully read on each such request). These are folks who lack experience or who are not concerned with the sorts of issues that are common in algorithm development (e.g., efficiency).]
OTOH, I was once interviewed by a potential employer who made a casual comment about a project they had explored and the patent that stood in their way. I proceeded to lecture him about the specific patent and the way to work around the independant claims to avoid infringing. “WTF???”
As to “imposters”, I’ve often encountered applicants who opt to bring in samples of their work (likely thnkig this would be impressive). In one case, I knew the individual who had actually designed the product that the applicant was trying to claim with his work sample! Things got really quiet when I asked him what portion of the sample “Bob Smith” had done…
HR fights me tooth and nail over the fact that I ask “technical” questions during the interview. They want me to ask “behavioral” questions. I have played YouTube videos for them showing almost word-for-word the answers candidates give them on behavioral questions that they ask in the screening process and want us to ask during the actual interviews.
How did you deal with a difficult situation?
Where do you see yourself in five years?
What is your biggest weakness and how do you address it?
Basically cues to tee it up for bullshitters.
“Why do we record depreciation?”
“If I have a 5% annual growth over 5 years and then -5% growth over the next five years, will I have more or less than when I started?”
Basically because the recruiter can’t understand the questions they get pissy about me rejecting candidates who can’t answer them.
Maybe later on in the interview, but before you even get to that point, you definitely want to weed out the folks who can’t even answer questions like the ones in the OP.
You have to be careful about questions like this, because the interviewee might know full well that the OS provides it and would ordinarily just use that, but assume, from the fact that you’re asking it, that you don’t want an answer of just “I’d use the OS’s built-in function for that”. And since they would ordinarily just use the OS’s built-in function, they’ve never bothered to look into how to do it efficiently.
In general PhDs should understand all the basic things in their subject area and engineers should have no difficulties with common units. I didn’t read the questions in any detail, but they seemed at or before introductory level.
This essay about interviewing a programmer changed the way I do interviews. One of the things he mentions is he always gives the interviewee a VERY EASY programming task. Not to see if they succeed or fail; he expects everyone to succeed. But the time they take to do it shows whether they have a strong grasp of the basic fundamentals of programming. Someone who can’t write a function to count the number of uppercase letters in a string in a minute or less, about as fast as they can write it down, is not going to be someone who can efficiently work on complex programming problems.
Interviews want to be high value per unit expended time. It is expensive to interview applicants (none of the parties participating are doing their “real” work during that time) so you want to make every exchange provide information that you can use in your decision-making process.
Tests (for the sake of tests) just tell you who is good at taking tests!
So, they know they can stat() a file but don’t know that read() returns a count of the bytes actually read? If they THINK about the problem (even if they choose to ignore the obvious solution), they would realize there is no value to invokinig a read() command 500 times when the first read can be asked to get the first 500 characters of the file – and report how many there actually were!
That’s like accepting a solution where multiplication is performed by repeated additions: “And how would your solution change if both multiplicands were rationals? Would you do 37.9 iterations of that loop??”
I have an entirely different outlook. I don’t care about how quickly you come up with the code. Or, the number of syntax errors you might make. These are skills that you can pick up, refine, REMEMBER given time. I probably have used 30 different programming languages, over the years. But, ask me to write a code fragment in LISP, SNOBOL, ADA, ALGOL, etc. (i.e., whatever YOUR shop is using) and you’ll be wasting both of our time.
An applicant should choose HIS prefered method of expression in solving the stated problem, even if pseudo-code (or, some language that we’re not using). You want to see how he approaches a problem.
In software, the first hurdle is deciding what the actual goal needs to be. Does he ask sufficient questions to bound that effort? Or, does he pick up his pencil and rush to commit something to paper – then, have excuses when you challenge his implementation:
“But your implementation doesn’t address this case” “Or this” “Or THIS”
mumble mumble mumble excuses
“Then why didn’t you ASK for clarification before you started writing code??”
Regarding your “simple” count uppercase letters example:
- how long is the string?
- will an integer representation of “count” be sufficient – or might it need to be a long long?
- are unsigned data types supported?
- are these chars or wchars?
- do you expect ‘0’ to indicate the empty string?
- how do I indicate that a NULL string has been passed as argument?
- do I need to support I18N/L12N?
- what resource constraints are present?
- is the string resident in PHYSICAL memory or backed by VIRTUAL memory?
Change one of these and a perfectly good solution becomes inappropriate; don’t you want to know that BEFORE you undertake an effort? How would your attitude translate to tackling a large project (have you ever done so or have you always been in a minor role?)
There’s a difference between coming up with A solution – regardless of how quickly – and a GOOD solution that anticipates the issues that haven’t YET been specified. “Oh, you mean we now have to port that application to Cyrillic text?”
Let’s throw nerves in there too. I’ve seen people crash and burn on easy questions just because they felt a lot was at stake and started overthinking things.
That said, there’s only so far an explanation like this can stretch. I feel bad for his PhD supervisor.
If I read the op correctly the reason behind the test was because of a previously hired employee who was useless despite a Masters degree.
Years ago I got a job as an analyst at a transportation company, They created a test to help screen applicants. It wasn’t rocket science and didn’t have a specific answer. They just wanted to see the reasoning process. They mixed all the units up to add to the challenge of completing the task in a timely manner. If you tried to work out the problem without converting everything up front you were screwed. The test was the result of past employees who couldn’t do the job.
I’m pretty sure that if you asked practicing physicians to explain the tautomerization of amino acids in relation to the formation of zwitterions, >99% would be unable to do so, despite this being a fundamental of biochemistry they were supposed to have learned early in med school.
I don’t know when in med school that concept would have been taught, but it looks like, while it would be very relevant to some subspecialties (such as prevention and treatment of prion diseases, I’m guessing), there’s still loads of good medicine you can do without knowing anything about that.
By contrast, you literally cannot do anything in electrical engineering without knowing that the current is the same everywhere in a series circuit. Not knowing that would be like, oh, a doctor who didn’t know that the body is made up of cells. Heck, I’d be reluctant to hire an MD who didn’t know that the current in a series circuit is the same everywhere, or an EE who didn’t know that the body is made up of cells, because even though neither of those is actually relevant to the profession, it’d be a sign that the candidate paid no attention whatsoever in their science classes.
I was a prof in Computer Science. At one place, considered a “top school” I estimated that 60% of the graduating majors had absolutely no idea how to program or anything. Another 20% knew something but should never be paid. That leaves 20% that could basically function or better. Of those no one should hire the lowest 15% because the top 5% could do their work in a fraction of the time with higher quality.
In summary, if you want people, hire the very best, pay them a really nice salary and you’ll end up paying less and getting better output.
I agree, and I would add that this does not apply to Computer Science only, but every professional area I have had a personal experience with. But what I see is often the same but the other way around: Pay peanuts and you’ll get monkeys. And then they’ll complain that they can’t get good professionals anymore. Serves them right, is my attitude, because they are not being good professionals either.
how many of those graduates found jobs? Most schools keep statistics on their grads. And most 3rd year students pay attention to the job offers which their friends in 4th year classes boast about.
Surely if 60% of the 22-year-olds fail to find jobs, the 19-yr-olds in the department will find out pretty quickly, and change majors.