Making software and software development teams. Mostly the people parts.

Dimensions of Engineering Management Focus

Task, team, individual

No wrong answers here except ignoring one or two of these. Every EM has a preference. One of the things you want to find out when interviewing EMs is when the chips are down, does the candidate index highest on task, team or individuals. Case studies can be really good here.

Tech, people, systems

Too much tech is an obvious red flag... unless it's a tiny org that really doesn't need an EM yet. Some orgs create roles where the tech is entirely out of the equation, and the EM is a pure manager of people. Even then, time should be allocated for systems of hiring, people management, review cadences, performance criteria.

Now, next, later

This is often situational. One trap is staying focused on the Now once the incident is solved, the last minute report is done, the spend is back under budget. Another trap is obsession with later at the expense of next. Some time for long term vision is essential, however it's the next that will move the needle, and stacking a few solid quarters together under a loose vision often works a lot better - and is appreciated much more by the business - than looseness on the quarterly level with a strong but always further-out vision.

Ground level, tree tops, mountain top

More traps here. Punting the ground level to your seniors and leads can work if you've developed high trust. I've worked with a few leaders who refused to leave the mountain top... I've never seen that work long-term. The only way I've seen it work is when EM is a quick stop on the way to higher rungs, directorship or beyond. Stick in the EM role for a year or more without at least coming down from the mountain and at best you'll have a team that nods along but isn't listening to half the words you say.

Working in the org vs working on the org

The EM who takes an on-call shift or puts in a toil PR understands the pain of poorly constructed systems or flaky CI. Not to mention winning the respect of their team. Especially relevant for new EMs coming into an org. A lead who's been there, done that and has their name all over the blame might be able to get away with spending full time working on the org... if they can resist the temptation.

Second Lap

Talking to a candidate the other day who described himself as "being on my second lap", I thought, yeah. That resonates. For me, this is what my career looks like so far after over 20 years in tech:

  • Studied Computer Science at SDSU
  • Worked as an IC and then later as a Director at a retirement planning brokerage
  • Started businesses, cofounded a seed-funded startup, Startup CTO
  • Then back to IC as modern JavaScript, React and Chrome made building for the web fun
  • Enterprise Principal Engineer, doing architecture and systems designs
  • Then back to my true loves: People & startups. Senior EM at a Series A turned Series B healthcare research rocketship

There was a time when my age worried me. Sometime around my mid-30s: Silicon Valley was the hot show, and I was very concerned about aging out and how valuable was a 40-something technologist, anyway?

As turns out: Very much so. Every day I find myself referencing and making decisions from something experienced along the way. Whether it's people management mistakes, making a poor hire, or microservice complexity explosion, having been there, done that gives me the kinds of sniff tests that often lets me smell trouble long before anyone else sees it.

This kind of career path wasn't talked about when I got into industry. Back then the thought was, well, it's one way up the ladder. And if you ever fall off, then you're stuck at the bottom for good. Not the case anymore.

Will I go for a third lap? It's hard to say, but at this point my lean would be why not. I've never lost the deep love for programming and for building that I've had since childhood. Building orgs is fun, and I'd be perfectly happy to keep doing this. And... if an opportunity comes up someday to focus again on writing code? A third lap sounds like a good challenge to me.

Time Is The Toughest Dimension

Along the way, you learn to reason about systems along two axes:

Vertically: the tech stack, generally from persistence forward to a UI.

Horizontally: the capabilities and experiences built from said tech stack.

Time is the third dimension, and it's the hardest to reason about. Spending time reading the blame is one way. Talking to people is another. Usually somewhere in the intersection of those written and oral histories is a clear picture of how we got here.

The superpower is in being able to tell a story, based on trajectory and velocity, of where we might go, and where we should go.

My experience is that most ICs and even many leaders will struggle to see the time dimension clearly.

An Error Can Be The Friendliest Message

If there's road construction ahead, the friendliest alert is a warning: Heavy traffic, take an alternate route.

I can take this information and action it, or I can take it as advice and override it. Because I need to go to a store along the way. Or I live along the road but before the area I know the traffic is. Or I'm just feeling lucky, besides those signs are sometimes wrong and Waze is showing it's fine.

If, on the other hand, there's a giant chasm in the road ahead, the friendliest alert is a big sign saying DO NOT ENTER.

I can take this information and action it, or I can keep driving and fall into a giant chasm like the old Saturday Night Live skits with the driving cat.

Sometimes when designing an interface, we're hesitant to throw an error. It doesn't strike us as user-friendly. Sometimes, though, when the road is out? A big DO NOT ENTER sign is the friendliest thing to do.

Joining AllStripes

Today is an exciting day for me: I've started a new role as Senior Engineering Manager at AllStripes, a healthcare startup unlocking new treatments for people with rare disease.

Choosing AllStripes for my next adventure came down to thinking in terms of a few frameworks. Notably, Will Larson's thoughts on a 40 year career in tech guided me. Working at a high growth org inside a big company like Home Depot enabled me to optimize for meeting lots of people... I met hundreds if not thousands of technologists in my 5 1/2 years with Depot. AllStripes, on the other hand, is small enough to be on a first name basis. Meaning I can be Jon O or even just Jonny or Jon again, rather than Jon Oropeza who's one of many engineering leaders named Jon or John. What I'll be optimizing for at AllStripes is rapid learning and meaning from the mission we're on. I've been thinking all year about more meaningful work, something towards the heart of the hard problems I see facing the world. Working to advance healthcare research is a great fit in that regard.

The path to AllStripes was through a focused search that I undertook this fall, and following something similar to Jason Crawford's template I was able to target roughly ~30 orgs, mostly in that Series B - Series D range, each with an appealing mission. I met with the 7 out of ~30 that had openings for engineering leaders. I got more than one offer, and it was AllStripes that won my heart, even though we're earlier and smaller than I'd initially intended my next opportunity to be.

I have a lot of thoughts on leaving Home Depot, if you're interested I collected them in a Medium post that seems to have resonated well. Actually, looking at the reading stats, this might be one of the most read things I've ever written, probably up there with times when my work was published in various San Diego area periodicals back when I was actively writing fiction and poetry.

I'll likely be pretty quiet through the Holidays, as I'll be focused on my first 90 days and getting settled into the team at AllStripes. Next post should be some thoughts on planning for 2021, and in particular a collection of the frameworks I use to retro the year that was and plan the year that will be.

In the meantime, if you're interested in working with me either again or for the first time, AllStripes is hiring.