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)

Building a Mobile App - Part II (React Native, Flutter, and some others)

Building a Mobile App - Part II (React Native, Flutter, and some others)

Even if you've decided to build a cross-platform native mobile app, there are still a few decisions to be made. In this podcast, I discuss a tiny bit about React Native and Flutter (2 very popular frameworks). #snowpal aws.snowpal.com learn.snowpal.com

24 Marras 202311min

Aggregations in Mongo - Much faster and the best (and maybe only?) alternative in many cases

Aggregations in Mongo - Much faster and the best (and maybe only?) alternative in many cases

If you are using MongoDB and an Object Data Modeling library like Mongoose, or Mongoid, you may find yourselves in situations where your queries are taking a little too long. Come Aggregations to your rescue! #snowpal aws.snowpal.com learn.snowpal.com

24 Marras 202310min

Make your Git commits frequent so you run into fewer merge conflicts

Make your Git commits frequent so you run into fewer merge conflicts

Say, your team is working on a number of features, and there is a steady stream of Pull Requests at any given time. The likelihood and complexity of merge conflicts depends both on the size of your team, and the scope of your features. In this podcast, I discuss a few options to mitigate merge conflicts. #snowpal aws.snowpal.com learn.snowpal.com

24 Marras 20238min

Heroku Cloud Application Platform - why it will help your TTM (Time to Market)

Heroku Cloud Application Platform - why it will help your TTM (Time to Market)

If you want complete control over your servers, you would choose (something like) Amazon EC2 and start with creating a new Machine Image. But, what if your interest primarily lied in building your app, and solving your user's problems ASAP, and you didn't want to spend much, if any, time on setting up and configuring servers? #snowpal aws.snowpal.com learn.snowpal.com

24 Marras 20238min

Building a Brand New Application? Looking for a way to reduce your ramp up time?

Building a Brand New Application? Looking for a way to reduce your ramp up time?

When you get started on a new project, it is natural to feel a tad overwhelmed. After all, it may be a new team, new technology stack, new processes, and new business problems - so it is alright to feel a little restless. But there is a way to feel at home by the end of Day 1.   #snowpal aws.snowpal.com learn.snowpal.com

24 Marras 202312min

Development Efficiency - Are you bouncing your servers too often?

Development Efficiency - Are you bouncing your servers too often?

If it takes you 5 minutes to test 10 lines of code, there is a problem. If it takes you 3 minutes to bounce your (local) server, and that's the only way for you to test your code, there is another problem.  #snowpal aws.snowpal.com learn.snowpal.com

24 Marras 202312min

Code Quality - How can you assess the quality of a codebase before reviewing a single line of code?

Code Quality - How can you assess the quality of a codebase before reviewing a single line of code?

Whether you are joining a new team, or a new developer is joining your team, the expectation is quite the same - "a good quality codebase that will help us understand the product without having to bug the rest of the team". How can we work towards building such a codebase? #snowpal aws.snowpal.com learn.snowpal.com

24 Marras 20239min

Backwards Compatibility Issues - a few ways to ensure that you do not run into them

Backwards Compatibility Issues - a few ways to ensure that you do not run into them

You cannot afford to make Backwards Compatibility an after thought. As your system grows, and your user base grows, you are going to continually add new features and services, and some of them will require fundamental changes to your semantics and data structure. Given that, backwards compatibility can get rather challenging but there are steps you can take to mitigate potential issues. #snowpal aws.snowpal.com learn.snowpal.com

24 Marras 20239min