Communication: Logging levels
I think one of the most important skills to perfect when communicating with other people is to understand the level of detail that we need to be speaking at, something my colleague Ashwin Raghav refers to as our logging level.
We log various things in our code at varying logging levels ranging from 'error' through 'debug' to 'warn', and each of these is useful for understanding what our code is doing.
However, we might typically only report problems at the 'error' level unless something goes wrong and we want to try and understand in greater details what’s going on.
The same thing applies at a conversational level and I’ve noticed that the tendency is to zoom into the detail very quickly rather than staying at a high level.
In a group situation
While speaking at a detailed level is appropriate in some situations it can easily isolate people in a group situation if only one or two people are able to take part in the conversation at this logging level.
Given that it is possible to end up at the wrong logging level by mistake it then becomes important to watch the body language and reaction of other people in the group.
If they seem to be zoning out, losing interest or if the conversation excludes them then it’s fairly likely the logging level is too verbose and it would make more sense to take that conversation offline.
In a one on one situation
A similar thing applies in a one on one conversation but the way it rears its head is slightly different
When talking about code the tendency can be to talk at the syntax level in order to explain something.
For example if we’re talking about the merits of mocking or stubbing out methods on the system under test then the conversation has been set at a conceptual level and it wouldn’t make sense to start talking about the way that RSpec actually makes it possible to do this.
It’s also useful to work out the other person’s level of understanding so that we know what logging level our explanations need to be at.
We’ll typically get rapid feedback from the other person if we’re not doing this.
For example when I first started working with Ashwin my explanations were too detailed and he quickly pointed that out. That allowed me to jump straight to a higher level from then on.
The logging level that we’ll need to use will be different for each person and it does take a little bit of time to work out where exactly it needs to be.
I quite like Ashwin’s metaphor and I’ve been keeping it in mind when watching conversations and when communicating myself to try and ensure that the right logging level is being kept to for various conversations.
It is surprisingly easy to drift away from the optimal logging level though!
As a side note it seems much less frequent that the people I work with speak at a level of detail which isn’t verbose enough and I can’t really explain why that is!