Tuesday, May 19, 2020

Today is Tomorrow

It's the seventh of May, and it's still the same today that it's been since early March. Sunrises and sunsets, digits increment on iOS home screens across the country, and we're still stuck on repeat 1, like the time we discovered "Jungle Boogie" after watching Pulp Fiction and nearly wore out the polycarbonate compact discs that we stored music on thirty years ago. The weather's getting nicer, and playing with my daughter in the sunshine feels pretty good. Maybe working from home all of the time is the change I needed.

Two decades ago a friend recommended that I read Tom Robbin's excellent book Fierce Invalids Home from Hot Climates. Aside from the antihero Switters and the three female characters who exert incredible force on his story arc, one character stands out in these days of quarantine: End of Time.

From the novel:
(Fer-de-lance had concluded that the shaman’s name could be more accurately translated to mean End of Future, or more explicitly yet, Today Is Tomorrow. Accent on the verb. Today Is Tomorrow.)
Today is Tomorrow, because I started writing this on May first, then changed the first line to the seventh (after changing it first to the fourth), and now it's May the eighteenth. But it's still the same today it's been since early March. And it's this same day we'll live for the foreseeable future.

I push my daughter on the yellow swing in the front yard, and she lists the places she and I will visit "after the virus." In no particular order:

  • Cross Street Market
  • The pizza place
  • The chocolate shop
  • The coffee shop
  • The bakery
  • The playground
  • The grocery store for pizza and sushi and big chocolate chip cookies
  • Another pizza shop
  • Yet another pizza shop
  • Starbucks
  • Rita's

Her list makes me smile. It's a list of all the places she and I visited in the normal life of running between appointments, sprinting to the city for afternoon classes and having time to kill in Federal Hill. Running down the sidewalks. Never passing up an opportunity to pick up a few raspberry truffles and milk chocolate pretzels. She and I laughing in the market.

The time is passing, I think.

I lent my copy of Fierce Invalids to a good friend who offered his copy of A Visit from the Goon Squad in return. It feels like only yesterday when I made that trade. It was seven years ago.

Seven years, or a few months, maybe it was yesterday. It's all whimsy. We're all my grandfather now.

Thursday, March 5, 2020

Email Engineering and Duress-Driven Design

Two observations for you. If you're busy, you can just go ahead and agree with me now and move along.

Engineering by Email is Evil

Have you ever been part of an email thread at work that starts out with an innocent question like, "what's CPU usage on cluster alphabet?" but then devolves into a highly technical planning session with multi-paragraph diatribes about design decisions and flimsy, off-the-cuff justifications? It usually spirals into chaos soon thereafter as disagreement abounds. And decisions are made based on who replied to the thread (which is saved by everyone as a "get out of jail free" card).

This is engineering by email. And it is pure evil.

I've developed an informal method for determining when engineering by email is occurring: I look at the height of the scrollbar relative to the height of the window. If the scrollbar's height is 1/4 or less of the window's height: run. And let's not even talk about how horizontal scrolling is widely understood to be a bad UX idea.

Engineering is a process, just like design, digestion, and the Xiphoid. Ok, maybe not just like those things. But it's a process nonetheless. It requires a deep understanding of your requirements, constraints, assumptions, and other influences. It can't simply be typed into existence in response to an email. And email is certainly not a suitable repository for such documentation.

“But no one uses email anymore! We use slack! We use Teams! We used Cisco Webex Teams! We use HipChat!”

Oh shut up already. Everyone uses email for work. No temporal walled garden app will kill email. But I’ll entertain that thought a moment and tell you that if you use any of these messaging platforms as your primary source of inter- and intra-office communications, then the same applies.

In many ways, we’ve lost the true meaning of engineering. It’s a process, not a product. A science, not a suggestion. Engineering isn’t a one-line message that says, “Maybe we can use the DR site since it has excess capacity?” That’s an idea, part of a brainstorming effort. It can influence engineering, but on its own this is NOT engineering.

Duress-Driven Design

You can't build something out of fear. Your motivation can't be to not get fired or publicly shamed. These conditions lead to duress-driven design. And like engineering by email, it is also pure evil.

Your project timeline needs to reflect the enormity of the problem you're solving. While we all like to take our turn as the superhero that saves the day by delivering an amazing solution in a highly compressed time frame, we’ll only burn out all the faster for it. And bypassing development, or feverishly condensingit, is never a good idea.

What's the Point?

The point is that if you work in an enterprise environment where the two items above are not only tolerated but heralded as "working hard," you should get the fuck out as soon as possible.