Misunderstanding engineering truisms

March 25, 2006

I must confess to a sick fascination with the spectacle that results when a non-technical person parrots engineers’ truisms. Most of the time, in my experience, s/he ends up misunderstanding it so completely that s/he undercuts or even entirely reverses the meaning of the phrase.

For instance, I’ve often heard engineers say “A good engineer is a good engineer regardless of programming language”. Usually this is shorthand for a longer statement like, “Jerry prefers Java, but after a few months of working in a mostly-PHP environment, he wrote a standalone ad server in the most beautifully-structured object-oriented PHP I ever saw.” Note that this statement doesn’t at all preclude the notion that Jerry still prefers Java, or that his PHP is extremely Java-esque, or that unlike many PHP projects his server had no UI component, or anything else that negates the ingrained habits of mind, practice, and specialization that come with being the devotee of any particular programming language. All it means is that with the proper motivation, it’s not unrealistic to expect most engineers to be able to produce code similar in scope to that which they’ve written before in alternate programming languages within a short period of time.

To my wide-eyed delight, however, I have heard non-engineers use this phrase to mean something much more like, “A senior C++ engineer will be better than a PHP engineer for getting a new website up and running because a C++ engineer is a better engineer.” Leaving aside the question of whether a C++ engineer is actually more of an engineer than a LAMP dude, I’ll just ask: if you were going to hire a salesperson to sell networking equipment, would you go for one who had sold networking equipment before? or would you rather have someone who had sold a similar-priced item like cars?

Some more of my favorite misused quasi-engineerisms:

* Invoking Brooks’s Law as an excuse to overwork engineers to the point of near-death.

* Asserting that “the most productive engineer is 100X more productive than the average engineer” to avoid disciplining a jerk.

* Excusing a very slow pace of development on a website because “more time spent on architecture now will save time later”.

I don’t mean to be overly harsh on non-engineers who need to work with engineers, because they are in a difficult and often paranoia-inducing situation. But I sort of figure that people who can misunderstand engineering truisms so badly are not coming at it in the correct spirit of humility and desire to learn… in my experience, they just want a shortcut to understanding by reducing a lot of delicate practice into a bumper sticker.

And by the way, in this situation I tend to encourage rather than discourage the speaker’s misconceptions so they’ll fail faster. You can’t make them understand anyway, so we might as well have some fun while being yammered at.

3 Responses to “Misunderstanding engineering truisms”

  1. This works in reverse, too. I remember gagging the first time I heard an engineer refer to something as a “show-stopper”. We think of this as something so horrifically bad that everything must stop until it’s fixed, but the original meaning came from show business and it referred to a performance that was so incredibly good that the show stopped to give the audience a chance to stop applauding, throwing their panties on the stage, etc.

  2. Juls Says:

    “I’m a people person. I deal with the customers so the engineers don’t have to. Don’t you get that? What the hell is wrong with you people!” Office Space

  3. John Graham Says:

    Regarding the “better C++ engineer”:
    As Java developer (and before C++), I’ve heard this also. You see, some people tell me that Java can’t be a good language — like, for example, Scheme or Lisp — because it is too popular. Especially if corporations start using it, then that proves the point: no self-respecting developer would write in such a language.

    What crap and a waste of time. I’ve had the pleasure of working with engineers using all sorts of languages and, in my experience, what really counts for being a great engineer is the ability to think, not what language you use.

    In fact, some of the best developers I know started out doing other things, and got into development somehow by accident….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: