bytewise.io

Thoughts on the human side of software development.

On Relentless Positivity

2020-11-25

Anyone with more than one child will tell you how hard it can be to get everyone going in the same direction. Everyone wants a window seat in the car, and not everyone wants pizza the same night! Most businesses don’t have groups of kindergarteners at work, but the same issues of differing preferences and incentives are at play. As an organization grows, the value of good leadership grows with it - lacking guidance and clarity, teams will pursue their own interests, at the expense of the greater whole.

Positivity becomes critical as a group gets bigger, but this is more than just “optimism”, it’s akin to the conductive flow of energy we’d associate with a battery. In a typical AA battery, energy leaves the negative terminal, flows into whatever it’s supposed to be powering, and completes the circuit back at the positive terminal of the battery. It’s not much of a stretch to realize that the leadership of an organization acts like a positive terminal, channeling talent and energy in the most powerful direction.

This is more than just a prosaic analogy, to actually do this is quite difficult. Just as batteries must deliver a constant stream of energy (and be replaced once in awhile), so must leadership put in constant work to keep everyone “rowing together”. It’s not enough to publish the company’s values, and have quarterly updates covering the financial position. Real results come from real effort and engagement. Here’s a few thoughts:

  • It’s almost impossible to over-communicate company messages. Everyone has so many day-to-day tasks that even though we all might smile and nod at a company “strategy presentation”, the reality is that we all have to go back and keep the fires burning, and the Big Message often fades from view. Don’t let it! You can take 30 seconds at the start of a meeting to re-focus folks on the main theme for the year, or even better, ask if anyone thinks they’re getting derailed from that effort. You can also send out reminder/thank-you emails to the company at virtually anytime, just make them short and personable1.
  • In previous years, you could walk around the office, chat with people, and have a drink, etc. 2020 has more or less dashed those ideas on the rocks, but what about asking to drop in to a team’s sprint review? See what the energy level is like, what problems people deal with at each level, ask if they feel connected to the bigger picture2, and so on.
  • Make things visual. We’re all tired of box-and-line “architecture diagrams”, so devise something more compelling. In one workplace where we had a huge legacy application, I recommended that we spend a day writing all of its components down on index cards, connecting them with yarn, and then having it all bronzed or otherwise permanently “sealed”. Since we had a software monolith, I felt this real monolith could have been installed in the lobby as an artifact on which we could look back after successfully migrating to more self-contained services. They didn’t do this, but I still think it’s an exciting team project, and a great way to tell the story of your company’s progress.

“This is what we’re doing, this is why we’re doing it, and hey, we are going to get there together.”

Of course, being able to effectively communicate big plans means they have to be well-conceived in the first place, which is a reminder of how important clarity is. Once your team has settled on the right direction, and can express it clearly, be positive and keep that energy flowing in direction of success. Optimism helps too, in the form of encouragement, thank yous, recognition, customer testimonials, and so on, but that’s a complement to positivity, not a substitute.


  1. Including a link to a coffee gift card probably helps emphasize the point! ↩︎

  2. I don’t have formal stats for this, but one common theme I’ve seen with departing high-skill employees is a feeling of disconnect from the true purpose of the company. One can only fix so many bugs in a proprietary wrapper library before fatigue sets in… ↩︎