|
As a recovering platform engineer, nearly 2 years out of the game, i identify a lot here. My experience is that platform engineers are mostly people who never actually write code for the platform that they have built, other than toy services to test, which are usually written in a language which isn't the company default. Communication is difficult because platform, like SWEs, are supporting people, but the support is direct, so platform often have a torrent of people asking for things. This is a problem when the SWE doesn't know what they want because they are a newbie out of university, or worse, they know what they want, but don't know how to work the insane platform mono repo that requires 9 items on a checklist to get a IAM permission added that the platform team member told them about in a support slack channel. I think a lot of platform teams also make their own lives harder by making too many abstractions. If it is impossible for an SWE to add a new resource to the cloud without a platform engineer helping, then platform are always going to be disadvantaged. Control is also a big issue. Platform want all the control and believe giving control away is going to cause a disaster. In reality, SWEs want 5% control, just to do the thing they have to ask you as a platform engineer to do anyway. But maybe platform engineers like that hero complex. |
A few years later, the platform's code is rotting, its interfaces are unusable, and all the original proponents have chosen to depart rather than to maintain the mess they created. The company is stuck with a legacy system, far inferior to the real-world product, which has been shaped by market forces and not the political dynamics of one, single company.
Polemic aside, I think internal engineering platforms are ok to build when the industry solution hasn't matured yet, isn't available, or is otherwise too expensive. Otherwise, I think the infrastructure manager should seek out the minimum abstraction (and team) that enables the simplest path towards buying from the outside.