Last spring (Apr 2021), I started talking to Pete Hamilton (our CTO) about incident.io, and the possibility of joining the company as an early engineering hire.
Fast forward to August, and I climbed the stairs of the old fire station in Old street for my first day on the job.
1 year, 3 office moves, 30 hires, and many features shipped later, I’ve just taken on the role of technical lead for the team.
Here’s 3 key things I’ve learned along the way:
- Prioritisation is the name of the game
- Leverage is critical
- Everything changes every three months
1. Prioritisation is the name of the game
Alongside building a fiercely customer centric team, we have had to develop an ability to prioritise effectively (saying no, or not yet to most things).
At incident.io, we are lucky to have some really engaged customers who give us lots of feedback. That comes via our intercom chat widget, customer calls, or directly in our shared customer Slack channels. From the very beginning, we’ve prided ourselves on a really strong customer support offering, including shipping small fixes or feature requests within an hour.
When you ship something that a customer has asked for, they’re grateful (of course) and might even send you a nice message to say thanks:
Getting feedback like this feels amazing, but delivering on customer feedback like this is only half of the battle.
To level up our product, we’ve needed to take big bets and build features like Workflows and Incident Types. We’ve learned to ‘back ourselves’ and let the customer requests stack up (for a period of time) while we ship something great, before returning to a more normal way of working.
2. Leverage is critical
Great engineers find opportunities to lay railways which the rest of the team can use to go faster. With a nascent codebase, there are numerous opportunities to improve the developer experience, and help accelerate.
You have to pick your battles: if you’re forever laying railways, but never driving the train, you won’t have happy customers. There are a few key areas where we’ve chosen to invest, and the payoffs (when you get it right) can be enormous.
The clearest example for me is our Workflow engine: the lego bricks at the bottom of our Workflows product now power huge swathes of our app, whether that’s templating variables into postmortem documents or conditional custom fields. They’ve made our recent work on Policies a breeze, turning a multi-week project into something that took just a few days.
If you can take the right bets, the compounding effects will ensure the numbers get really big, really fast.
Always look for multiplicative impact: whether by laying railways in the codebase or building great structures and processes.
3. Everything changes every three months.
We are scaling pretty quickly. Our product is changing fast and so is the shape and expectations of our customer base. On top of that, we are hiring fast. There’s no point in optimising for the team you have now, if you won’t see the return in 3 months
I’d read about startup pace in books, but until I was in the middle of it I don’t think I understood quite what this would feel like. It’s like walking a very energetic dog: you’re not quite being dragged along behind it, but you’re definitely not fully in control either.
This is definitely still a work in progress for me, but my best advice is: keep your eyes up, try to understand what's changing, and adapt.
🚢 Just keep shipping
Working with a motivated, talented team who are all product driven is an excellent feeling. No political rubbish, just ship ship ship. I absolutely love it.
Special shout-outs for:
- Pete Hamilton for being a top-notch boss (and for taking a chance on me) - even getting me the hammock I've always wanted
- Lawrence Jones for joining with me and helping seed such an excellent team, with great technical choices and curious lunch ones
Bring on year two.