A few weeks ago, when I was in San Francisco, my good friend @mikeal asked me to sit down with him and do an informal interview by the bay. When he asked me, “What’s the hardest part about moving from the position of being a developer to being a CTO and a manager?” this was my response:
At this point I’ve been “managing people” at Paperless Post for more than three years. We’ve grown from a team of 5 to almost 55 as of writing this, and my team, the Dev Team, makes up half of that. The act of working with people takes up a large majority of my time. In the early days it was hard to reconcile my own desire for productivity with that of my team, and I’m not going to lie that I still have days where I want to just put on my headphones, and write some fucking code and not talk to people. In the past year or so, I realized that I was always searching for big challenges, and there in front of me was the biggest challenge of all, People.
People suck, it’s true. I don’t want to hide the fact that a lot of people in this world, this country, this city, are not really pleasant and wether or not their good people or not, I don’t really want to deal with them. I also want to be clear, that while I consider the people I work with some of the best people on Earth, they can still be cruel, annoying, and downright difficult sometimes. I’ve started to believe that managing people isn’t trying to change them into better people, or even try to mold them to some ideal “EMPLOYEE” – managing people is the art of dealing with the fact that every single person is a special snowflake and helping them work efficiently within the confines of who they are.
This is fundamentally different then how I thought about this in the beginning. When I left my first job, where at the end I was “managing a small team”, I was shooting like an arrow aimed at doing the opposite of everything I thought my former bosses did wrong. The one thing I didn’t see as wrong, though, was this idea that People are “Resources”. This in some way implies that different developers, designers, etc, are interchangeable – wether or not they are capable of all doing the same thing you can shuffle them until they fit. While this is a lovely idea, it’s truly fantasy, a vision that a manager at a nice desk dreamed up so many years ago. When you’re working with people who spend their entire days thinking, its beyond just fitting a square peg in a round hole – its trying to shove a thinking human being in a hole of any size – it simply won’t work. The symptoms of this are people who are tasked with the wrong work, spend a lot of time fighting back, and are generally just not getting much done.
At this realization my work changed into “So if they don’t fit without shoving, how can I change my approach to guide them into the right place?”. Ah, the classic art of Inception. This works, sometimes. You’re not changing People, you’re still thinking of them as Resources, as puzzle pieces. However, the approach is different. You subtly direct and assist people into position. It takes a large amount of effort from the manager side, as you spend a most of your time planting ideas, checking in, and generally making gentle pushes in the right direction. This worked for me. For the most part, it worked for our team, too. People were convinced that they were working on the right things, we became generally more efficient, and we were able to grow. There were still outliers, though. People who, no matter how gently we nudged, they were just not getting things done.
Every 6 months, at Paperless Post we go through an internal review process where peers write reviews of peers, managers, and themselves, and then managers have one-on-one meetings with the people they manage. For me, this is a lot of people. This round (which is taking place this week, which is most definitely why this topic is on my mind) I’m meeting with 18 people. It’s a lot of talking, and for me is very emotionally draining. At its core, It’s because I care a lot about these people that I’m responsible for, and want to see them succeed. I’m lucky in that most of these conversations are very easy. Every round though, there are at least a couple hard conversations.
What I’ve realized now, in dealing with these wonderful human beings, is that there is a clear limit to inception, and when as a wrangler, you’ve reached that limit, its important to be decisive. For me the challenge is being firm in what needs to happen next, but the options are clear: Either this person is in the wrong role and there is a better place for them inside the company; They are having difficulty working with people and need direct feedback that they need to try another approach; or sadly, theres not a place for them in the current company. This is hard for me, because I want to believe that good people can work on any problem, but in the end of the day, the company has a goal and a vision and if they can’t help achieve that in the current set up, then it’s best to be clear about that, and make the break.
The point of all this, is to treat people like people. People are so much more complicated then any other person can actually reason about, and teams of people just multiply the variables. Then work and projects and the pressure that comes along with that, just adds another huge set of factors. I’ve learned a ton being a manager the past couple of years. It’s still very challenging and there are new wonderful and crazy things every day. I get to see young developers grow into seasoned pros and feel like I had a part in it. I get to see them mentor someone else, and get to feel it doubly. And its because I’ve spent the time to know these people, to help them, to push them, that I get to really take any credit for their and this company’s success. In this world the only way to work with others is to know them, try not to assume anything, give them feedback, and figure out how you, as two special snowflakes can be a team.