You’re feeling the pressure to justify that your engineering organization is efficiently working on the right things. And whether you’ve just laid off a quarter of your staff or have been lucky enough just to get a hiring freeze, you’ve got to figure out how to do more with the same team. But at the same time, you don’t want to burn them out and make them jump ship.
In other words, you need to increase developer productivity without sacrificing developer experience. And platform engineering teams and tools are the solutions you need to prioritize.
In this article, we’ll dig into what platform engineering is and how it compares to similar teams. We’ll also show you how platform engineers can solve the next big challenge in developer experience and productivity.
Table of Contents
- Platform Engineering Definition
- What Does a Platform Engineering Team Do?
- SRE vs. Platform Engineering
- DevOps vs. Platform Engineering
- Why Platform Engineering Teams Should Focus on Continuous Merge
- Use Platform Engineering to Make Productivity Soar
Platform Engineering Definition
Platform engineering is the process of enabling software developers and teams with an efficient ecosystem, so they can autonomously perform end-to-end operations of the SDLC.
In simple terms, platform engineering aims to improve developer experience and productivity. And to do that, it reduces cognitive load and removes bottlenecks. Platform teams exist to make your dev team’s lives easier, which can take a huge load off your shoulders. Devs should be happy, so why not make them happy?
Some companies even call platform engineers “developer enablers” because they enable engineers to ship features faster, without friction. They work between the infrastructure and engineering, allowing your developers to focus on what they do best.
What Does a Platform Engineering Team Do?
In some cases, platform engineering could involve writing code and building custom tools. But it mostly involves configuring third-party tools that make your basic infrastructure more suitable for day-to-day needs. Platform engineering teams will leverage cloud-native software, containers, and other cloud platform tooling to help devs work in a safe, efficient, and reliable way.
These engineers also educate developers on the best practices of the platforms they’re using. And they provide the tools and knowledge to improve development team workflows. Their main goal is to make sure code gets to production as fast as possible, without stressing your devs out with stops along the way.
Not everyone in a platform team will (or should) have a software engineering background. You’ll find a mix of DevOps folks, internal developers, ops team members, and more. And with their varied expertise, these teams will find different ways to make it painless for your dev teams to write and manage code — whether it’s through DevOps processes, cloud infrastructure, or internal tools.
Check out this great discussion from our COO, Dan Lines, and Charity Majors, CTO at Honeycomb, that outlines the ideal makeup of a platform engineering team:
SRE vs. Platform Engineering
So how is platform engineering any different from SRE? Some companies have consolidated these roles, but that’s because they follow some of the same principles. But the two roles are different.
Site reliability engineering (SRE) — a concept that originated at Google and is documented in detail in the Google SRE Book — is the practice of using software tools to automate IT infrastructure tasks.
SRE teams work to ensure that applications run at optimal performance without issues. So the scope of their work is to manage the application’s reliability, incident response, and infrastructure.
Where SREs tend to create bottlenecks for developers, platform engineering prioritizes developer self-service and freedom.
Platform engineers want to ensure that development happens at a faster pace. They work on a foundation that makes application development efficient.
DevOps vs. Platform Engineering
Another role that may get confused with platform engineering is DevOps. That’s because they both have similar goals. But let’s elaborate further on their differences.
A DevOps team, as the name suggests, combines the functions of software development and operations. Their primary goal is quite similar to platform engineering — to optimize the development pipeline.
In a perfect world, this is done by breaking down silos — development, IT operations, data centers, quality engineering, and security. Optimization also happens by collaborating to produce better, more reliable products.
DevOps can unlock new levels of productivity and efficiency for some software engineering teams. But in many organizations, DevOps alone falls short of the expectation.
DevOps has given devs more workload. It made them responsible for infrastructure, managing environments, monitoring, etc.
So where DevOps can often create too much cognitive load for developers, platform engineering alleviates it.
Why Platform Engineering Teams Should Focus on Continuous Merge
We’re not knocking DevOps though. It brought us DORA metrics and CI/CD tools, and development teams are now faster than before. And as mentioned above, many DevOps folks find themselves on a platform engineering team.
But, new software engineering challenges have emerged. We now have fast pipelines for delivery and advancements in building software, but developers need more time to code. They often spend too much time on non-coding activities, hampering their productivity. This is where platforming engineering can shine.
Your developer productivity suffers because of inefficiencies. You might think meetings are the biggest culprit, but our research revealed a bigger problem — the PR lifecycle. If you’re hearing rumblings from devs that code is stuck, this is where it’s stuck.
And things like large PR sizes, excessive review processes, and merge conflicts all contribute. This leads to increased cognitive load, developer toil, and frustration. And of course, this negatively impacts quality and efficiency.
Continuous merge (CM) is the solution to this challenge. Continuous merge expands on CI/CD to become CM/CI/CD. This practice classifies pull requests based on change size and complexity. And as a result, it improves merge efficiency.
Platform engineering teams can use tools like gitStream from LinearB. It enables them to automate merge paths based on custom review automations for your repo’s .cm file. Your teams can determine which characteristics qualify a PR for an automated review, a single reviewer, or even two required reviewers. The outcome is improved merge frequency and cycle time.
Use Platform Engineering to Make Productivity Soar
This economic climate is certainly putting you under pressure to do more with the same teams. And you can’t do that if you don’t remove inefficiencies and increase productivity. But platform engineering is the solution to removing the friction in your SDLC. If you have a platform engineering team already, or are looking to build one, enable them with the best DX platform.
The LinearB platform tracks vital aspects of your software development process — including your PR size, cycle time, and merge frequency. It also improves engineering efficiency without sacrificing developer experience by providing developer workflow automation tools like WorkerB and gitStream.