jrm4 2 days ago

Having worked with and around a lot of different people and places in IT as an instructor; frankly the funniest thing I've observed is that everyone in IT believes that there is some baseline concept or acronym or something that "ought to be obvious and well known to EVERYONE."

And it never is. There's just about nothing that fits this criteria.

1
jiggawatts 2 days ago

Hashtable.

Explain how it works and what you use for.

If you don’t know this, you’re not a programmer in any language, platform, framework, front end or back end.

It’s my go-to interview question.

Tell me what’s wrong with that.

aezart 2 days ago

What's wrong with that is that a lot of languages don't call them hashtables. I don't think I've used the actual term since like 2016.

jiggawatts 2 days ago

Sure, but if you've never even heard the term hash table, and you don't know that Dictionary<K,V> or your language's "associative array" or whatever uses hash tables under the hood... you're not a programmer in my mind.

It's such a foundational thing in all of modern programming, that I just can't imagine someone being "skilled" and not knowing even this much. Even scripting languages use hash tables, as do all interpreted languages such as Python and JavaScript.

Keep in mind that I'm not asking anyone to implement a hash table from scratch on a white board or some nonsense like that!

There ought to be a floor on foundational knowledge expected from professional developers. Some people insist on this being zero. I don't understand why it shouldn't be at least this?

You can't get a comp-sci or comp-eng degree from any reputable university (or even disreputable ones) without being taught at least this much!

What next? Mechanical engineers who can't be expected to hold a pencil or draw a picture using a CAD product?

Surgeons that have never even seen a scalpel?

Surveyors that don't know what "trigonometry" even means?

Where's your threshold?

jrm4 1 day ago

Boom. Nailed exactly what happens, and how you deal with it.