The realisation came to be over a glass of wine (or 2) and a cup of ginger tea on a quiet Sunday night.
The realisation that we are not building something for someone else, or something for us that is outside of our control, but that we (Pushpay) are the platform.
Over the years, I've built stuff for other people at Orbiz and Glazier (now Intergen). I've built products that other people run on their own systems at AfterMail and ComArchive (and ANZ to a lesser degree). Even BBC and Universal Music were "at arms reach" - we built it but someone else ran it and got up to fix it if it broke.
Pushpay - and, I imagine, other platforms like Stripe, Twitter, Facebook - is different. While we can take certain liberties and short cuts because we have control over nearly every aspect of the machine1, we can put things in and monitor things in a minute way because there is only one instance, ever, of this platform - there is no case where this has to be packaged up and installed on someone else's systems.
Above all, the health and wellbeing of the platform is OUR responsibility. We never need to hand off responsibility to someone else.
Especially when something breaks, like it did a few days ago when I checked in some code.
The feeling of being at fault, even in an explicitly blameless culture, is still a strong one. It still quickens the heart and spikes the blood pressure at 7am on a Saturday morning.
And it should. Blameless should never mean "doesn't care".
But building a platform is a different feeling, it's a feeling of responsibility and a duty of care which I've never had anywhere else.
For me, that is the difference between working on a platform and working on a product or a service.
something I plan to go into in a future post ↩