3 ms·
This is typical technical jargon conflation in furtherance of interview pedantry. Please spare me. Looking at the words superficially, their definitions are ea
by tritium 9y ago
This is typical technical jargon conflation in furtherance of interview pedantry. Please spare me.
Looking at the words superficially, their definitions are easily discerned:
Covariance: changing together, with similarity.
Contravariance: changing in opposition to one another.
But, as part of strategic nerd signaling in interviews to parse what a candidate has been reading lately, you'll encounter middle managers that will cull contending close-call applicants based on trivia like this. Similar technical jargon that isn't what you think it might be, due to some seminal blog post include "composition" or "isomorphic" or perhaps most obviously, the simple-but-loaded term "functional."
Try defining the word functional incorrectly during a technical interview and see what happens.
- coherentpony 9y ago> This is typical technical jargon conflation in furtherance of interview pedantry. That's an interesting point of view. I thought it was just an article explaining what covariance and contravariance are in the context of a type system. The author also went so far as to give some illustrative examples. The author could have just copied the definition from the dictionary. It seems like that would have been sufficient for you but it's unlikely that it would have been helpful for the majority of people that work in type systems and aren't aware of the more general concepts they work with. The author never mentioned anything about interview techniques.
- sethrin 9y agoIsn't the point of technical interviews to determine one's knowledge of useless trivia? That is to say, that is what is typically measured, and it's seemingly the rare workplace that even attempts to measure whether their hiring processes correlate with work performance. Hiring for developer positions is a cargo cult practice -- which is not necessarily a blanket condemnation, but as a non-traditional candidate it's certainly done me no favors. Generally, this is a hard problem with no simple solution: evaluating programmers requires almost as much domain knowledge as programming does. I'm pretty sure that you're not entirely wrong about what you say re: nerd signaling. However, while I share your frustration about the current state of the programming interview, I personally don't see much point in trying to buck the trend. If you really can't see your way to learning the trivia, then probably it's best to focus on your other strengths and show them what you do know. If they really only value the appearance of wisdom then you probably don't want to be working there anyway.
- sidlls 9y agoI also get a bit of a chuckle when I see these terms used in language documentation, along with "monomorphism" and other "math-y" terms. It just to me looks a bit like the authors are trying a bit too hard to appear very intelligent: sort of like a person who uses obscure vocabulary or complex grammar when communicating.
- Smaug123 9y agoAlternatively, they know the words that a mathematician will understand, and realise that those words are the fastest and simplest way to get a mathematician to understand what is meant. Or perhaps the author is just not very good at aiming their words towards their target audience (if that target audience is not mathematicians).
- sidlls 9y agoWhat fraction of users of programming languages are mathematicians, or even CS graduates (of any degree level) who (should) care about the mathematical properties underlying the principles of the language? The answer: close to zero. The reason I chuckle is because I do understand the terms and I do recognize how absurdly placed they often are.