Coder Social home page Coder Social logo

manager-profile's Introduction

Engineering Management

Welcome to my README! If you're reading this you may have recently learned that I'm our team's engineering manager. Since communication on distributed teams can be difficult, I created this document as a kind of brain-dump and soul-dump. Hopefully it helps paint a picture of what it might be like to work together.

Table of contents

My philosophy

Empathy

I believe empathy is the answer. To all the questions that really count.

For starters, empathy should be the first answer to questions about how we put all of our other values into practice:

  • Collaboration should spring from empathy for our teammates.
  • Meaningful efforts to address diversity, inclusion, and belonging should spring from empathy for those who have been marginalized, discriminated against, or otherwise under-represented.
  • Empathy for users and others affected by our work should be the animating force for quality and shipping.
  • Positive impact, at both a local and global scale, follows inevitably from the above.

We have all witnessed, in ourselves and others, attempts to put these values into practice via the private, solitary engagement of ego and pride, rather than empathy. We have all probably even experienced some version of success in doing so. Ego and pride can be powerful sources of energy. But they are like rocket fuel, deriving their power from volatility. If well contained and directed, they might take you to the moon, but it's just as likely they'll ๐Ÿ’ฅ blow up your whole enterprise.

Empathy, on the other hand, is a deep, stabilizing, liberating, creative, sustaining force. It derives its power not from consuming and exploiting elements in its environment but from expanding and multiplying them. As the walls between our experiences fall away, we begin to understand at a visceral level that our successes and failures, our livelihoods, our productivity and creativity, are inextricably linked, and shared.

Unfortunately, empathy is not easy. Especially in charged situations, when we feel our livelihood or esteem is at stake. Most of us don't have abundant natural reserves of it to draw from. But the good news is that empathy is a practice. It's not a quality that you either have or don't have. We can cultivate it.

Service

A traditional org chart shows the CEO at the top, with the rest of the executive team in the next layer, middle managers in the next layer(s), and individual contributors in the bottom layer. This may be a coherent view of accountability relationships, but it is woefully inadequate as a representation of value.

