(Justin ⇒ Jasdev, 9/8/20)
> Are there any tendencies you’ve been trying to unlearn lately? > > — Jasdev, in letter #15.
Ha, is there ever!
I’ve told you this over text but I think this is the first time I’ve ever mentioned it publicly: I’m currently trying my hand at being an engineering manager for the first time! My manager and I are both referring to this as an extended audition on both party’s parts: on his, to make sure that I’m a right fit for the team, and on mine, to make sure that the role is the right fit for my personality.
My first step as I moved into this new role was to go on a bit of a listening tour with pretty much every single manager I’ve worked with or I know (both at Stripe and beyond). There were a couple interesting anecdotes here and there, but the most common refrain I heard was to stop thinking about things like an individual contributor.
“The failure case,” a friend and former co-worker told me, “is that you try to get things done like an engineer would. You can’t try and build your way out of anything as a manager, and every time you try to exercise your skills as an engineer you’re potentially doing a disservice to someone else on your team.”
You wrote a bit about this in Distillations, too! Engineering is dealing with a completely different set of stimuli and feedback loops than management:
> I didn’t realize how much I leaned on the tight feedback loop of engineering. Working at the level of technical abstractions lets me write code, compile/run it, and, boom, feedback. The social abstractions involved in management move glacially in comparison. It’s easy to rationally recognize the value of the silent orchestration—gardening careers, building teams, and evolving processes—that managers perform. Yet, I found myself ending each week running from meeting to meeting, feeling as if I got no “Real Work” (heavy air quotes) done.
Rands in Repose talks about this complete context switch a little bit, too:
> Management is a total career restart. Now, if you’re evolving into the career, this will be less obvious, but if management just landed in your lap, realize that while you’re in the same game, it’s a totally new game board, and you’re at square #1. You will use the skills that made you a great engineer, but there’s an entirely new set of skills you need to acquire and refine.
I’m in a weird position in that I’m managing a team that I have a lot of technical context on: I’ve gathered two and a half years of tribal knowledge in this team, and its easy to try and volume-shoot my way out of certain blockers: a one-pager here, a quick set of PRs there, and that makes my team all the better-equipped for the week, right?
(Especially on days like today. I am writing this at 9am: from 10am to 5pm I have six hours of meetings. My brain has not yet developed the endurance for such days.)
I’ve been setting up some guard rails to make sure I don’t regress into what are now considered bad habits. One such rail: I took aside the staff engineer on my team, whom I trust, and made him promise to yell at me and reject any PR I send unless it is related to run or an incident. I think this will help a little, but the external pressure will need to become internal pressure.
The other side of things is that I find myself with more engineering energy lately for Buttondown, which is nice after having a relatively quiet August in terms of my personal projects. Day-to-day coding is slowly morphing from “this is how I derive my day-to-day sense of self-worth” into “this is a pastime I heartily enjoy and by which I am satisfied”, which feels healthy. (Though I wish the metamorphosis has a tad more haste to it, is all I’m saying.)
You wrote two months ago about closing Xcode every evening with a sense of peace, which I nodded with at the time, but one element that I didn’t think about that you have to deal with is that you’re carrying the load not just as an engineer but as an owner of the product.
How are you balancing that? Do you find yourself split between those two selves at all?