Literally true
Engineers think differently from normal humans.
That's a good thing. The computer or phone you are reading this on... Airplanes... Modern medicine... None of these things could exist, if it were not for people like us.
But: Humans who are not engineers don't think this way.
That's a good thing too. It turns out that what it takes to survive and thrive in the world, create art, raise a family, etc., often does not require the kind of thinking that would - say - distinguish between a TypeError and a ValueError.
In fact, in areas of life like human communication... negotiating... counseling and therapy... being too literal can - remarkably - get in the way of understanding.
For example:
A few years ago, back when many people were still using Python 2...
In a Hacker News thread then, I said that if you only have Python 2 on your resume, pretty soon your resume will look dated. Guess what someone replied, a few minutes later?
"Who on Earth would write 'Python 2' in their resume? I have 'Python'".
Here's what I wrote back:
"I mean this in the kindest possible way:
You are taking what I wrote too literally, and thus missing the point. What I wrote means: if the only Python you know is 2.x, it might close off opportunities for you in the near future."
Get the difference?
The fellow initially thought I meant the string "Python 2". But I didn't mean it literally. I was speaking symbolically.
In fact, this article demonstrates the idea very well. Did you think this article is about Python 2 vs. Python 3? It's not. It's about improving your thinking.
The best developers on Earth learn to think in both these ways. It's like hats.
Imagine putting on a hat that makes you think very precisely, very literally, when that kind of thinking is useful. And imagine a DIFFERENT hat, that lets you think more symbolically, more metaphorically, more intuitively. You switch to this hat, when that's more useful.
Two different thinking hats, for two ways of thinking.