Leading from the Middle

Four people, one man-coded and three women-coded, sitting around a table with various electronics and coffee cups. They are smiling and laughing.
Photo by Brooke Cagle / Unsplash

There are developers who find great success as founders or leaders or CEOs.

But even the hagiographies of their rise to greatness shows that they aren't actually good managers (and often, aren't particularly good developers).

Lots of companies are convinced that being a developer is a great way to become an developer manager, and that being able to "speak the language" is important to good development hirearchy. But why? Being an Individual Contributor developer in, say, Go or C# or Java requires the developer to know that language, at least well enough to fake it. But what value is there in having the manager also know those things?

Management is a full-time job. It requires a radically different skillset, often one that developers have been encouraged, explicitly or implicitly, to devalue. And if the answer is "so that the manager can help out when needed" then the company has much bigger problems at hand than what is needed in a manager. There's a secret to managing Tech Industry people, specifically developers: there's no secret. Seriously. The principles of management are the same now as they were when the Labour party was born in the UK: A manager is responsible for assigning work if needed, motivating the team, and acting as a two-way conduit between Upper Management and the individuals doing the work. A 100-person company that makes gaskets and a 100-person company that makes an inventory management app to track gaskets are functionally the same company, from a management perspective. Managers need to be able to communicate clearly, empathize, assess productivity and growth, and assist workers in getting the work done. That's it. Knowing a programming language is about as important as knowing Latin.

The five most important things you need to have in your toolbox to be a successful manager, especially if you're working in the Tech Industry are simple, but they are definitely not easy. Note that this not the only things you need, but you need at least these five.

1) The ability to listen. This is the single most important thing you need to have; this is the thing you should work hard to cultivate, and it's the thing you're going to be using most often. We live in a world that doesn't value or reward the act of listening, but as a manager it is absolutely crucial: you need to listen to your team about their capacity, their difficulties, their successes and failures, and what they need to perform better; you need to listen to your upchain people about what they (and the company) needs and the priorities of those needs; and you need to be able to listen to your peers about what's working, what's not working, and what's changing with them.

2) The ability to be silent. Often times, being a manager (who listens!) means that people will come to you with problems. The lead impulse in this moment is to jump right in, start trying to fix something, start trying to provide solutions, even when you don't know the whole problem yet. Resist this impulse with all your might! One of the best tools for a manager to have is the ability to let someone else talk. Often, just stating the problem clearly can help the person enough to find a solution, or at least a direction to go. Acting as a rubber duck is a legitimate use of a manager's time.

3) The ability to say No. There are going to be times when the team wants something, and you don't have the budget, time, or ability to make that request happen. Once all the options and channels are exhausted, you need to be able to say no, and make it stick. You also have to be able to say No to the upchain people as well; or at least No with options. In situations when the peopleness of people not being recognized, it can be up to the manager to bring that to attention.

4) The ability to say Yes. Saying yes is about making room for people to succeed, and the manager is the first person in the chain of people who help make that happen. Paying attention to what someone needs and doing your best to give them that will be a huge win for them, the team, and you. It helps as well when you're looking for metrics to hit, or sprints to hit, or finding solutions to new (and old) problems.

5) The ability to Trust (and be Trusted). There is a trend in business to assume bad intent and behaviour from employees, when it comes to "work time" or "office hours" or whatever they call it now. This is not a solution to low productivity or bad actors; this is the result of the company (and managers) not trusting the team. People want dignity. Thanks to the early Calvinist movement in the US, most people want to work, and they want the work they do to, if not fulfill them, then at least not make them miserable. The best way to help people to feel that way is to trust them.