Comment by ivanjermakov
1 day ago
I'm afraid we already in the phase where regular devs have no idea how things work under the hood. So many web devs fail on the simple interview question "what happens when user enters a url and presses enter?" I would understand not knowing the details of DNS protocol, but not understanding the basics of what browser/OS/CPU is doing is just unprofessional.
And LLM assisted coding apparently makes this knowledge even less useful.
Met a dev who couldn't understand the difference between git, the program, and github, the remote git frontend.
I explained it a few times. He just couldn't wrap his head around that there were files on his computer and also on a different computer over the internet.
Now, I will admit distributed VCS can be tricky if you've never seen it before. But I'm not kidding - he legitimately did not understand the division of local vs the internet. That was just a concept that he never considered before.
He also didn't know anything about filesystems but that's a different story.
This seems like a common theme around very young computer users: Applications and operating systems have, for over a decade, deliberately tried to blur the line between "files on your computer" and "files in the cloud". Photo apps present you a list of photos, and deliberately hide what filesystem those photos are actually on. "They're just your photos. Don't think too much about where they are!" The end result is that the median computer user has no idea that files exist in some physical space and there is a difference between local and remote storage.
My kid struggles with this. She can't intuitively grasp why one app needs the Internet and another app does not. I try to explain it but it all goes over her head. The idea that you need the Internet when your app needs to communicate with something outside of the phone is just foreign to her: In her mind, "the app" just exists, and there's no distinction between stuff on the phone and stuff on the network.
"Low code quality keeps haunting our entire industry. That, and sloppy programmers who don't understand the frameworks they work within. They're like plumbers high on glue." (https://simple.wikiquote.org/wiki/Theo_de_Raadt)
This phase has been going on for decades now. It's a shame, really.
I don't think I agree with calling that question "simple". I could probably speak non-stop an entire hour before we even leave my local computer: electric impulses, protocol between keyboard and PC, BIOS, interruptions, ASCII and Unicode, OS, cache, types of local storage, CPU, GPU, window management and TCP stack, encryption... It's hard to come up with a computer-related field that's not somehow involved in answering that one question.
If anything, I always consider it a good question to assert whether someone knows when to stop talking.
Yep, it's also a good way to see if candidates "know what they don't know"
> So many web devs fail on the simple interview question "what happens when user enters a url and presses enter?"
Is the answer you're looking for along the lines of "the browser makes a GET request to the specified URL," or something lower-level than that?
I think it's one of those intentionally vague questions that helps in probing the knowledge depth. Interviewees are typically free to describe the process with as much detail as they can.
I would be looking for a fractal answer and judge on the depth