BrianDamaged.org

Not a significant source of riboflavin.

Words are hard...

2018-12-02

You might have noticed that I haven’t published a post for the last couple of weeks. And, you probably suspected that this was due to holiday travel / etc. . While this is partially true, there was also another factor:

Words are hard.

Communication requires a lot of effort, and it can become exhausting! For instance, here’s a rough person-hour breakout for a relatively straightforward issue that occurred this morning:

Communication is most of the work

Here’s how I came up w/ these estimates:

  • Identify the problems and remediations: I was 95% sure I knew what the problem was immediately after I saw the error. It took 15 minutes to verify my hypothesis and outline remediation steps. I’m adding an extra 45 minutes to this estimate to account for the time it took the other developer to discover the error in the logs in the first place. So, grand total: 1 person-hour.
  • Communicate the information to stakeholders: Part of this time was spent working w/ the engineers and making sure everybody agreed upon the problems and remediations. The rest of the time was spent trying to convince the chain of command that a “quick fix” was not worth the effort, and we needed to make a production release instead. The entire conversation spanned 2+ hours and involved 5+ people. We’re going to round this down and call it 10 person-hours.
  • Implement the remediations: The engineers agree that the immediate problem can be remediated with a 1-line fix to a single component. I’m going to be generous and assume that it will take a solid 2 hours to write automated testing around this fix. This brings the total to 2 person-hours.
  • Deploy the fix: Deployments typically take less than an hour and involve 2 engineers. So, let’s call this 2 person-hours.

As you can see, 2/3 of the total effort was related to communication! Keep in mind that this was a very cut-and-dry issue that could be communicated very quickly. Hence, there was no need for formal documentation, multiple rounds of discussion, etc. .

Your first reaction to this might be “Holy cow! That’s so inefficient! Why would it possibly take so long?” But, the fact is, communication is just hard. Think about the last time you had to write a paper for a class. Even if you knew exactly what you wanted to say in the paper, it probably still took you 4+ hours to actually write it. Expressing abstract concepts in a manner that can be understood by humans is just plain challenging.

And, the same applies to writing blog posts as well. I’ve known exactly what I wanted to say in this post for more than a week already. The aforementioned production issue serendipitously provided me with a very concrete example of how difficult communication can be. But, despite that, it still took me a solid 3 hours to write this post.

So yeah: words are hard, and sometimes we just need to take a break.