The Pragmatic Engineer

The Pragmatic Engineer

Share this post

The Pragmatic Engineer
The Pragmatic Engineer
Platform Teams and Developer Productivity with Adam Rogal, Dir. Developer Platform at DoorDash
Copy link
Facebook
Email
Notes
More

Platform Teams and Developer Productivity with Adam Rogal, Dir. Developer Platform at DoorDash

Creating a platform team, platforms at smaller companies, and developer productivity at DoorDash

Gergely Orosz's avatar
Gergely Orosz
Nov 30, 2021
βˆ™ Paid
53

Share this post

The Pragmatic Engineer
The Pragmatic Engineer
Platform Teams and Developer Productivity with Adam Rogal, Dir. Developer Platform at DoorDash
Copy link
Facebook
Email
Notes
More
5
1
Share

πŸ‘‹ Hi, this is Gergely with a πŸ”’ subscriber-only issue πŸ”’ of the Pragmatic Engineer Newsletter. In every issue, I cover challenges at Big Tech and startups through the lens of engineering managers and senior engineers.

I sat down with Adam Rogal who heads up Developer Platform at DoorDash, to get his take on platform teams, developer productivity, and how the two are connected. We covered these topics:

  1. From API support engineer to developer platforms

  2. The importance of Platform teams, and creating one

  3. Platform teams and scaling up organizations

  4. Platform team characteristics and KPIs

  5. Platform team approaches that work for smaller companies

  6. Developer Platform at DoorDash

  7. Developer Productivity

Related to this issue is the one with Ganesh Srinivasan, who created the mobile platform teams at Uber which Adam eventually took over.


I worked with Adam at Uber when the Mobile Platform team reported into his organization. Adam is one of the most hands-on leaders I know. I remember when he attended Uber’s Amsterdam HQ, and hosted a meeting to introduce the Mobile Platform team and share their updated roadmap with members of my team.

As the meeting was about to begin, Adam asked for five minutes more time before starting. Uber’s mobile CI system had gone down across the company, and this counted as one of the highest severity incidents for his team. He was standing in for oncall for a few days, and he got paged with this incident. He started the meeting only after he confirmed that an incident commander had taken over coordinating the mitigation effort, and that he could not help any further in resolving the issue.

I found two things remarkable about this. First, Adam stood in for oncall over delegating it to someone on his team, building the empathy with what oncall was like by β€œfeeling the pain” himself. Second, he immediately prioritized the hundreds of mobile engineers impacted by the CI issues, ahead of the dozen people in the room; a call not every manager would make.

β€œPlatforms are the bread and developer productivity is the butter you spread on top” - Adam Rogal

1. From API support engineer to developer platforms

Adam started off at Google as an API support engineer, after graduation. The second day after joining this team, it got renamed to Developer Relations. As we talked, Adam recalled that this was exactly the type of work he sought at the time; designing interfaces for developers, supporting them, and having empathy with their work.Β 

He worked on many of Google’s APIs, including Checkout, AdWords, DoubleClick for Publishers, and other APIs. By the time he left Google, he had had a hand in almost every ads-related API at the company.

He joined Uber in 2015 to create the API platform team. For better or worse, Uber shut down its external API ambitions, and with it, the team. So Adam moved to head up the mobile platform team which was previously started by Ganesh Srinivasan. Read the platform teams discussion with Ganesh in this newsletter issue.

Today, he is heading up the Developer Platform organization at DoorDash.

For the rest of the article, my questions are in italic, and the answers from Adam are in normal font.

2. The importance of Platform teams, and creating one

How would you define a platform team? Why is it important?

β€˜A platform team is a set of folks who support and enable product engineering. Enablement is a key characteristic of good platform teams. Platform teams can enable product engineering in various ways, such as:

  • Standardization

  • Building and maintaining frameworks

  • Onboarding

  • Culture-bearing

  • General support like Q&A, open office and similar activities

β€˜It’s important to observe what happens without platform teams. I found that at best, product engineers have competing priorities within the company. At worst, feature development stalls due to platform-level concerns. Platform teams help a company evolve past its adolescence, into a mature and well-oiled machine.

β€˜Another good way to look at what platform teams are, is to contrast the problem space they own with that of product engineering. The problem space for product engineering is the needs of the business. The problem space for platform engineering is the needs of engineering.’

Creating a Platform team

How did you approach creating a platform team?

β€˜I leveraged my knowledge of working with external platforms and applied it to internal ones. To start, you need to use a lot of evangelism. Your goals should be to create a system that leads by influence, rather than mandate. You need to think about documentation and education as part of the product.

β€˜Set your direction as β€œoutside in.” Outside means your customers, while inside refers to your team. Think about all the developers and their needs, first. Only then should you move β€œinside”. If you do this, you’re more likely to build something those developers need, than just a cool, new technology.

β€˜Compare this approach with moving from β€œinside out”, when you are building a more traditional product from the β€œinside.” Once you’ve built it, you put it in the hands of your customers. However, you often find that you’ve built something they might not need.

β€˜Creating a great platform team is not something that one manager can do by themselves. You need to lean on all your engineers, just like I did every time we created a successful team. Starting with the most senior engineers leading by example, all the way to each platform engineer on the team, everyone needs to champion this β€œoutside in” mindset, as well.

At what point does it make sense to introduce the first platform team in a company’s growth curve?

β€˜This is an area I’ve been thinking about a lot. If you start too soon, you may put the cart before the horse. You might worry about standardization, instead of getting your company’s product into the hands of as many customers as possible. If you start creating a platform team too late, the bones of the company might have already set in a way that is difficult to change.

β€˜A good rule of thumb is to detect the point at which engineers discuss standards more than they do features. This is when you can start to incubate platform engineers who can guide the technology choices. These engineers are typically your most senior engineers at the time. You can then form teams around each platform, before any major inflection points hit your growth.

β€˜At DoorDash, we formed the Developer Platform organization 18 months ago, in early 2020. At this point, some platform teams already existed throughout the company. However, it wasn’t until we established this organization that we set the charter of these other platform teams and pulled them all together under one banner.

β€˜I feel that we got platform teams in place at DoorDash just in time. We were well into the maturing life cycle stage of the company. Introducing these teams any later could have had a negative impact on engineering productivity. I do think forming these teams earlier would have been even more helpful, but I’m glad we were at least not late with them!’

3. Platform teams and scaling up organizations

How do platform teams help organizations scale up?

β€˜As companies grow, so does the complexity of the systems and the number of new engineers. Both of these become problems of their own, and tribal knowledge becomes a major pain point. Standards and established frameworks are what help overcome these issues and they are what you need to start to invest more into.

β€˜Platform teams help both with onboarding, and with systems’ stability. For onboarding, you need to shepherd new engineers through the process. Try to not bog down product engineers by mentoring them about unwritten quality standards. Create platform teams that provide clean and well understood APIs and frameworks, and also own helping new engineers with the onboarding process. If you do this, your new hires will deliver high-quality work after onboarding without depending only on product engineers mentoring them.

β€˜Reliability is the other aspect of scaling. As a company grows, its increasingly complex systems need to stay reliable. To do this, you need to make sure services meet certain requirements, like circuit breaking or load shedding. You need to put some level of standards in place, and if you do this, you’ll increase the overall stability of the company. This is another key role that platform teams play.’

4. Platform team characteristics and KPIs

What are characteristics of well-run platform teams?

This post is for paid subscribers

Already a paid subscriber? Sign in
Β© 2025 Gergely Orosz
Privacy βˆ™ Terms βˆ™ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More