The Broken Finger Paradox of Engineering

Image for post
Image for post
Photo by John Schnobrich on Unsplash

A distraught man walks into his doctor’s office. “What is wrong with you?” She asks.

“Oh, I am miserable,” said the patient as he sat down in the doctor’s exam room.

“Tell me what hurts” the doctor responded.

“Everything!“ he exclaims. The patient gingerly touches his right kneecap. “Ouch!” He then reached up and touches his left elbow with a grimace of pain. Then the tip of his nose, right hip, and finally his left big toe, all the while showing great discomfort.

With a curt nod, the doctor stands up and proclaims, “I see what the problem is!”

The patient looks hopeful.

“We will get you some painkillers right after we put a splint on that sprained finger!”

How much time and suffering do we endure because the focus is on the wrong aspect of a problem or issue?

The proverb tells us that there is more than one way to skin a cat. This is a hard line to argue since finding someone that has skinned a cat is an impossible task. Yet, repeatedly, people will ignore the true meaning behind this statement and only see one pathway to success.

Just like the patient with the broken finger, we are often blinded to looking at things from multiple viewpoints that can not only provide new and insightful ways to address problems, but that can also uncover the truth that is right there in front of us if we simply paid a little more attention.

Image for post
Image for post
Photo by Edi Libedinsky on Unsplash

Therefore, it is up to the Engineering Managers to stay vigilant and work through these crises with patience and perspective. The hard part is that this is easier said than done. How does one evaluate what is a critical issue versus one that is minor? How do we tell a broken finger from a broken arm or leg?

Besides these questions, there is also the human element to deal with. People are difficult to manage. Everyone is different and unique, and these differences can manifest in unanticipated ways. Besides the obvious Star Wars vs Star Trek battles among Engineers, what about conflicts between introverts and extroverts? The younger team-focused people against the older silo dwellers? What about the pair programming aficionados battling the refactor-everything VIM warriors?

On top of people, there are schedules and timelines to manage. When will the project be complete? When can we sell it? Oh, wait — we already sold it. Now when can we tell them they can have it?

With quite a few challenges identified, what methods can an Engineering Manager stock in their toolbox of tricks to keep a team moving forward as efficiently as possible?

The following is a collection of tips and ideas to do just that. Engineers need focus and perspective. Some Engineers can step back enough to see the forest, whereas others become transfixed on that single piece of bark on that lone tree a few inches in front of them. That is OK! It takes a mix of people and approaches to comprise a highly functioning and effective team. The intent of the following concepts is to help support and build these teammates to perform even better while easing many of the headaches for the Engineering Manager.

Image for post
Image for post
Photo by Robby McCullough on Unsplash

Promote Investigation of Problems From Different Angles

One of the hardest skills for any Engineer to master is to understand that there are always a million and one ways to solve a problem. There are always different angles to attack, and no set of requirements are so rigid that compromise is impossible.

This concept is straightforward, yet many people struggle with it. To them, they are on a path, and on this path they will stay. If there is a chasm across that path, then there is no way to continue. This mentality doesn’t work in Engineering.

A successful Engineer needs an ability to zoom out from a problem and view it from different angles and explore other options to get to the solution. Maybe a bridge would allow crossing the chasm. Maybe climbing down and across is possible. Maybe there is a different path that can lead to a similar solution. It is even possible that a creative Engineer can review the requirements and suggest an alternative solution, thus putting themselves on an alternate path without the same roadblocks.

Image for post
Image for post
Tom Smykowski’s Jump To Conclusions mat from Office Space

Reduce Jumping to Conclusions

Tom Smykowski: “It’s a ‘Jump…. to Conclusions Mat’. You see, it is a mat that you put on the floor, and it has different CONCLUSIONS written on it that you could JUMP TO.

Michael Bolton: “That’s the worst idea I’ve ever heard in my life, Tom.

Samir: “Yes, this is horrible, this idea.

from Office Space

While it happens all the time, jumping to conclusions as a problem-solving technique is a horrible idea. This practice leads to assumptions that can prove very negative for a project or team. Not understanding all the facts and information can lead to easy button answers that end up being long-term failures.

A good manager will continue to ask questions until achieving a full understanding of the facts and intent for a project. Then they will also work to ensure that all teammates receive proper information to make informed decisions.

