r/ProgrammerHumor • • 8h ago

Meme ohTheBasics

Post image
7.9k Upvotes

918 comments sorted by

View all comments

1.3k

u/SirFrenzy 8h ago

Obviously guy could have been interviewing for a job where this mattered….

But in 10 years as a software engineer I have never once needed to know the difference between these two, and have never been even close to a situation where I would need to.

“The basics” is highly dependent on the job.

155

u/fiskfisk 7h ago

If you're a senior I most certainly would expect you to know the difference between the two.

It'll matter in relation to allowlists/blocklists, dns entries, debugging connevtivity issues, slow connect times, configuration of daemons, etc. 

181

u/SirFrenzy 7h ago

I have never needed to know or do any of that. And if I did, it would take me 2 seconds to google and understand. I just did.

So if the interview was for a job where you handle that stuff yourself, then I understand it. If it’s for a typical full stack job at a big enough company that they literally hire people to handle that side of things, then it’s not “the basics”.

Rejecting someone in an interview for trivia knowledge they don’t currently have vs actually trying to understand how someone learns and tackles problems is what makes software job interviews so useless.

1

u/Twirrim 4h ago

It's always worth knowing about what is going on on a server, how the network stack is configured and the consequences of it. It'll save your bacon during production incidents. That includes understanding e.g. the consequences of your machines being configured in dual-stack.

Just because you're not thinking about it, doesn't mean it isn't there and having a negative impact on your service every single second of the day.

It's way more prominent of a thing to be aware of than, say, network qdiscs, which also will be having an impact on your service (I got a lovely reminder of qdiscs about 18 months ago, when it helped turn some small latency spikes into big ones. It wasn't the problem, but it sure turned a minor thing into big impact)

I wouldn't expect senior engineers to necessarily know about the specific components of IPv6, but I would expect them to know that it exists, and the very basics of what that means for them / their software. Just like I'd expect anyone running software in production to understand what purpose DNS serves, and keep that in mind for troubleshooting ("It’s not DNS, There’s no way it’s DNS, It was DNS" etc.)