My Management Philosophy

Trust your smells.

Updated as of February 2023

I wrote the original version of this document in January 2017 when I moved into my first formal management role. While I don’t update this page often, it’s been interesting to see over the years how many of these points have remain unchanged since that original authoring. I don’t think I’ve actually deleted anything, but I’ve added a few additional points.

The longer I manage people/teams the more I conclude that my management philosophy is centered around two key themes: psychological safety and technical rigor. You can have each without the other, but the pitfalls are significant. Experience has shown me that it’s possible to have both, and the results are amazing.

My motivations for writing my management philosophy are transparency and accountability. Whether you report to me directly or are a member of a team that reports through me, you deserve to know, explicitly, what I expect from you and what you can expect from me. I think there’s value in that clarity.

The content of this post is nicely complementary to my post on Choosing the Management Track.

On work, generally

  • “Culture” is what we do. The thousands of micro interactions within our team and organization - attitudes, decisions, and behaviors - are our culture. Writing out a list of values is easy and fast. Creating and persisting a healthy, collaborative and just culture is hard, intentional, and a long game.
  • Push through friction. Friction is the crossroads you’ll hit, over and over again, where you’ll have to decide for yourself if the steps necessary to complete a task are worth it. When there is no convenient answer on how to move forward. When you may have to fix 10 things you weren’t responsible for to complete the one thing you are responsible for. Making the best engineering decision will often have friction. There’s often the correct path and the easy path. Take the correct path, even if it’s hard, because it ultimately leads to better outcomes.

Advice to managers

  • Management, at its core, is a moral exercise. The counterbalance to formal organizational authority is the implicit responsibility leaders have to act justly. Check your biases regularly. Seek diverse perspectives from diverse groups of people. Ensure that the reception of your words and actions are consistent with your intentions. Great leaders remain accountable to their teammates, who are entrusting them with their careers and livelihoods. Take that trust seriously everyday.
  • A team is only as good/productive as its ICs. Effective management is about putting those ICs in a place to be their best selves — adding (or removing) processes, identifying opportunities for growth and exposure, and creating, communicating, maintaining and validating a strategic vision around the team’s work. Effective management cannot make a team of ineffective ICs produce high quality work. But a team of highly effective ICs will be capped, both in the velocity and quality, by ineffective management.
  • Engineering management is a technical job. I am not asking you to code - there are sibling career tracks for a reason - but if you are not technical enough to tell the difference between a strong and weak technical solution you will ultimately do your teams a disservice. You will be a poor judge of engineering talent. You will be unable to justify decisions around priority. Keep your skills sharp by digging into details: review RFCs, actively engage in discussions of technical strategy with senior engineers, read and update documentation, etc. Technical credibility is a huge component to the trust an engineering team has in its leadership.

On being your manager

  • My goal is to empower you to be your best self, keep the team strategically on track to business outcomes, help you reach career-related goals and handle higher level logistical details (budgets, meetings, JIRA, etc) that keep you productive and fulfilled.
  • I’m not interested in micromanagement. I believe in a culture of discipline, meaning we are disciplined and mature professionals that can be held accountable to delivering tasks without overbearing oversight. I find micromanagement as exhausting as you do.

On our work as a team

  • Shipping regularly is the most important indicator of a healthy team. Toxic teams rarely ship, nor do teams with insufficient process or maturity. At the end of the day we all work in this industry to ship impactful products to millions of customers. Let’s make sure that we all understand that the practices and culture we adopt are in service of a team that ships high-quality work.
  • I believe in transparency, integrity, and psychological safety among teams. Google spent years and millions of dollars trying to uncover what made their most productive teams successful. TL;DR: it was being real/genuine with each other.
  • I believe in “smells.” When does a process or project or task seem “off”? If something smells, please tell me. That’s your taste/experience/instinct talking, and that’s why we hire you, invest in you, and value your contribution.
  • I believe in focus. We’ll always be juggling multiple tasks at a time, but we must be diligent in identifying and shipping our highest priorities. This is why exercises like goal-setting, OKRs and VMSOs (Vision Mission Strategy Objectives) are important. I would much rather ship four things in six months than half-ship eight things in the same time frame.
  • I believe in accountability and ownership. Let’s be proud of what we produce. If something breaks and we own it, that’s our reputation. That’s our work. Being accountable means that it’s our responsibility to respond with empathy and action.
  • Bias towards action over critique. The tests are slow? CI is flaky? It’s fine to vent about these challenges, but venting alone solves nothing. Doing the work to fix these problems will not only earn everyone’s gratitude, but serve as a positive cultural example for your teammates to emulate.

