If your organization builds software, now is the time to focus on supporting and nurturing your developers. That’s because retaining developers and maximizing their productivity are critical to your business’s ability to deliver value to customers, employees and partners in 2023.
Top developer talent is scarce. According to the U.S. Bureau of Labor Statistics, demand for software developers will grow 25% annually through 2031 – significantly faster than other IT occupations. Yet if your developers are typical, many of them are not particularly happy — or productive.
Technical talent is frustrated
Developer turnover is a problem, according to the third annual Reveal “Top Software Development Challenges for 2022” survey. Thirty-one percent of developers say they don’t have time to get their work done. Even more of them (40% and 39%, respectively) are challenged to deal with increased customer demands and forced to do more with less due to limited budgets.
Moreover, Stack Overflow’s 2022 Developer Survey revealed that developers themselves are concerned with waning productivity, with 68% encountering a “knowledge silo” at least once a week, and 63% spending more than 30 minutes a day searching for answers to problems.
What’s missing in most cases is a cloud-native application platform such as VMware Tanzu, with capabilities that minimize context-switching and enable developers to focus on business logic. Equally critical, and often non-existent, is the formation of a dedicated app platform team that builds, monitors and continuously iterates the platform to provide a great experience for internal development teams.
What is a platform-as-a-product model?
Traditionally, IT organizations have assembled tech stacks to support developers as they created, tested and pushed apps into production. But these tech stacks — along with manual processes and siloed teams — drive management inefficiencies, lack observability and create substantial technical debt, while also taking longer to get code to production. These tech stacks usually rely on ticketing systems for developer requests and an IT team that spends its time fulfilling these requests, often manually.
By contrast, adopting an approach that treats internal development teams as customers and the application platform as a product can result in a streamlined path to production that improves developer efficiency, product quality and time to value. Key to the success of this approach is remembering that the platform is not an off-the-shelf piece of software. It is an evolving, unified set of reusable services integrated seamlessly with your existing systems.
The platform-as-a-product model puts within easy reach all the tools developers need to do their best work. It also brings together key capabilities such as automation, self-service portals, application templates and third-party integrations in an efficient and flexible way to provide your developers with a truly elevated — and frictionless — experience.
Why introduce a dedicated platform engineering team?
To get the most from a cloud-native app platform, you need a dedicated team to support it. A platform engineering team is not only responsible for building, evolving and managing the application platform but acts as a conduit between developers, operations and security teams. It also facilitates interactions between business leaders, security personnel and the rest of your organization. In doing so, it breaks down silos — and it pays off.
When you invest time, talent and budget to build and sustain a platform engineering team, it returns exponential value to your organization. How? Its activities ensure that your developers — the talent that your organization depends on for innovation and business success — have what they need at their fingertips. This includes access to approved app templates, services, open-source libraries and everything else they need to replace low-value tasks and wait times with the freedom to solve business-critical problems faster — without sacrificing security, reliability or adding staff.
Who to add to your platform team?
A platform engineering team should include at least two of the following archetypes (as your team matures, you can add the third):
- Infrastructure architect who also codes – Choose someone highly experienced in infrastructure as a service (IaaS) — compute, storage and networking — as well as being expert in automating manual, repetitive activities.
- Natural automation master – Add someone already doing continuous integration/continuous deployment work, automating current release management processes or using system automation tools (Chef, Puppet, Salt, Ansible).
- Curious software engineer – Handpick a person in an application product team that previously solved its own platform challenges by automating underlying infrastructure that streamlined the team’s work.
4 disciplines of successful platform engineering teams
Successful platform engineering teams employ four key methods to deliver developer value:
1. Apply lean product management practices
Use lean start-up practices such as minimum viable product (MVP) to minimize waste and continuously respond to the changing needs of customers — app developers.
2. Focus on the Developer Experience (DevEx) with user-centered design (UCD)
Pay attention to how developers use the platform as a product — developers may appreciate the stellar experience so much they evangelize it throughout their organization.
3. Leverage Agile software development with XP (extreme programming)
Use XP practices to build quality, well-tested platform code that evolves with developers’ requirements.
4. Add site reliability engineering (SRE)
SRE treats operations as an engineering problem by using software to manage system performance and uptime. Treating your platform as a product maximizes platform value by minimizing delivery time, risk and waste.
All the ways a platform engineering team benefits your business
A successful platform engineering team can make a significant contribution to your organization as it strives to build software at scale, including:
When new developers join, how soon is it before they’re productive? It takes far longer for developers to start writing code when they’re required to learn a plethora of new tools on their own. Developers that have rapid, self-service access to approved templates, reusable patterns, specific tools and services proven to be helpful get to work faster. By creating “golden paths” that support streamlined development workflows, a platform engineering team can accelerate productivity, improve security and reduce friction that is so common across enterprise developer tech stacks.
Strengthening your security posture
A platform team helps ensure that Day 2 operations — when an app goes into production — are seamless by continuously analyzing and patching the dev platform, including building security into every application with a secure software supply chain. By automating security policies and providing capabilities such as pre-approved app templates as well as code scanning for CVEs and API security, your organization can dramatically improve the security posture of the application itself while also accelerating the time it takes to deploy more secure code.
Alleviating the skills crisis
Rather than investing in teams of app developer unicorns with expertise in Kubernetes, multiple public clouds, and every other tool in your tech stack, you can hire mere mortals or train existing staff. A cloud-native app platform abstracts away the complexity of Kubernetes and multi-cloud deployments and helps new developers deliver value quickly with help from app templates and golden paths.
A platform team enables your developers to focus on writing innovative apps while eliminating the frustration of configuring and integrating disparate elements of a traditional dev tech stack. So what’s key to boosting developer productivity? Ask a platform engineering team.
Read this report from Gartner highlighting the need and value of platform engineering.