This article is to help recruiters, hiring managers and myself have a better idea of the kind of places I’d like to work.
The short version: A job where reliability and performance is important, at scale. Ideally remote. No tiny startups. No gambling, predatory fintech, or blockchain. I value D&I, emotionally healthy teams, and good management.
While I’ve built a lot of features, I’m most passionate about making existing systems faster and more reliable. I love working at scale, and I care about how my services run in production. Digging through code that gets run tens of thousands of times a second is an exciting responsibility. I want to be on-call for the services I own, as long as I’m empowered to work on their reliability.
I’m more excited by maintenance than rewrites. In my experience with systems that are opaque, slow, or unreliable, small pragmatic changes can go a long way. Sometimes a service does need to be rewritten (for instance, if the original requirements have drastically changed the ideal architecture), but that kind of work should be done reluctantly.
I want the set of services I own to be small enough that I can focus on them properly. I think good engineering work requires maintaining a fair amount of context on the technical details of each project.
Organization and culture
I want to work in a company mature enough to support me, but agile enough to allow me to own my service in production. I’m not interested in working long hours at a moon-shot startup with few customers, nor am I interested in a company where I have to file a ticket to (e.g.) view production logs.
I think good engineering work is done by teams. While I do value good documentation, there’s no substitute for the context built up by working with other people on a technical problem. I don’t want to work at a company that routinely hands off services to other teams or other engineers.
I want to work with engineers more junior than myself. I enjoy mentoring and up-skilling other engineers, and I also believe that the presence of junior engineers forces teams to adopt healthier processes.
I want to work at a company that values D&I and supports a wide variety of cultures. I don’t want to work with only people like myself, or at a place where I couldn’t in good conscience refer my engineer friends who aren’t young white men.
I want to believe in the company’s mission, or at least consider it morally neutral. No defence or military work, no gambling, no predatory loan fintech companies, no proof-of-work blockchain.
At least for the moment, I want to work remotely.
I want to work for a manager who values management skills. I don’t believe engineering teams are self-managing, or that good engineers usually make good managers. Management is hard and requires focus on specific non-technical skills.
I want my manager to be keeping track of my career progression, and to be an active partner in helping me develop new skills and sell my skills to the wider organization. I want my manager to actively communicate to me what the company cares about, and how I can find the best fit between my own values and what is currently needed by the org.
I think it’s important to have regular 1:1s with my manager: at least fortnightly, but preferably weekly. It’s OK for these meetings to be short.