On working with others

  • Let’s be marked by maturity in our work and interactions. My thoughts on this are well encapsulated by John Allspaw’s blog post: On Being a Senior Engineer
  • I believe in data-driven and transparent decision making. You may notice that something is a bad idea and want to comment on it; great! Your sense of smell is important. But explaining the rationale of your decision — including constraints, domain knowledge, long-term effects, etc. — is a much more meaningful and lasting means of convincing someone else of your viewpoint. It also opens a dialogue around the validity of your assumptions.
  • Cultivate your backchannel. Invest in meeting and developing professional relationships with your coworkers. Not only will it make this a better place to work, but the backchannel is often the best and fastest way to get support or context from across the organization.
  • Pick your battles carefully. Stand up for what you believe in, but know that fighting battles you don’t care about will have diminishing returns on the battles you do. I love this blog post about picking your battles: The sliding scale of giving a fuck
  • Assume best intentions. All people and teams have external factors (roadmaps, deadlines, stresses, personal circumstances, etc.) that impact their priorities and decision making. Gathering appropriate context around those factors is the fastest and most enduring path to a meaningful solution. Sometimes you may not have access to the full scope of those factors. Studies show that it takes 5 positive interactions to overcome a single negative interaction (HBR article, PDF). Regardless, the old adage holds true: “be kind, for everyone is fighting a great battle.”
  • I don’t believe in “brutal honesty.” Brutality is never a virtue. Hard conversations are sometimes necessary, but tact is always necessary.
  • Inclusivity and equality in our team is important to me. If I see you behaving in a way that is discriminating or disparaging of any particular group (e.g. gendered language, stereotypes, inequitable treatment), I will address it. You should feel comfortable to do the same for me and your peers.
  • Celebrate a job well done. When people do something great, let them know. This could be as large as a complex new feature to as small as a well-written commit message or email. A celebratory culture is built one interaction at a time.

On self-awareness

  • I believe in Daniel Pink’s ideas on our intrinsic motivators: autonomy, mastery, and purpose. I encourage you to continually revisit how those three motivators intersect in your role and be proactive in identifying opportunities to expand them.
  • Everyone has bouts of imposter syndrome. Imposter syndrome is a struggle, but you would not have been hired if you were not capable of doing your job. I have no doubt in your abilities to perform the responsibilities of your role.
  • Burnout is real and its causes are not only limited to hours spent working. Take care of yourself and please tell me when you’re feeling overwhelmed or unhappy. I’d rather have you leave early/take a break/switch tasks than burn out. You are valued more than your job title. Our success as a team is a long game and burnout undermines that success.
    • Caveat: Sometimes we’ll need to really churn on work to meet stricter dates, but know that’s the exception rather than the norm. We’re not a culture of workaholics.
  • Sometimes work is boring or unglamorous, but a sign of maturity is fighting through the slog when you need to. Sometimes it’s busy work. Getting the little things out of the way will enable you to work on the big things.
  • Be proactive about asking for help. If you need help or clarity you are always able and encouraged to ask for it, but asking for that guidance is on you. Do your best to understand the balance between powering through something and spinning your tires (and if you’re not sure of that balance, I can help). Remember that in the end you ultimately own having full context of, and delivering, your tasks.

More posts

Previous post

Ten Years Later

Next post

Creating an Accessibility Engineering Practice