The first few years of management for me were a wild frenzy.
Every situation was brand new, and I puzzled through each
decision from the ground up. Over time I developed some
rules of thumb and guidelines, but only the experience of
managing managers has truly refined my thoughts on management.
When I started managing, my leadership philosophy was simple:
give everyone an explicit area of ownership they are responsible for,
reward and status should derive from finishing high-quality work,
lead from the front, and never ask anyone to do something you wouldn’t.
These have served well as a foundation, but by applying them repeatedly over time and circumstance,
I’ve seen them fray on the edge cases. Learning forward, I’ve started to weave in
a number of additional ideas in the vain quest for a unified theory of management.
An Ethical Profession
At its core, I believe management is an ethical profession. To see ourselves,
we don’t look at the mirror, but rather at how we treat a member of the team
who is not succeeding. Not at the mirror, but at our compensation philosophy.
Not the mirror, but how we pitch the roles to candidates. Who we promote.
How we assign raises. Providing growth opportunities. PTO requests.
We have such a huge impact on the people we work with–and especially the
people who work “for” us–and taking responsibility for that impact is
fundamental to good management.
This doesn’t always mean being your team’s best friend. Sometimes it
means asking them to make personal sacrifices, letting go of a popular
member of the team, or canceling a project the team is excited about.
It’s remembering you leave a broad wake, and that your actions have a profound
impact on those around you.
Strong Relationships > Any Problem
I believe almost every internal problem can be traced back
to a missing or poor relationship, and that with great relationships
it is possible to come together and solve almost anything.
Technical disagreements become learning opportunities to everyone.
Setbacks are now a shared experience to gel together as a team.
Even with great relationships, there are still real challenges!
You have a limited budget for giving raises and can’t satisfy everyone.
If your customers don’t love your product, camaraderie can’t pay salary.
Some technical problems are genuinely novel without obvious solution or where
the obvious solution is cost prohibitive.
That said, I try to start debugging problems from the relationship angle,
and find the technique pretty effective.
People Over Process
A few years back, one of the leaders I worked with
(I think it was this guy),
told me, “With the right people, any process works, and
with the wrong people, no process works.”
I’ve found this to be pretty accurate.
Process is a tool to make it easy to collaborate, and the process
which the team enjoys is usually the right process. If your process
is failing somehow, it’s worth really digging into how it’s failing
before you start looking for another process to replace it.
As you start honing in on the problem (maybe it’s you!), honestly ask
yourself if a different process would address it, or if you’re moving
around the food on your plate. My experience is that a different
process probably isn’t the solution you’re looking for.
Do the Hard Thing Now
Often in this profession we’re asked to deal with difficult situations.
No set of rules can guide you safely through every scenario,
but I have found that postponement is never the
Instead of avoiding the hardest parts, double down on them.
If you have a poor relationship with your manager or a member of your team,
spend even more time with them. Meet with them every day or have dinner with them.
If two engineers are struggling to work together, before you separate them onto
different teams, get them to spend more time together trying to understand each
other’s perspective (some obvious exceptions here, but if two people truly cannot
work together, is there something else there you’ve been avoiding dealing with?).
As a leadership, you can’t run from problems; engage
’em head on.
Your Company, Your Team, Yourself
Lately, I’ve come to have something of a mantra for guiding decision making:
do the right thing for the company, the right thing for the team, and the
right thing for you, in that order.
This is pretty obvious on some levels, but I’ve found it to be a useful thinking aid.
First, all thinking should start from a company perspective, and you should make sure
that what you’re doing is not creating negative externalities for the company or the
other teams you work with. For example, you’re really excited about trying out a new
programming language in a project, but also make sure you’ve considered the additional
maintenance cost for the rest of the company.
Next, make sure your choices are being made on behalf of your team, not on your own behalf.
This might mean pushing back on a timeline which would force your team into a death march,
even though it’s uncomfortable to have that conversation with your manager or your product
Last in the list is yourself, but while I do believe you should generally put yourself
last, it’s also a reminder to remember to “pay yourself.”
Burnout is endemic in our industry, and a burned out manager often leaks onto their team.
Give as much as you can sustainably give, and draw the line there.
Think for Yourself
So much of what we take for granted is cargo-culted instead of done with intention.
Early in your management career, you’ll have to figure out how to approach common challenges:
interviewing, performance management, promotions, raises. It’s totally alright to start out by
following what you see around you, learning from your peers is critical to success, but it’s
also important to be honest about which of your practices are truly best practices and which
you’re following on autopilot.
The recent focus on programming interviews
is a great example. Most hiring managers, myself certainly included, are aware that they’re
conducting mediocre interviews, but over time it’s easy to lose that perspective.
You can’t fix everything at once, so you’ll often be doing something mediocre
at any given point in time, but remember to come back and improve it when you can (e.g.
paying down your management debt).
As a final thought, the best management philosophy never stands still, but–in the model of the
to evolve as it comes in contact with reality. The worst theory of management is to not have
one at all, but the second worst is one that doesn’t change.