Last year I did a very cute talk about platform engineering through the lens of Animal Crossing, and talked about hospitality, and infrastructure, and what it should feel like to use an internal platform.
Today I adjusted the brakes on my bike and trike. It involved significantly less swearing and bleeding than the last time I did it, because I had the right tool. The first time I tried to do this, I used a pair of pliers, a physical bike repair manual, and the power of rage. This time, I used a tool known variously as a cable puller, cable stretcher, or fourth hand. It clamps the cable and then stretches it against a fixed point, and then locks in place. It was obviously invented by someone filled with infinite rage about the problem of pulling, holding, and securing at the same time.
There are all sorts of things that I learned to do when it wasn’t possible to get into bike shops. My default mode for owning a bike was definitely more buy/consultant than build/diy, but that wasn’t an option. The thing is, you don’t need to adjust your brake cables that often, or change your own chain, or any of the other things I paid other people to do. That fourth hand tool is like $60, and getting my bike shop to do it would be about $15, so technically I would save money eventually, if my time/opportunity cost were worthless.
Now I own a $60 tool that I won’t need for another couple years, and I need to store it and keep track of it. This is the problem that tool libraries were invented for. There are a couple manifestations of tool libraries – some local libraries will actually loan out tools, but also rental companies serve that purpose, or some community organizations. Colleges often have bike repair tool/spaces for their students. We don’t all have to own duplicate tools in our own little silos, and maintain the tools when we don’t need them.
Platform engineering is like a tool library for the organization. It’s someone’s job to keep the space accessible, make sure the tools are actually fit for purpose, and help people figure out what tool will do the thing they need. They can also help reduce duplication and manage customization. Are these pliers functionally similar to the other ones? Is there a good reason to have two pairs of pliers? If we already pay for a CMS license, can it do what you need as well, or do you really need a different set of features, and if you do, can we add that on instead of buying more software?
Of course, it wouldn’t be engineering if it were just managing software tools. I think that job is called operations, and we don’t respect it as much as we should. Platform engineering is also about building reliable structures for understanding the tools we have. Now I’m imagining teeny little RFID tags and a Grafana integration to determine usage…. But a platform team should be able to teach people about the tools they’re supporting, what they need to run well, why they’re a good choice. There’s an aspect of internal advocacy that I think the best platform teams will have.
Having the right tool at the right time, and knowing how to use it, means that you can focus all your effort on solving the real problem, not the sequences to get at the problem.