With the likes of Starbucks, AWS and Warner Bros. all on the hunt for platform engineers, and platform engineers earning significantly more than related roles such as DevOps, the platform engineering movement is well and truly underway.
Many of those aspiring to be a platform engineer are keen to know the skills and work experience required to get hired in this role. Here’s a guide to what they need to know from experts in the field and data to back it up.
Platform Engineering vs. DevOps
DevOps was introduced to provide best practices and tooling that encouraged those who developed a software system to also maintain it. In other words, “You build it, you run it.”
DevOps engineers therefore selected their own tools and had to take the time to fully understand how to use them. DevOps teams focused on delivering features of an application and touched on the entire software developer life cycle, from planning to monitoring.
While development cycles became shorter and deployments more frequent thanks to DevOps, there was a knock-on effect: There was an increase in cognitive load on developers because they had to become experts in things like feature delivery, incident management and interacting with the cloud. Another knock-on effect was the development of more cross-functional, full-stack teams, which duplicated expertise, increased complexity and blurred the lines between ownership further.
Platform engineering emerged to change this. Platform engineers decide on a platform — consisting of many different tools, workflows and capabilities — that DevOps, developers and others in the business can use to develop and monitor the development of software. They base these decisions on what will work best for these users.
Platform engineering teams aim to empower other teams by providing them with:
- Self-service tools
- A software catalog for them to view all of the information they need
- Golden paths that spur teams on to make choices that align with engineering and organizational standards
For those who have embraced the world of platform engineering, the rewards are significant; Glassdoor reports the average total compensation for a platform engineer stands at around $175,763, while the State of Platform Engineering 2024 report suggests that platform engineers in the United States make an average of $219,078 per year, significantly more than related roles such as DevOps, which averages $153,639 per year.
What Skills Do You Need To Become a Platform Engineer?
The old adage that every business is unique applies here; platform engineering doesn’t look the same in every organization, nor do the platforms or portals that are used. But there are some key responsibilities that platform engineers will often have and skills that they require.
Noam Brendel is a DevOps team lead at Checkmarx, an application security firm that has embraced platform engineering. He believes a platform engineer’s focus should be on improving developer excellence.
“The perfect platform engineer helps developers by building systems that eliminate bottlenecks and increase collaboration,” he said.
Platform engineers:
- Design, build and maintain the internal developer platform
- Manage cloud resources and automate processes
- Use monitoring and observability tools to help them ensure performance, security and reliability
- Collaborate closely with development teams, introducing self-service tools, standardized workflows and automation to enhance performance and scalability
- Improve incident management processes
- Continuously improve infrastructure to avoid technical debt
- Maintain detailed documentation and knowledge-sharing practices
Guy Menahem, co-founder of the Platformers Community, believes that while it is difficult to describe what makes a platform engineer ideal, there are four core competencies that they must possess.
“A platform engineer needs to take a customer-first approach, have deep technical knowledge, curiosity, but above all they should not think about engineering as an individual, but rather as a team,” he said.
Let’s dive deeper into some of these skills.
Technical Skills for Platform Engineers
“Platform engineers need to have a strong understanding of how everything is connected and how the platform is built behind the scenes,” explained Zohar Einy, CEO of Port, a provider of open internal developer portals.
He emphasized the importance of knowing how the company’s technical stack is structured and which development tools are used.
The technical skills required of a platform engineer may include:
- Proficiency in low-level coding languages
- Cloud computing expertise
- Kubernetes and containerization expertise
- Experience in Infrastructure as Code (IaC) tools like Terraform
- A grasp of networking protocols and Linux administration
- Experience with CI/CD tools like GitHub Actions, Argo Workflows and Jenkins
- Experience with monitoring and logging tools such as Datadog and Grafana
- Understanding of and experience with microservices and distributed systems
James Daniels, head of platform engineering at data automation provider Xceptor, explained that the ideal platform engineer would be a software engineer at heart who has deep Kubernetes knowledge and expertise in Go, the open source programming language.
Daniels referred to the key principles of platforms outlined in Gregor Hohpe’s book, “Platform Strategy: Innovation Through Harmonization.” He emphasized that platform services should be open and extensible, rather than mandated and closed, and noted that a platform engineer should be capable of implementing these principles effectively.
Customer-First, Product Mindset
A platform engineer should think of the platform’s users as their customers. To fully embody a customer-first approach requires becoming a product owner.
This is effectively the role that Pavel Pikat has taken on at business management software provider AMCS Group. He was the lead DevOps engineer before transitioning to a technical product owner role as the organization embraced platform engineering. Pikat believes platform engineers should embrace a product mindset because the platforms they create aren’t just tools, but experiences that shape developers’ workflows and productivity.
“Treating the platform as a product means understanding users’ (developers’) needs, gathering feedback, iterating based on real use cases and measuring success by developer satisfaction and efficiency, not just technical metrics,” he said.
“By taking a product-centric approach, platform engineers can build internal developer portals and tools that align more closely with their teams’ goals, making it easier for developers to access resources, stay aligned with standards and reduce cognitive load,” he added.
Einy emphasized that feedback is a key part to being constantly aligned with the platform’s users.
“Teams need to incorporate surveys that ask the right questions, setting clear goals for the responses and thoroughly analyzing the results,” he said.
Explaining the Value to the Wider Business
Xceptor’s Daniels explained that one of his biggest challenges has been articulating the value of platform engineering initiatives.
“Translating ‘what we’re doing’ to ‘why my CEO might care’ is very difficult when you’re effectively a layer below the engineering teams who are delivering value directly to the customer,” he said.
The assumption, Daniels said, is that the only value platform engineers deliver is to their own internal customers, but by improving the platform and the experience of its users, the end users also benefit significantly.
To actively dispel this assumption, Daniels and his team sent out a monthly newsletter to explain the work they had been doing and the impact of this work, as well as holding team sessions every two months where they could interact directly with people and understand their challenges.
“This helped us grow as an enabling function and allowed us to embrace a Team Topologies framework. It helped us to be defined as providing a service rather than being an IT function that resolves tickets,” Daniels said.
Soft Skills
As platform engineers work with many different personas such as developers, site reliability engineers (SREs), DevOps and security personnel, they also need strong communication and collaboration skills.
Meanwhile, attention to detail is paramount as a platform engineer, as they must ensure stability, thorough testing and proper documentation.
Making Sure Platform Engineering Is Not Just a Rebrand
Abby Bangser, founding principal engineer at Syntasso, the creator of the open source platform engineering framework Kratix, explained that there is always a risk that engineering teams are just rebranding existing ideas.
“One way to differentiate the role of platform engineer from that of DevOps, cloud engineer or SRE is to keep the focus on enablement over capability support. So a platform engineer isn’t the subject matter expert for all platform capabilities, but instead builds the mechanism for these capabilities to be supported and consumed,” she said.
Bangser gave the example of an organization that wants to start enabling the use of GraphQL databases for the first time.
“This shouldn’t fall to the platform backlog, but instead the platform capabilities should enable the database subject matter experts in the company to provide GraphQL as a service, ideally without much platform engineering support. This lets the platform engineers focus on the tools that enable this easy extension, such as discoverability, upgrade support and observability,” Bangser said.
How To Become a Platform Engineer
Many existing roles can transition well into platform engineering, particularly DevOps engineers, technical product managers and SREs.
For instance, today’s platform engineering responsibilities were initially part of the DevOps role.
“DevOps engineers who have been focused on user-facing processes and workflows can therefore make a natural transition into platform engineering,” Einy said.
As SREs focus on quality, reducing mean time to recovery (MTTR) and improving organizational resiliency, they’re also a good fit for platform engineering roles.
“Meanwhile, all technical product managers have deep technical knowledge of the products they manage and so taking on the platform as a product approach as a platform engineer makes sense for them too,” he added.
Regardless of an engineer’s previous experience, there are certain traits that a platform engineer should encompass.
The ideal platform engineer combines deep technical expertise with a customer-first, product-oriented mindset. They must be able to articulate their impact on both internal and external users. They design the platform that enables other subject matter experts to seamlessly provide and consume services without the need for additional support. The platform engineer embraces collaboration with other departments and teams, and can bridge the gap between development and business goals.
Join thousands of other platform engineers and developers in Port’s community. If you’re still working out what platform engineering means for your organization, check out our live demo to get a taste of what an internal developer portal can do to help you on your journey.
The post What Makes the Ideal Platform Engineer? appeared first on The New Stack.