Created by AI, a sketch summarising this post.

If you’ve been following the tech scene lately, you’ve probably noticed the buzz around platforms and platform engineering. We have platform vs DevOps vs SRE posts recently like in the past we have seen DevOps vs SRE or DevOps vs DevSecOps or vs vs vs or DevOps is dead …… I know that it’s often done to get the clicks. The reality is these posts try and answer underlying questions that people have in a world that we like to attach titles/terms to (maybe because these new titles equally to good salary bumps or extra kudo from others). It’s like the sudden surge in popularity of cold brew coffee – everyone’s talking about it, but what exactly is it?

https://imgflip.com/i/79o8th

UPDATE: Feb 2023 - I saw this meme which I quite liked!

Let’s break it down, shall we? Platform engineering is a hot topic, and for good reason. But what’s driving this trend?

… but first it is NOT 🚫
“Platform Engineering isn’t about a specific toolchain that MUST be used by everyone which is not a β€œbuild it and they will come” solution! "

… ok great what is Platform Engineering β˜‘οΈ
Platform Engineering is a socio-technical discipline

  • Platforms are social constructs. They need to be designed in a way that is both technically sound and socially > acceptable.
  • Platforms are combinations of tools and processes aimed at simplifying the developer experience (DevEx), Operations, FinOps, Security and infrastructure management.
  • Platforms need to be adaptable. The needs of users and applications are constantly changing. Platform engineers need to be able to adapt their platforms to these changes.
  • Platforms need to be treated as a product and have a product manager assigned.

A attempt to capture this is a slide

This is an attempt to capture in a slide format.

The Problem-Solving Power of Platforms

At its core, platform engineering is about solving problems. It’s about taming the wild beast of technical complexity and wrangling the ever-growing pile of technical debt. It’s about empowering development teams to focus on what they do best – creating awesome products – by providing them with a curated, self-service platform that streamlines their workflow.

Think of it as your favorite coffee shop. You don’t want to worry about sourcing the beans, roasting them, grinding them, and pulling the perfect shot. You just want a delicious cup of coffee, right? A well-engineered platform is like that barista who takes care of all the technical details, so you can focus on enjoying the final product.

Havnt we been doing that for a while? Why now? These are good questions, my take is that its due to a few reasons.

Fun sketch People have started to reliase that while K8s is awesome its not for developers. The K8s abstraction is for infratructure or platorm folks to make their life easier so they have improve the experince developers (yes Kelsey Hightower’s tweet flagged this, I just dont think people were ready to listen). Often these things are about timing as well, people have been building and experimenting with K8s cluster but now ready to scale. The days of every team having their own tools, especially in large enterprises, is resulting in complexity, duplication and slowness (this is a much larger conversation than cna be convered here). I would argue that one of the reasons Google is sucessful is becuase a platfrom exists that has been engineered to solve developer challenges, removing friction, to allow for rapid iteration and software delivery.

Another influcence I think is the the Team Topologies book (which is awesome) has really started get tracktion and has been read by many leaders and practitioners alike. This touches on the topic with “Platfrom Team(s)”

A couple of quotes I like, from various talks is;

“A curated experience for engineers (the customers of the platform)” and β€œ…the purpose of a platform team is to enable stream-aligned teams to deliver work with substantial autonomy… The platform team provides internal services to reduce the cognitive load that would be required from stream-aligned teams to develop these underlying services” - Matthew Skelton (Team Topologies)

More Than Just Tools and Tech

But here’s the kicker: platform engineering isn’t just about tools and technology. It’s a socio-technical discipline, meaning it’s as much about people and processes as it is about code and infrastructure.

A successful platform is a product, and like any good product, it needs a product manager who understands the needs of its users (the developers). It needs to be designed with the user experience in mind, providing self-service capabilities, clear documentation, and easy onboarding.

And it’s not just about making developers happy. A well-engineered platform can have a significant impact on the entire organization, improving productivity, accelerating time to market, and even boosting employee satisfaction.

Where do you start

So, where do you start? The key is to focus on the the biggest constraint – the most common and critical blcokers for your development teams. By identifying and optimizing these paths, you can reduce cognitive load, eliminate bottlenecks, and empower your teams to deliver value faster.

Remember, a platform is not a one-size-fits-all solution. It should be tailored to the specific needs of your organisation and its development teams. Start small, iterate often, and always keep the user experience at the forefront of your mind.

The Human Element

Let’s not forget the human element. A successful platform team needs to foster a culture of collaboration, continuous learning, and psychological safety. They need to be transparent about their priorities and work closely with developers to gather feedback and iterate on their product.

In the end, platform engineering is about empowering people to do their best work. It’s about creating a platform that is not only technically sound but also socially acceptable and adaptable to the ever-changing needs of the organization.

Take Aways

Now, here’s the thing: these terms have become so overloaded, they could mean anything to anyone. It’s like ordering a “coffee” and getting anything from a watery instant brew to a triple-shot espresso with whipped cream and sprinkles.

In reality, platforms and platform engineering have evolved significantly over the past five-plus years, much like the specialty coffee scene (and I think the next few years will be a wild ride). But let’s step back from the buzzwords for a moment. Simply declaring, “I’m a platform engineer now” doesn’t solve anything, just like calling yourself a “coffee expert” doesn’t guarantee a delicious cup. I prefer to focus on outcomes and the problems we’re trying to solve. To help people map buzzwords to outcomes, here’s a VERY simplified view:

  • DevOps: Strives for faster, more stable software delivery, focusing on development, testing, and deployment.
  • SRE: Ensures system reliability and happy customers, concentrating on deployment and operation.
  • Platform Engineering: Provides an easy way for developers to deploy software, reducing their cognitive load so they can focus on their core strengths.

What ever you do focus on the user and solve problems.

So, let’s raise a cup to the power of platforms and the people who build them. Cheers to a future where developers can focus on creating amazing products, while platform engineers take care of the rest.

What are your thoughts on platform engineering? Have you seen any successes or challenges in your organization? Share your experiences in the comments below!

Appendix of fun

I was drawing out some sketches in this space in an attempt to clarify in a deck, or another blog post, however ive not used them yet but wanted to share them with you.

A platfrom team consists of development and operating (aka reliability engineering) skills;

You do need a product manager to bring it all togther;

And maybe as it grows you need to focus on reliability more, or the product has scaled to a point in which dedicated a dedicated SRE role is needed;

Does this look familer, it should do. A cross-functional value stream team follows a similar skill requirements;

The platfrom supports the value stream teams;

All togther in a skecth;