Measuring Developer Experience and Improving it through Platform Engineering (feat. Ajay Chankramath)

Measuring Developer Experience and Improving it through Platform Engineering (feat. Ajay Chankramath)

Ajay Chankramath⁠, Head of Platform Engineering at ⁠ThoughtWorks⁠, discusses measuring and improving developer experience through platform engineering. Platform engineering is the abstracted set of tools, principles, and techniques that make developers' lives easier and enable DevOps. It focuses on improving developer productivity and reducing friction in the software development process. The key to successful platform engineering is adopting a product management mindset and prioritizing capabilities based on their value. Platform engineering can benefit organizations of all sizes, but the scope and implementation may vary. Internal developer platforms and managed platform engineering services are emerging as options for startups and smaller organizations. Platform engineering is the evolution of software development and delivery. It is not a passing fad or a replacement for DevOps, but rather a cultural paradigm that brings together tools, techniques, and processes. Platform engineering aims to simplify and automate the development process, improve compliance gating, and provide internal developer portals for self-service. It also involves the use of generative AI to enhance operational productivity and enable proactive issue detection. While there is no one-size-fits-all approach to platform engineering, it is important for organizations to invest in platforms that align with their specific requirements and skill sets.

Takeaways

  • Platform engineering aims to improve developer productivity and reduce friction in the software development process.
  • Adopting a product management mindset and prioritizing capabilities based on their value is crucial for successful platform engineering.
  • Platform engineering can benefit organizations of all sizes, but the scope and implementation may vary.
  • Internal developer platforms and managed platform engineering services are emerging as options for startups and smaller organizations. Platform engineering is the evolution of software development and delivery.
  • It is not a passing fad or a replacement for DevOps, but rather a cultural paradigm that brings together tools, techniques, and processes.
  • Platform engineering aims to simplify and automate the development process, improve compliance gating, and provide internal developer portals for self-service.
  • Generative AI can be used to enhance operational productivity and enable proactive issue detection.
  • There is no one-size-fits-all approach to platform engineering, and organizations should invest in platforms that align with their specific requirements and skill sets.

Chapters

00:00 Introduction to Ajay Chankramath and ThoughtWorks

03:08 Defining Platform Engineering and its Importance

07:48 The Role of Product Management in Platform Engineering

10:21 The Genesis of Platform Engineering and the Importance of Value Modeling

13:22 Platform Engineering for Organizations of All Sizes

22:16 Breaking Down Platform Engineering into Five Planes

25:41 The Importance of Observability in Platform Engineering

29:19 The Role of Orchestrators in Platform Engineering

33:26 The Impact of Platform Engineering on Developers' Daily Work

35:56 The Importance of Compliance Gating

36:47 Internal Developer Portals

38:17 Abstraction with Terraform and Other Tools

49:04 The Potential of Generative AI

55:53 Coexistence of Self-Serve Portals and Conversational UIs

01:06:25 Platform Engineering as an Evolution of Software Development

Jaksot(412)

(Part 1/2): How important is Technology Stack?

(Part 1/2): How important is Technology Stack?

(Part 1/2): How important is Technology Stack when it comes to: - Learning - Job Satisfaction - Job Security - Career Growth #snowpal #projectmanagementKeep it simple. Keep it on https://snowpal.com.

16 Elo 20227min

(Part 2/2) What does it mean to do things at scale?

(Part 2/2) What does it mean to do things at scale?

(Part 2/2) What does it mean to do things at scale? If you are thinking this podcast is about (Performance &) Scalability, think again! #snowpal #projectmanagementKeep it simple. Keep it on https://snowpal.com.

24 Heinä 20225min

(Part 1/2) What does it mean to do things at scale?

(Part 1/2) What does it mean to do things at scale?

(Part 1/2) What does it mean to do things at scale? If you are thinking this podcast is about (Performance &) Scalability, think again! #snowpal #projectmanagementKeep it simple. Keep it on https://snowpal.com.

24 Heinä 20226min

(Part 2/2) Repo-level project management using GitHub Projects

(Part 2/2) Repo-level project management using GitHub Projects

(Part 2/2) A little bit about GitHub Projects. #snowpal #projectmanagementKeep it simple. Keep it on https://snowpal.com.

21 Heinä 20228min

(Part 1/2) Repo-level project management using GitHub Projects

(Part 1/2) Repo-level project management using GitHub Projects

(Part 1/2) A little bit about GitHub Projects. #snowpal #projectmanagementKeep it simple. Keep it on https://snowpal.com.

21 Heinä 202210min

(Part 2/2) GitHub Codespaces: What is it, and how can we use it?

(Part 2/2) GitHub Codespaces: What is it, and how can we use it?

(Part 2/2) A little bit about GitHub Codespaces. #snowpal #projectmanagement Keep it simple. Keep it on https://snowpal.com.

21 Heinä 202218min

(Part 1/2) GitHub Codespaces: What is it, and how can we use it?

(Part 1/2) GitHub Codespaces: What is it, and how can we use it?

(Part 1/2) A little bit about GitHub Codespaces. #snowpal #projectmanagement Keep it simple. Keep it on https://snowpal.com.

21 Heinä 202210min

Implement menus: How hard can it possibly be?

Implement menus: How hard can it possibly be?

Say someone asked you to implement a "tiny" feature on an iPhone Mail App.Here's the (first part of the) requirement as Business provided it (to the dev team):- User can swipe right to left and when they do, 2 menu options should appear.- When you click on one of them, it should allow you to forward the email and when you click the other, it should archive it.Sounds simple enough?It should be simple till you get to the "the devil is in the detail" part. So, before I implement it, here are some questions I would have as a developer:- Can the user only swipe from right to left, or can they do vice-versa? And if they did that, what should happen?- If the user starts swiping but doesn't complete the action till they dragged it all the way to the very left, what should happen?- If the user swiped & performed an action but realized they were on the wrong item so wanted to undo, will they be able to do it? And if so, how?- Can they perform bulk actions? If so, is that a mutually exclusive action agnostic to the individual swipe?- After they swipe on one of the emails, say if they swiped on another. Will the subsequent action need to reset the state so the first one is now un-swiped?- Do we need to support multiple email accounts where each of them is rendered as a separate category? And if we did that, what should happen when a user swipes on one of the emails in each of those sections? Will that result in a reset of all states (of all other sections)?- And there's a few more I can think of off the top of my head but you get the idea.So, now, let me ask again:How simple is the design and implementation now? Did you have a change of heart and will you need to adjust your story points?"How hard can it possibly be?" :)#snowpal #projectmanagementKeep it simple. Keep it on https://snowpal.com. And just so that you can keep it simple, we do everything in our capacity to remove all the complexities. Rome was not built in a day as they say, and Snowpal 2.0 certainly wasn't either. We have built it brick by brick for your pleasure. Or, should I say, "swipe by swipe"? :)

21 Heinä 20227min