In the world of management your job is partially to build the team that builds the things. As an engineering manager, I sometimes find myself thinking:
“Man, dealing with computers…. so nice. So rational.”
People are complex and predictably irrational. Fortunately, I actually like people and find the challenge of helping teams a rewarding one, even if there are some days that I come home quite pensive.
While asleep my brain is off trying to find patterns, and this act leads to connections such as comparing how teams are related to each other and their behavior and how families are structured.
When it comes to these, and peer-to-peer dynamics, one root cause is often a lack of empathy and a slew of assumptions that your brain has created in order to try to understand the complex world around it. This leads me to think “man, if they could walk in each others shoes for a day….” from time to time, and I wonder why we don’t do more to make that happen?
Some companies do a good job of having shadowing programs, moving people around so culture and knowledge can be shared, and experience can be gained. It also happens organically, as people naturally move about. But would it make sense to do this much more regularly?
I have seen the need in a few situations:
Understanding another role
It isn’t always easy to understand the trials and tribulations of someone in a very different field, or in a different role. It is easy for us to think that what we do is hard and complex (as we know about the complexities) whereas their work seems easy (as we see the output vs. the toil and training that went into it).
This also can become an issue if there are roles where people feel like more input is directed at them, and they can’t give the same level of input back. My typical example here is the engineer and the designer. A designer on my team once complained that it wasn’t fair that the engineer was giving so much feedback on their wires. They felt like they were the expert and that “I can’t do a code review and give feedback there!” That was the real issue, the perceived asymmetry. Since we are all users of computing platforms, many of us feel like we have opinions on the UX of a product that we are building. That doesn’t mean that we have the same level of deep understanding of a UX expert though, which is why they are responsible for the experience. That responsibility does NOT mean their job is to come up with all the ideas though, which is why a good UXer will listen to all and look for good things they have missed.
Also, although you may not be capable of a code review, you can review the engineering. You can look for crashes, UX bugs, jank, etc. That is very much in scope, so in reality you can have a lot of feedback back to engineering.
Understanding another team
The same notion of “I understand the complexity and only see your output” also kicks in with teams. From the outside it is easy to think that another team is under performing based on your assumptions. This doesn’t mean that they are NOT under performing of course, and it may be that this is a team that you know well, and have a deep understanding of their domain, but it isn’t always the case.
This can often happen between the “business” and “product development” worlds. The business naturally wants features and functionality and often tends to wonder why its so hard to get those screens up and running! They can also easily run into “I saw them do screen A in a day, so why is screen B taking a month!” when the complexity differences are huge. If the misunderstanding is this far off though, then the product development team isn’t doing a good enough job at explaining what they are doing 🙂
Understanding at another level in the chain
The pointy hair boss. What a moron. He has the easy job at the top! Why doesn’t he always do thinks that I want him to do? Our strategy is dumb and “if I was in charge….”. I admit to meeting plenty of pointy haired bosses, but it turns out that it isn’t as fun up there as you imagine it is. They have to manage multiple teams with complex priorities and unclear answers.
You know your area of the org deeply, but take a minute to think about what is going on in the other parts of the org, or in other parts of the company. Do you understand the strategy? Do you think you have a good handle on the context? If not you should get it from management, and it is poor form if they haven’t pushed it down to you. You can’t be expected to make the best decisions if you don’t have the context.
It is for these reasons that I think it is wise to think about how to keep organizations a little more dynamic. Change is constant these days more than ever so why not embrace it and think about how to use it to dispel some tension and gain shared understanding?