I have worked as a software developer for different people, with different styles, and different goals. I’ve loved managers, hated managers, and everything in between. I grew to be cynical about managers and the word “management”. The idea of a person who was a “manager” of programmers-as-people became somehow a role fraught with danger, both for the people who would report to the manager, and to the person in the role – who surely was a respectable person before taking the mantle. The concept of a manager seemed one to distrust. I’d say that this feeling is prevalent among software developers.
In November and December of 2016, I had the pleasure and honor of stepping in as the Interim Director of Engineering for Springbuk. I was sending myself into danger, knowingly! I thought that my experience co-directing Fretless, and leading community groups like Indy Hackers and Indy.rb, would provide the knowledge I’d need to step up and perform the role well. After all, I had been working with the Springbuk team for 10 months in a senior developer type role. No sweat, right?
Wrong. Surprisingly wrong! Up until then, I did not appreciate the pressure of being a manager. Being the boss of a team of 10 or so at a startup that is trying to move quickly, satisfy customers, please investors, etc. involved doing much I had never done previously. In fact, they were probably two of the most stressful months of my life. I learned a ton, as well as put myself on a path to learn more. I want to share my experience, what I have learned so far, and the resources that have put me on the path to learning much more.
Managing is Harder than Programming
You’ve put in the brain work. You see the path forward. You bang out some code, check the result, and you get a big, fat error. Whoops! Ah, well, you know exactly how to fix that error, and ship that code. NBD.
As a manager? You won’t get that immediate notice that you made an error. You won’t be able to quickly correct the problem. In fact, you might not ever know you made a mistake. For me, the biggest struggle is giving negative feedback. I have excuse after excuse for why I didn’t need to or didn’t want to give negative feedback to those reporting to me at Springbuk. Reasonable justifications, too! Weeks later, the thing I wanted to discourage from happening again, but excused, would then happen again. At that point, I’d realize that I made a mistake, and possibly set back the development of the team by weeks. Worse still, I’ve made that conversation even more difficult by not making the small correction weeks ago.
Mark Horstman of Manager Tools likens management to driving a car. You repeatedly make tiny adjustments in steering, tiny adjustments in speed, tap the brakes here, push down the gas there. I do like this analogy. For me, however, it felt more like driving at night in a torrential thunderstorm, while suffering a sneezing attack due to an allergy to the flock of canaries flying around the cabin of your vehicle. Approximately. (Eventually, I found the button for rolling down the window, alleviating the bird problem.)
There Are Few Great Managers
In my work as a developer, I have worked for several people, and have enjoyed working for each, for different reasons. Some became friends (and then business partners). Some went on to be managers at big tech companies everyone has heard of. I’ve worked for and with good leaders. I’ve seen managers that I felt I could judge as “poor”. However, I don’t know that I’ve worked with any truly great managers, yet. (I certainly don’t qualify as one. I hope to qualify, some day.)
I know, I know. Selection bias. How could I possibly have enough data to make the claim that there are not very many great managers? I’d argue that I would hear more about these great managers. I’d see more people being trained to be good managers. There’d be less sneering about “management”. Management wouldn’t be treated so often by developers as a bad word.
Other industries seem to place much higher value on management. I found myself recently telling a friend of mine, Nick Strasser, that I now understand so many of the conversations he and I had about his career better than I did when we were having them. Nick has been managing since he graduated college. I’m sure it was bittersweet to talk to me about management now, after years of me clearly not contributing much to the conversation. He, nonetheless, brought wisdom to the discussion. One thing he said to me stuck:
Management is about making your people more effective. That’s all it is.
Most managers in tech seem to think management is about making the process more effective. Trust the process. We have to fix the process. Things aren’t working. Is it the process? What needs to change about the process? How can we improve the process?
You know what I think? Help people be amazing, and they’ll fix your process, one way or another. Amazing managers help people be amazing.
A Manager Can Get Better, Fast
What surprised me perhaps the most are the resources available, and how actionable many of them are. I must’ve grown accustomed to listening to audio books about leadership, which often give conceptual advice at a high level. I read or listened to as many books, podcasts, and articles as I could (and continue to). I’ll tell you about two of them.
If you are a manager, please go listen to the Manager Tools podcast. I particularly needed The Manager Tools Basics podcast. Unlike my buddy Nick, I’ve no management training or experience. So the basics go a long way. The podcast discusses the need for weekly one-on-ones, a specific feedback method, coaching, and a there’s even a bit about delegating. Simply doing these things (well, with feeling) can make a huge difference, I think. If you do nothing else, listen to Manager Tools Basics, and take action on their advice.
I listened to The Coaching Habit, from which I expected very little. It’s only 3 hours. How much could I get out of it, really? It gives you some idea of what to ask during one-on-ones; of how to make one-on-ones, and coaching, more effective.
I Like It – A Lot
I was surprised at how much I enjoyed learning about and getting better at management. I shouldn’t have been. We at Fretless have always spent nearly as much time thinking about the people involved in the work as the work itself. This is why we help with and participate in communities like Indy.rb, Btown.rb, Indy Hackers, and others. It’s why we grab opportunities to teach, such as at the TechPoint Xtern Bootcamp. Helping a bunch of developers be more effective is in our wheelhouse!
To so many developers, “management” is a bad word. “Management is making us do this.” “Management wants us to practice trust falls.” Et cetera. “Management” gets blamed for the stuff we don’t like. We distrust it, almost naturally. You can see this attitude in action even in articles that acknowledge the need for management, like this one from the Basecamp folks. The problem is that good management isn’t about trust falls, team building events, or constant pestering. It’s not something to distrust. Good management is about making people more effective.
Did you move into management, and have a similar experience? Do you have a great resource I missed? Or, do you just want to chat about managing? Please email me or comment below!