A couple of days ago ex-GitHub employee and brilliant tech-speaker Zach Holman tweeted the following:
There are a lot of ways to become a bad manager, but tapping me on my shoulder when I’m building shit is probably the most heinous.— Zach Holman (@holman) July 12, 2015
This statement hits the problem with bad managers spot on. Many companies struggle with this, managers who have to check in on the employees constantly - thus preventing them from being productive. In my opinion, this entire situation show a lack of trust in people and is not only bad for productivity, but also company culture. Why would a developer, a creative human by nature, want to work at a company where his boss has so little trust in him that he constantly checks in on the work he does?
Fortunately for me, I have only good experiences with development managers. Here is why I believe the DMs work well at my current company, DIPS.
The DM's are developers themselves
All of our DM's have a long history as developers. They are over average interested in software development and tech, thus giving them full understanding of how developers think and how the development process work. Hell, they are one of us. Some of the DM's even rolls up his sleeves and put in some hours of coding if the project allows it. I think this is a great way for the DM's to keep on top of the project and get hands on. Eliot Horowitz thinks Engineering Managers Should Code 30% of Their Time.
In my opinion, DM's should have a background as developers. Putting a hot head out of business school in charge might work in the traditional office, but not in a software company.
The DM's have 100% confidence in their teams
On a day to day basis I rarely talk to my DM. Most of my time is spent with my teammates, being creative and building great stuff. Together. I never have my DM hanging over my shoulders asking questions or checking up on me "to see if I actually do work". This is because the DM have put together the team consisting of people he or she believes will work good together and get the work done in a brilliant way. The DM have full confidence in the team as a whole. If the developers need something from the DM, they contact him rather than him them. In that way both parties can focus on their work with minimal interruptions.
My team also work remote, so even if the DM wanted, he could not sneak up behind us to "check how the work is coming along". For remote teams trust is even more important.
The DM's does hiring
In the hiring process the DM's interview candidates and put them through the technical interviews. If a DM is unsure of a candidate, the answer is usually no; they only hire people they are 100% sure of. This fits well with the rule of trust. Here we also follow a golden Google rule: Try to hire people that are smarter than yourself.
It is also important for the DM to hire people who fit well with the rest of the team.
Some will argue that hiring is the most important job the DM has.