As an Engineering Manager, most of your day-to-day work involves dealing with your direct reports. However, that's not all the role entails, and a significant chunk of your time will have to revolve around communicating and building relationships with upper management, as well as your peers from other departments.
This is often called "Managing Sideways", when dealing with other department heads, or "Managing Up", when dealing with people above you organizationally. While most information out there mostly deals with managing one's team, a very important part of the Engineering Manager's role is how they communicate with other managers, as that will directly impact the success of your team.
In this article I'll try to explore, based on, and influenced by my own experiences, some practical approaches on how to build, foster and maintain inter-departmental collaboration and communication.
As I've mentioned before, this isn't meant to a exhaustive guide, or cover all scenarios, but rather give you an idea of what worked for me, which you can then tailor to your own needs.
The Importance of Communication
Ultimately it all comes down to this: communication. And it's not even something strictly related to management. Good communication is required at all levels of the organization, especially if you are dealing with a remote work environment. In my experience, and I can't stress this enough, a fairly significant chunk of issues that I've had to deal with, in the end, came down to individuals not communicating properly, not keeping everyone informed, or communicating in a way that their audience had a hard time following.
It's all about adapting your message to your audience at that moment. When communicating down, with your own technical team, you'll have to be specific, talk about libraries, architecture, coding patterns. When communicating sideways, with other departments, you'll have to be collaborative, talking about shared interests, dependencies and outcomes. However, when communicating up, your message needs to be concise, it needs to be focused on outcomes, results, and the overall organization's goals.
Managing Up
Managing or communicating up, is basically all about making your boss's, or person you report to, job easier. You need to ensure they get the information they need, in a concise manner, all the while making sure that your team gets recognition for all their hard work, as well as negotiating any resources you might need to keep your department functioning efficiently.
This isn't about saying "yes" to everything, but about building a relationship based on trust and respect that allows you to have honest and productive conversations. Corollary to saying "yes", avoid falling into the trap of being overtly negative, and saying "no" all the time, as that will have lasting consequences. Instead of dealing with absolutes, try coming up with compromising solutions, or solutions that solve a particular problem, without having to resort to simplistic yes/no outcomes.
Early in my career, I remember trying to get buy-in, from upper management, on a feature that would replace the current implementation, making it more reliable, less flaky, and generally be a better developer experience. While on paper this was great, due to the developer jargon and high technical language I used It came across poorly, as just another code refactor, which not only would re-write a feature that already existed, it would also delay other work that we were planning.
You can guess by now the outcome, and that we didn't go forward with rebuilding the feature. And even though my presentation was an outright failure, it taught me a great deal about framing and communicating information to stakeholders who are less interested in the technical nitty-gritty, and more in the outcome, or benefit, of the work being proposed.
Managing Sideways
Managing sideways is all about building relationships and a good collaboration dynamic with your peers. Unlike when managing up, where there's a clear dynamic, interacting with other departments, or with peers that don't report directly to you, is all about collaboration and working together towards a common goal.
Usually, for an Engineering Manager, this takes the form of collaborating with Product on the specs, discussing with Design to make sure you can support the direction technically, and even with other Engineering departments, since, especially is there's more that one technical department, chances are that you'll have to be involved in some cross functional development, at least some of the time.
When working with a Product team, we would usually align, in a informal setting, on various feature specs, or upcoming changes. I found that more often than not, there were differences in ideas, or differences in understanding about a particular functionality, and meetings like these were crucial to get everyone on the same page and share knowledge of upcoming work.
With the Design team however, the way I found that worked best, was to get involved in the design process early. Rather than waiting for everything to be "done", and then deciding on how to proceed, involving engineering early in the process, either myself or other members of the engineering team, improved the final product greatly. This practice not only benefited the product, by sharing a unified vision, but it also helped eliminate blockers early in the process. This fostered mutual respect, and strengthened cross-functional team collaboration.
Managing sideways and up can take many forms, and as I've said in the beginning, it cannot be a "one size fits all" approach. Not only companies are different, but also teams, projects, and in the end, the people are different. What worked for me, most likely won't work for you, and especially when dealing with inter-departmental relations, you'll have to adapt to your own organization.
The only constant that I found can be applied everywhere is communication. As long as you're mindful of who's you're audience and you tailor your delivery appropriately, as long you make sure everybody has, not only all the information, but are also on the same page, I believe that you, as an engineering manager, will see your team thrive and their hard work get recognized and celebrated.