If you flip the chart upside down, so that it shows engineers at the top (and maybe users in a dotted layer above) with layers of supporting roles below, you can get a better view of the value of engineers and engineering. Organizations like ours begin and end with engineers (which is not to suggest that there aren't tremendously important things happening across the rest of the organization). Additional layers evolve to support the needs of engineering teams as they grow to sizes that make self-organization and advancement difficult or impossible. I believe this to be true all the way down to the CEO, who serves the engineering org by keeping ideas and financial support flowing.

With that in mind, I consider one of my main responsibilities to be to act as the first tier of support for you and our team. If I'm not able to resolve an issue to your satisfaction, or I'm otherwise not providing the world-class service I've promised, it's time to elevate to second-tier support, my manager.

But what does service and support mean exactly? See below.

My role

Projects need management, teams need coordination, people need connection. My typical role on a project is to be accountable for all three while distributing day to day ownership for each across our whole team. I'm succeeding maximally if the following happens:

  • Projects ship on time at a high level of quality
  • Our team is working together well in a highly collaborative fashion
  • People feel safe, respected, productive, engaged, and empowered

Here are some typical ways I might go about this:

  • Trust from the start that you are committed to doing your job the best you can
  • Listen to you carefully every time you talk or otherwise communicate
  • Over-communicate with you, embracing redundancy, so that you are never left wondering
  • Work with you to figure out reasonable scopes of work and reasonable deadlines
  • Immediately address any sources of dysfunction or toxicity across our team and organization
  • Do whatever I can to help build a culture where people are responding to ideas rather than to the way those ideas are articulated or other interpersonal tensions
  • Help identify and remove anything else that is getting in your way
  • Give you timely and candid feedback in the form of appreciation, coaching, and evaluation, and encourage others to do the same
  • Amplify your ideas and work so that the rest of the team and organization know about them
  • Be on constant lookout for challenges that will take you and the rest of us to the next level, both in terms of learning and career advancement
  • Be on constant lookout for opportunities to slow down

My values

"Help one person at a time, and always start with the one nearest you." -Mary Teresa Bojaxhiu

In no particular order:

  • Radical, non-hierarchical candor
  • "Beginner's Mind" -- A deep commitment to learning from every person and every experience regardless of our seniority, training, or life experience. (Do not make the fatal mistake of thinking a person who is committed to this practice is ignorant or aloof. Doing so sacrifices a culture of curiosity and collaboration in favor of one of fear and egoism.)
  • The safety of the marginalized over the hurt feelings of the privileged
  • Efficiency without dehumanization (but otherwise automate all the things)
  • Mistakes are good and important
  • Mental health & well-being > productivity & collaboration > everything else
  • Work hard, play hard, rest hard, repeat

My Expectations

I expect you to put forward your best effort each day. My job isn't to drag our team over the finish line. It's to help everyone do their best work. If we succeed in doing that, everything else will fall into place one way or the other. I know that "best effort" translates to different things on different days. There isn't a person on the planet who fires on all cylinders every day. Having said that, if you find yourself in a dissatisfying pattern of not being able to give your best, let's talk about it sooner rather than later!

I expect you to help our fellow teammates if they need it. Our team is not fully functional if everyone is working independently in parallel. No matter how much knowledge and experience each of us has, there will be lots of times when we need help, and lots of times when we have help to give. Embrace help and helping. They'll be the most valuable and meaningful experiences we have as a team.

I expect you to be respectful of one another's lived experiences. There will be no room on our team (or our organization) for bullying, belittling, or disrespect of any kind. That we are different from each other, sometimes in profound ways, is a source of tremendous strength. But it can also be an interpersonal challenge. It's part of my job to help us bridge different communication styles and cultural differences, but I can't do it alone. I expect you to be committed to helping find the most respectful and productive ways for all of us to work together.

I expect you to use as many or as few emojis ๐Ÿ˜„ as you like. Also, do or do not capitalize your sentences, as you like. There is no style guide. As long as you are getting your ideas across non-violently, follow whatever conventions you like!

Meetings ๐Ÿ“†

I have strong feelings about meetings involving more than 2 people. There are often too many of them. They often lose focus, wasting at least some portion of attendees' time. They tend to cater to extroverts and the most strongly opinionated attendees. The list goes on.

I don't know the solutions to all of meetings' problems (and I would love to hear yours), but here are my thoughts for now:

  • We start with no scheduled meetings (except 1:1s), and only add them in when it becomes clear we need them. Assume async is sufficient until it's not.
  • Every meeting should have an absolute minimum of required attendees. Optional attendees can be flexible.
  • Every meeting needs a clear and detailed agenda, included as part of the invitation. Deviation from the agenda is natural, but...
  • Most meetings should be moderated to avoid the caucus problem. Sometimes that will be me, sometimes another team member.
  • Repeating meetings should be scheduled for 6 weeks at most. At that time, we can decide as a team whether to schedule them for another 6 weeks, drop them, or tweak them.
  • Notes are critical for all but the most casual meetings. Even if we never look at them again. Taking turns being the note-taker not only helps ensure that no one person shoulders the responsibility every time, but also allows for different perspectives to emerge about key take-aways.

I would be very excited to hear your thoughts about how to improve meetings in general, and our meetings in particular!

1:1s

The primary goal of recurring 1:1 meetings is to give you a dedicated channel every week (or as frequently as possible if we can't do it that often) to talk about absolutely anything you want to talk about.

For our first 1:1, I will ask specific questions about you, your hopes and dreams and more. On occasion after that, I may give and/or ask for feedback, or otherwise ask if we can put a relevant subject on the agenda. But the vast majority of the time I will follow your lead.

Do you want to talk about your career, vent about a particular task, philosophize about the universe? I'm here for you.

But you also don't need to wait for our scheduled 1:1 -- /call me anytime.

Other scheduled meetings and time slots

TBD (see above about not scheduling meetings until we know we need them)

Zoom interface guide

zoom interface guide

1: Lipton-esque black box

I work at a co-working space that doesn't have much in the way of options for private conversations. This is one of two phone booths, both of which are lined wall to wall with black felt. I feel like I should be performing beat poetry or talking about an Apple product.

2: Grumpy/worried resting face

In this picture I'm neither grumpy nor worried. Unfortunately, this is just what my face looks like all the time. I'm working on it.

3: Shiny head and face

These phone booths are not well ventilated. Especially in summer or when the co-working HVAC is out of balance, I start to shine. (TBH the bald head looks like this pretty much 24/7.)

4: Sporty clothes

I'm not athletic. I'm actually the opposite of athletic, which is why I wear work-out clothes to the office every day. It lowers the barrier to working out, which I try to do as part of an outdoor exercise group every day from 12:45-1:15pm ET. If I have to change clothes to exercise I'll just find an excuse not to do it.

Feedback

Feedback is the lifeblood of our team. Without it, we wither up and fall apart. I will do my best to constantly over-communicate with you to try to make up for the absence of the kinds of communication that more naturally happen when working together in-person.

I also believe it's important to give feedback in a timely and productive way. For example, I will not wait until formal performance reviews to give you feedback about your performance. Performance reviews are a time to summarize everything we've already talked about, not to review performance for the first time.

I hope you also won't wait to give me feedback of any kind! Here are some low impact ways to get and give feedback:

  • 1:1 Meetings / @glortho: A great way to get/give feedback every week!
  • Daily stand-up: Our team will decide whether these should be sync or async or alternating, but no matter what this is a great place to get/give timely feedback.
  • Polls and micro-surveys: We will occasionally have very short, optional, polls and surveys in Slack. Some of them will be anonymous.
  • Skip-level: If you don't feel comfortable giving me feedback for any reason, please consider talking to my manager. If you two haven't already met, we will schedule an introductory 1:1 to open up the channel of communication.
  • Other options: If you don't feel comfortable with any of the above options, consider either talking to a teammate who could pass the feedback along, or to @dolcetta, our HR Business Partner.

I know it can be difficult sometimes to give feedback to managers or to people you don't know very well yet. I will do everything in my power to make it as comfortable as possible!

Availability

I generally work from 8:30am - 4:45pm Eastern Time.

As a general rule, I will have everything set to "Do not disturb" outside these hours.

Except in off-schedule situations like dotcom oncall rotation, I do not expect you to respond to pings or otherwise be working unless it is your normal business hours in your time zone.

I strongly encourage you not to work on weekends or off-hours, unless it's a personal passion project. Burn-out is far easier to get than to get rid of.

P.S. It's probably not a bad idea to stop working at least an hour early on Fridays ๐Ÿ˜„.

Some notes about notifications ๐Ÿ”Š

  • I recommend we all set everything to "Do not disturb" or otherwise logout when we're not working, rather than hoping people will only ping us during our work hours.
  • Even during work hours, consider muting all notifications for large chunks of the day. Slack and email and GitHub and lots of other apps will be trying to get you to pay attention to things that you probably don't need to pay attention to, at least not immediately.

My issues

I will fail in ways both expected and unexpected. Here are some of the expected ways (that I'm working on):

  • I say yes a lot, including times when I should say no. This can stress and burn me and other team members out.
  • I'm not good at rationing social energy. I'll be so excited to see you or to talk about something interesting that I'll erupt with energy for a little while before getting totally depleted. It can come across as personal to the people I'm with when the depletion happens but really I just need to go be alone for a little while to recharge.
  • I'm socially awkward sometimes, which can make people uneasy. It's not you -- it's me! My brain often has trouble chilling out enough to allow graceful interactions to unfold.
  • Related to ๐Ÿ‘†, in an attempt at radical candor I will sometimes speak my truth in a way that is inelegantly blunt or otherwise clumsy.

Ways you can help:

  • Say no! If you feel like I'm not pushing back enough on your behalf, push back on me.
  • Remind me to breathe and to take breaks.
  • Remember that my whole job, and one of the things that I care about most in the world, is helping you be as successful as you can be. If I'm not doing that, please tell me (or my manager)! There's a good chance that it's my own issues that are the problem. I will not tolerate my own baggage getting in your way.

Conclusion

Thank you for slogging through my very long README. Please feel free to open a PR with any suggestions!

Before I go, I want to leave you with one last thought:

We're about to embark on a project together. On the surface, it's probably going to be a project designed to deliver a product or a feature. But that's its design, not its function. If you peel back the various layers of product, engineering, organization, career, and so on, you'll find its true human purpose there at the bottom:

Each of us is trying to be happier and more successful, and in some cases likely struggling to do so. One of the reasons it's hard is because we've been steeped in a culture of DIY, strong self-reliance, and independence. Those are helpful, but not sufficient. We can't do it alone.

This group of people, our team, is probably going to come together in this configuration only once in our lifetimes. How will we use this time to help our fellow humans, and to let them help us?

Acknowledgments

Big shout-out to @dmleong for the idea, inspiration, and format for the above!

manager-profile's People

Contributors

dmleong avatar glortho avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.