What is “Management” Supposed to Do Anyways?
Modern management largely has its genesis in the work of Frederick Winslow Taylor, who created the idea of Scientific Management.
His main insight was that industrial labor wasn’t being nearly as rigorously designed as the work being done by manufacturing machines.
In his mind, all human labor should be deliberately measured, studied, and orchestrated by expert observers.
The goal of these observers should be to optimize the overall system of human labor for higher quality and volume output, with lower labor costs. These newly designed, higher output systems should then justify higher wages for fewer, vastly more effective laborers than non-designed labor. (He recommended shooting for 60% more pay for these deliberately orchestrated workers than the industry average).
His main tool for implementing these designs was accurate time study, watching and observing the most effective people as they went about their day. In his book Shop Management, he shows a case study giving a 70% increase in wages to the workers, and by a partial re-design of their work, having each worker moving 3.5x the regular worker’s tonnage of work through the factory.
So, if we look at modern management, the genesis of the work of the manager is the design of the work to be done. Management focused on the choreography of work, so work could more effectively be accomplished.
The Problem with Applying Scientific Management to Software: We Don’t Know how to Quantifiably Measure Output
But there is a major problem with this model in software development: we are not moving a measurable amount of coal from one part of the factory to another.
An experienced software developer anticipates the secondary effects of every change, and weighs tradeoffs between a multitude of approaches in solving problems. By continuously modeling software systems, the organization they work for, and customer behavior, the most effective developers readjust their approach to problems daily.
And that daily work tends to be unique and vague, with a large search space for solutions. This means it’s difficult to observe and optimize the system of software development itself. Despite years of effort, and a market value for individual software companies of over trillions of dollars, we’ve yet to formalize a way of measuring how effective a developer is or isn’t. So we can’t measure our way to higher team performance.
But if we can’t use an adaptation of scientific management for improving the effectiveness of software creation, what can we use? How do we optimize the system of work for something like high wages and low costs, when we can’t even determine whether the work is good or not, done reasonably quickly, or not?
It’s (Sometimes) Worse than Not Being Able to Measure Output
Of course, one of the other fundamental assumptions of scientific management is that minimizing costs and maximizing profits and wages is our goal. This assumes that we work in a business which needs profitability to survive, and that imperative must be held higher than any other value.
In practice, this isn’t the case for many venture funded technology companies.
Instead, depending on the maturity of the company, the main goal may be: capturing market share, gaining users, increasing revenue, or absurdly, building headcount. All of these approaches smell of unsustainability, but importantly, can become the actual goal of management. Absurdly, some of the people who make it into management at companies losing billions per year later position themselves as thought leaders for effective engineering management.
So if profitably sometimes doesn’t matter, and we can’t measure engineers, how does someone in management build a framework for effective engineering management? And what the hell is that management doing all day anyways?
Managers Should Gather and Push Context to the Edges
Because measurement for effective creative work is such an obvious, big problem, somebody has thought about it before. In 1967, Peter Drucker created the idea of “knowledge work”, and more importantly, the “knowledge worker” in The Effective Executive. In it, he redefined the role of the worker, and the supervisor’s relation to work.
Even in 1967, humans had begun working on technologies where it just wasn’t possible for the people directing and managing the work to have enough context to orchestrate it’s entire implementation. Looking ahead, the complexity inherent in modern engineering projects was only going to grow.
The solution, he decided, is that knowledge workers had to become their own managers (in the book referred to as executives), both designing the work to be done, while thinking through the tradeoffs and minding the overall business context.
Critically, he defined what the goal of effective knowledge work was in this world devoid of absolutes:
Knowledge work is not defined by quantity. Neither is defined by its costs. It is defined by its results.
Results. That’s an odd and fuzzy definition for an output for a manager to optimize for. But it seems closer to the reality both engineering managers and their subordinates find themselves in. Leadership expects management to deliver “results”, but the definition of “results” changes constantly.
It is then management’s job to ensure there is enough context for everyone on the team to be able to pursue the correct results. They do this by gathering, and then distributing context for the team. This ideally empowers the team to lead themselves, directing their efforts to the most effective outputs, given the current situation at hand. (For a good example of this in practice, check out Turn the Ship Around)
But how do managers identify the right “results”? How do they know what to build, given the multitude of options of things to build? And after things are built, how do we evaluate how effectively (or not!) those results were delivered?
Help the Team Identify and Pursue “Objectives and Key Results”
Depending on where you work, many tech organizations are steered by quarterly objectives. These are known as OKRs, and are a method for communicating what quantifiable results you are going to chase after, and achieve as a group for the next three months. They’re also famously a part of High Output Management, often referred to as one of the best modern engineering management books, written by the ex-CEO of Intel.
OKRs are meant to be ambitious, and by default are meant to have a significant portion of them fail every quarter. They are a medium for continuously identifying new results for your business unit to achieve. Part of leadership’s job is to evaluate these and ensure the new results being pursued will be effective for the current strategy of the company. But really, the process of thinking through what would be the most effective result for your group is the point of the exercise.
At the end of the quarter, results are “graded”, and the manager (and team) are evaluated on how well they accomplished the results they set out to do. There is an unwritten, somewhat arbitrary rule that an effective team should be making 70% of their objectives. (This hypothetically helps ensure the team is being ambitious enough in their goal setting.)
So we’ve seen the role of a software engineering manager is to build context, push context to the edges, and create objectives for the team. Finally, the team is kept in line by being held to account for what was promised in the agreed upon objectives.
But what about that failure rate for OKRs? In practice, since the graded OKRs are measurable (you hit a certain percentage of your goals), we’ve transformed the unmeasurable productivity of a developer into a measurable thing. You told us you’d accomplish something, and you either hit, or didn’t hit the things you’d promised. The grade you get from your OKRs gives a definite number for your team, in a space that is fundamentally not measurable.
Is this good? Does this lead to increased effectiveness?
But What’s Missing from the Objectives and Key Results Loop?
Taylor focused on more effective physical labor, with the goal of lower overall cost, whereas Drucker focused on more effective knowledge work, with the goal of more effective results.
But without an overall strategy, those results don’t matter.
For the overall organization, the user growth must lead to another round of investment, or the new features shipped must lead to better user churn, or the latest marketing copy must improve the cost of acquisition. So even with perfectly delivered results, there is no guarantee of effectiveness for the overall organization.
This brings up another few problems:
As an organization grows, some of the results we deliver might be the wrong ones for the effectiveness of the overall organization. They may also not get delivered, for reasons outside of our control. Maybe we needed to coordinate with another team who didn’t have bandwidth, or maybe we had a critical team member quit.
Worse still, if two teams must coordinate together for a goal, and each team targets an average of 70% of overall goal accomplishment, we should expect a 49% chance of accomplishment. Increase the number of teams who must coordinate, and you rapidly diminish the chances of the goal ever being hit. Obviously, as an organization grows, the number of teams coordinating tends to grow too.
Again, even if we do get past the coordination costs with the right goal, the business environment may change, rendering our results useless. Luckily, in these large enough organizations, our larger organization’s general effectiveness can help smooth over a missed quarter.
The Arena of Bullshit
We can do all the right things well, and still be wrong in creative work. The uncertainty of success is part of doing truly creative work.
There are, of course, ways to minimize the risk of doing the wrong things. But what happens when your team delivers the “wrong” results two quarters in a row? Three? Your focus becomes the narrative of the work, and why externalities are conspiring against you. Or about resources you need that you don’t have.
Because, as we’ve seen, there is no way of measuring creative output well and consistently. So creating narratives about why things work, or what went wrong, despite the obvious results in the short term is really the only thing that matters when everyone else is executing well, or if your organization has built itself a monopoly position. Or if you have access to a ton of cheap capital and losses don’t matter. Or…
Consider two teams, one responsible for delivering a critical component for the company. Midway through the quarter, it becomes apparent they need the support of an adjacent team, and none of the work was captured in that team’s OKRs.
Should that adjacent team help? Should they drop their committed results for the health of the overall organization? Or should they protect their department and keep the undelivered results contained in the other team? Should that other team have planned better?
The “Effective” Rent Seekers
My favorite book about the rationality of “ineffective” management is Barbarians at the Gate. It’s the story of how F. Ross Johnson became the CEO of RJ Reynolds through a merger with Nabisco, and then proceeded to massively enrich himself and his friends at the expense of the company itself.
The book goes through the details of how, after failing to deliver results to the stock price, he decided to do a leveraged buyout to take RJ Reynolds private.
His original deal would net him over $100 million for the transaction. (Potentially worth over a billion if revenue targets were hit in the next few years.) By the end of the book, it’s apparent he attempted to extract as much as possible for himself, his friends, and the bankers involved in the deal. His flagrant greed led to the board working on other deals to sell the company, and eventually, nearly doubling his original offer for a purchase price of the company. After the board’s efforts, Johnson walked away with a mere $23 million instead of his potential billion.
For those of us who expect to contribute a net positive with our labor, the story of Barbarians at the Gate flips the model on its head.
Seeing how pure self interest to the detriment of the whole can work in practice was an eye opener for me. How do you effectively defend against hiring these kinds of people?
Larger organizations tend to accumulate these types of people on a smaller scale. Rather than focus on delivering results (which again is difficult(!), might be wrong, and often not easily identified by leadership), these people spend time making alliances and crafting narratives about outcomes instead of delivering. Title acquisition becomes the goal, seeking to maximize the expected organizational rewards, at the expense of direct results, all while working to minimize accountability.
Importantly for all managers, this game of bullshit management is a game to be played and defended against, regardless of your overall strategy and values.
You may genuinely care about delivering results, and they may be the right ones, but without a compelling narrative and web of support, your influence and overall effectiveness are stripped from you. Eventually, without your fellow teams continuing to deliver results, the larger organization suffers, and worst case, eventually dies.
So, Is Engineering Management Bullshit?
We’ve seen that portions of engineering management’s responsibilities are unquestionably bullshit. In organizations of a large enough size, the “ineffective” management persona occupies a certain percentage of the organization. Their efforts and jockeying for political capital and stolen results inflict an increasing cost from the “effective” managers. Operating to mitigate their impact becomes operational overhead. Without leadership holding management accountable, the problem only grows.
So if you’ve wondered why so much of management seems to be occupied by sociopaths, it’s because of this very pattern. The minority of people who deliver results are drowned out by the people focusing on controlling the narratives. And for those who stick around, the operational overhead of the ineffective management only grows.
But there is a flip side. If we allow the sociopaths to capture all the organizational authority and power, there’s nobody else left. We’re stuck in dysfunctional organizations everywhere, with no ability to effect change, other than dropping out of society.
Increasingly, the organizations themselves become rent seeking, rather than value producing.
Keeping Bad Leadership at Bay
It feels as though the costs of bullshit leadership continue to extract growing damages from society, while dodging any real consequences for said “bad” behavior. So how do we minimize their impact, and effect change here in a way that improves the world we live in?
As consumers, we can’t see the costs of good or bad management in the price of our products. We can’t look at two different boxes of cereal and decide to pay an extra dollar for the one with management that doesn’t blame and inflict psychological violence on their employees.
As someone who cares (you do, right?!), it’s your job to run towards accountability and responsibility. It’s also your duty to be aware of the methods and strategies of sociopaths, along with their strategies for influence and blame.
Minimizing your personal costs while maximizing your personal effectiveness allows you optionality. Being the person who does the work this time, gives you the ability to accomplish it better next time. Eventually, you end up a key person, capable of choosing where to invest your specific talents.
Be deliberate about these investments, and they will have a very real impact.
So what is Engineering Managment’s Job?
We’ve touched upon a vague set of goals, but haven’t really settled on what an effective manager’s daily job really is.
Going back to Drucker, a manager’s job is to prepare people to perform, and to give them freedom to do so.
Creative people need psychological safety in order to perform. An effective manager provides this, along with coaching to help reports become more effective versions of themselves. This should then allow them to reap long term rewards.
An effective manager builds trust and space for their reports to execute, along with guidance for where their efforts will have the largest impact, helping them to continue growing in their career.
An effective manager cares for their team, their work, and its effect beyond the immediate organization. They are stewards first, realizing that much is beyond their control.
The ones who care are just trying to keep the bullshit at bay.