It is always good to remember that the higher the pressure, the easier it is to succumb to the easy lure of making these leaps of logic. The pressure to deliver results creates imaginary patterns in front of us that might not be real or accurate. Our brains want to simplify complex problems and therefore magnify this effect under stress.

Image for post
Image for post
Photo by Alejandro Luengo on Unsplash

Eliminate Pointing

Many cultures around the world view finger-pointing as a rude and obscene gesture. While the origins and reasons behind pointing as a social faux pas vary, two types of pointing are worthwhile to eliminate from any team.

The first type concerns pointing out issues or flaws and is a bad habit for a team. Conflict can be a very good and healthy interaction for a team, but it can cross a line. Having a stickler pointing an actual finger at a person or their code that doesn’t completely conform to the rigid code standard may not be the best form of conflict for a team. Instead, allowing both sides to face the issues together can promote an environment that focuses on a solution as a group.

Another form of pointing comes in the form of assumptions. When an issue comes up, making a guess at the source can have an overall detrimental effect against resolution. As an example, say a customer purchases a product and upon installation finds corrupted application settings. An issue report goes to the support team and while investigating, an Engineer assumes the database is the culprit, so the database team jumps into the problem and starts researching and digging.

Meanwhile, everyone else walks away from the issues and goes back to work. This is all fine and good if the problem is truly in the database, but what if the problem was that there is an error in an install script called by the main UI thread that is corrupting the data? Now triage has gone on for some time with the database group scratching their heads and no resolution in sight for the customer.

This is not a good scenario. Eliminating pointing and assumptions will always produce a better (and usually faster) solution for a team while also building communication and general knowledge throughout the group.

Image for post
Image for post
Photo by Markus Spiske on Unsplash

Make Communications Open and Transparent

Many teams have silos where people bunker up in their offices or cubes, slinging code all day then going home. When it comes time for another person to review this code or, heaven forbid, to change it in some meaningful way, it is often orders of magnitude harder than it needs to be.

The same principle applies to communication. A healthy and open team will conduct conversations in open channels no matter what is going on. When the public channels on Slack or other messaging tools are quiet and silent most of the day, either everyone has bunkered up in their silo or the team has fragmented into small cliquish groups for private chats.

This hurts the team in multiple ways. First — sharing important information does not occur across the entire team. This puts everyone not in the distribution channel at a disadvantage. Second — it always leaves people out, whether intentionally or unintentionally. Feeling left out and alone is a negative aspect of working in teams that can lower trust and reduce efficiency.

To combat these direct messaging tendencies, discussion of issues and successes should occur in open, public forums and channels. Stand-up meetings and public chat channels are good places for this messaging.

Emails by default are also private messages unless we blindly copy everyone on the team all the time. These are a double-edged sword as emails are great for communication of specific information in a backed up and searchable medium. However, the flood of emails from different sources can cause important messages to get lost in the shuffle.

A good manager will work on achieving a good balance in all communications to ensure a solid and open flow of information to their team.

Image for post
Image for post
Photo by Waldemar Brandt on Unsplash

Provide Ample Context

One of the quickest ways to lose control of a team is to continually ask them to complete tasks that, to their ordered and fastidious brains, do not follow any logic that they can comprehend. Context is king. Use it. This is not a need to know situation.

This is a difference between the statement of, “I don’t care how long it took to build the control, make it blue because that is what you are getting paid to do” versus “The client looked it over and happens to be colorblind. I know you worked hard on it, but we need to change from a red-green palette to a red-blue palette in order to achieve sign off.

Both lead to the same amount of work, but one provides a logical context whereas the other ignores the context and commands acquiescence. Guess which one gets a better reception by the Engineer?

Managers need to provide context so that their team can provide appropriate solutions. Missing this connection also hinders their ability to harness the full abilities of their teams. Having the proper context ensures that the solution is the best possible for the need provided, instead of the one called for in the specific task.

The goal of the Engineering Manager is to keep their team focused, efficient, and well informed. This reduces the opportunities for assumptions, finger-pointing, and jumping to incorrect conclusions while keeping communication open and flowing throughout the team. If done correctly, these methods can greatly enhance the results and solutions for any team. Thanks for reading!

Originally published at kevinwanke.com on January 20, 2020. Kevin’s blog focuses on advice for new Engineers and for Engineering Managers.

Written by

Engineer. Manager. Husband. Father. Wanna-be Writer. Editor-In-Chief & Grand Poobah of www.kevinwanke.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store