Periodically, while in the midst of our many projects at DNN Corp., I think about how the Engineering organization is performing. We don’t have a very big team, but we are quite effective despite areas in which we can definitely improve.
How things have changed since I started in tech in 1977. At that time, we all wanted development centralized. We had email for communications and multi-user systems which enabled concurrent access to code, specs, and tests. However, white-boarding was not yet in vogue, nor were convenient online meeting rooms, and VoIP services for low-cost calling and more. We had to relocate smart engineers or create local offices to enable their integration into the company.
Anything but centralized
Fast forward to today when my boss asks what I want to do about our globally dispersed Engineering operation. Personally, I still like the notion of sites or engineering centers so people can feed off the energy of one another, or simply collaborate on the physical whiteboard in the same time zone. However, the reality is that if we want smart, passionate engineers we need to “go” where they are and leverage new tools and methodologies which facilitate their integration and value to the company.
Distributed organizations are the wave of today and tomorrow. Managers who can optimally direct these teams are in for vast rewards while those that don’t … well, they lose out on lots of potential.
Thinking about teams, it’s interesting to ponder the qualities of today’s effective technical managers. Sure, they need to be smart and hands-on. Ideally, they evidence the same qualities desired in the engineers who work for them. But let’s face it, it’s hard to be “in the weeds” and at the same time high level and visionary. Moreover, great managers must grow the people who work for them and ensure they have maximum opportunities to shine. So what does today’s manager do? If not in the weeds, he/she spends time learning about new technologies, frameworks, and methodologies. The reason is to help guide people, stimulate innovation, and make intelligent decisions when new ideas (especially radical ones) are tossed onto the virtual table.
"All for one, and one for all" -- Alexandre Dumas, 1884
Of course, effective managers are also great at guiding team members to excel. They provide focus, encouragement, and push. They leverage local and cultural distinctions to their advantage. They also help engineers adapt to changes – because while engineers like to change things, they generally don’t enjoy change happening to them. The final thing managers do is help engineers to accept the delicate balance between features, quality and delivery time, since successful companies orchestrate a synchronized balance between product and revenue teams. This is not easy stuff – especially since many engineers working in agile teams don’t like to be time-boxed.
So what’s the guidance we want to provide here? For managers, it’s recognition that distributed teams are a way of life. Find ways that work for your organization to engage intellects, experience and passion where they’re located, and hone skills which enable team members to work as a unit regardless of location. And for team members, take pity on the poor manager who has to corral you into a kick-ass powerhouse of world-class products.