Why Developers Love Metaphors

That Tim Guy
3 min readJan 11, 2022

--

Similes, parables, analogies, semantics…

Being the more technically inclined of our species, and knowing everyone you talk to won’t understand the difference between none, null, and not defined, and how a single misused semicolon can ruin your entire week; we have to “dumb down” in our own petty condescending ways to communicate.

In coding interviews it is often asked “explain closures to a 6 year old”. I mean, first off that 6 year old talking JavaScript is pretty gifted, maybe give them a juicebox and a few hours of Nickelodeon, but OOP concepts…?

In reality this is to see how frustrated you get dealing with people that you exchange equal amounts of contempt for when you are in a stressful situation.

I was just recently working on a project for the City of LA. There is a feature, a chatbot, that they really liked. I went to add it to the fully completed site I just spent 4 months on, and had to explain, it would be really hard to implement. They wanted an explanation and a timeline to get it on the site. I told them at least another month.

“But it’s running on the other site, just copy and paste it”.

This fun little code demon used generic names. Things like “modal” not “chat modal” just “modal”. Which is at odds with Bootstrap. One is a generic structural framework that assumes you will semantically name the things you add. The other is a turd in the public pool on a hot summer day.

So to explain it to the team, this is what I had to say:

Imagine you bought a house, and you chose the colors to paint every room, like bedroom is red, living room is blue, kitchen is yellow. That day after the walls are painted during the day shift, a sheet of paper is handed to the night shift house painter that says paint the walls green, not specific walls, it just says paint the walls green. You’ve accidentally gone full Oscar the Grouch in the entire house.

The technical explanation:

Bootstrap is transpiled using the default naming schema so future developers can use generic examples to maintain the site without heavy knowledge in the library specifically. The new JavaScript introduced pollutes the classes onload to inject code and manipulate the DOM with things that will conflict with the library, therefore all modals from Bootstrap need to be renamed across HTML, JS and SCSS, and you need to write new documentation that will counteract anything they may know from the example sites and hopefully they read and understand why things look broken if they didn’t read the extra docs. You could be lazy and do a site-wide source GREP to replace every mention of “modal” to “Modal” or “moDal” or whatever spell you wish to curse the next guy with as they try to realize cAsE MattERs.

Technically Frankenstein is the Dr, and the monster is simply that. Darth never said “Luke I am your father”. We like to think we think things through, clearly communicate and yet, either what you tell someone upfront as an acknowledgement of the situation, or as an explanation through flowery prose, it is a bit of a d!ck move and condescending, and adds to our already antisocial visages and why people hate to listen to us.

In summation, Chat with Chip can go f()k himself.

--

--

That Tim Guy

Coder, photog, stick-shifting, animal lover, gardener, cook, comedian, from 11746 living in 90210.