
Data Mesh Radio
#290 Applying Platform Engineering Best Practices to Your Mesh Data Platform - Interview w/ Tom De Wolf
Podcast summary created with Snipd AI
Quick takeaways
- Platform engineering prioritizes self-service experience for developers, emphasizing automation and simplicity.
- User-centric platform design enhances usability and engagement, focusing on what users want.
- Balancing hidden complexity and customization options in platforms optimizes user experience and flexibility.
Deep dives
Platform Engineering Best Practices
One key takeaway from the podcast episode is that platform engineering at its core focuses on delivering a great and reliable self-service experience to developers. This emphasis on automation, reducing cognitive load, and simplifying complexity is crucial for creating an effective platform, whether in data or software contexts. By hiding unnecessary specifics and automating decisions that don't impact developers directly, platforms can enhance user experience.
User-Centric Platform Design
A critical aspect of building a successful platform is ensuring that it is something users want to use, not just what they have to use. This user experience-centered approach serves as a measuring stick for platform effectiveness. By focusing on user preferences and streamlining interactions, platforms can enhance usability and engagement.
Balancing Complexity in Platform Development
When constructing a platform, it is essential to strategically manage the complexity that needs to be abstracted for users. Beginning with a manageable level of hidden complexity and obtaining feedback from users can guide the gradual automation of unnecessary details. This iterative approach allows for a balance between simplicity and customization.
Customization and Visibility in Platform Design
Platforms should offer customization options for users while maintaining transparency where developers require detailed insights. This balance caters to specific user needs, such as allowing engineers to delve into technical details when necessary. Enabling users to tailor their experiences within reasonable limits enhances user satisfaction.
Empowering Developers with Data Products
A key insight shared in the podcast is the focus on empowering developers to create and maintain data products efficiently. By shifting the emphasis from tool usage to product creation and management, platforms should enable developers to deliver value through data products without being bogged down by tool-centric workflows. This approach encourages a more product-oriented mindset among developers.
Please Rate and Review us on your podcast app of choice!
Get involved with Data Mesh Understanding's free community roundtables and introductions: https://landing.datameshunderstanding.com/
If you want to be a guest or give feedback (suggestions for topics, comments, etc.), please see here
Episode list and links to all available episode transcripts here.
Provided as a free resource by Data Mesh Understanding. Get in touch with Scott on LinkedIn.
Transcript for this episode (link) provided by Starburst. You can download their Data Products for Dummies e-book (info-gated) here and their Data Mesh for Dummies e-book (info gated) here.
Tom's LinkedIn: https://www.linkedin.com/in/tomdw/
Data Mesh Belgium: https://www.meetup.com/data-mesh-belgium/
Video by Tom: 'Platform Building for Data Mesh - Show me how it is done!': https://www.youtube.com/watch?v=wG2g67RHYyo
ACA Group Data Mesh Landing Page: https://acagroup.be/en/services/data-mesh/
In this episode, Scott interviewed Tom De Wolf, Senior Architect and Innovation Lead at ACA Group and Host of the Data Mesh Belgium Meetup.
Some key takeaways/thoughts from Tom's point of view:
- Platform engineering, at its core, is about delivering a great and reliable self-service experience to developers. That's just as true in data as in software. Focus on automation, lowering cognitive load, hiding complexity, etc. If provisioning decision specifics don't matter, why make developers deal with them?
- The key to a good platform is something your users _want_ to use not simply must use. That's your user experience measuring stick.
- When building a platform, you want to hide a lot of the things that don't matter. But when you start, especially with a platform in data mesh, there will be many things you aren't sure if they matter. That's okay, automate those decisions that don't matter as you find them but exposing them early is normal/fine.
- Relatedly, make that hiding easy to see through the curtain if the developer cares. Sometimes it matters to 5% of use cases but also often, engineers really want to understand the details just because they are engineers 😅 Make a platform where people can customize their experience where possible without going overboard.
- ?Controversial?: Few - if any - current tools in data are "aware" of the data product, they are still focused on their specific tasks instead of the target of creating an actual data product.
- Relatedly, the developers should be able to focus on creating and maintaining data products instead of focusing on leveraging specific tools. We need platforms that allow them to deliver value through creating and managing data products, not a focus on working with tools.
- ?Controversial?: Data mesh without technology is just theory. It can't only be about the people - if you focus on evangelizing without anything practical to show, it is too theoretical or abstract for people. You need a platform early to be able to show people what you mean. Scott note: you need a thin slice that has at least some aspect of all the 4 mesh principles early or your implementation becomes lopsided.
- Relatedly, get to something to show people in a demo as soon as possible with your mesh implementation so they can picture it and understand what you're trying to accomplish.
- In data mesh, you will still have data developer power users that really want to dig deep. But a key focus of your platform should be to make it easier for non-power users to still build and maintain great and valuable data products. Expand the potential number of people creating data products by lowering the bar.
- ?Controversial?: The platform team shouldn't be a blocker to new data products being developed. However, you should probably have certain cost guidelines/guardrails so someone doesn't develop a very expensive data product - it should only go to a central team for oversight when cost becomes an issue. That way, you prevent unnecessary friction and costs simultaneously.
- When there is an escalation because of a problem with a data product related to cost or governance, look to frame it as a collaborative deep-dive into an issue. Rather than a central 'you can't do this', it’s much more of a 'why is this made this way? Is this optimal or can we change it?' That collaborative discussion can keep people engaged and leaning in.
- You can get domains more bought in on something like data mesh/data products by showing them how this new approach won't directly tie data schema to their application schema. That way, they can still easily make changes to their application schemas and not break their data products.
- Good engineering is all about managing tradeoffs. Platform engineering is no different. You'll have to look at what should be specific versus generic. Orchestration is one area that should be very generic.
- In data mesh, you want to think about the holistic flow of data and data product work. That's why we need a platform. But the tools aren't really that well built to work together. Be ready for that frustration of having to build on top of the tools to get them to play nicely.
- ?Controversial?: Even if you aren't doing data mesh, your platform should focus on abstractions. What matters and why is a fundamental question. You want people solving challenges that add value.
Learn more about Data Mesh Understanding: https://datameshunderstanding.com/about
Data Mesh Radio is hosted by Scott Hirleman. If you want to connect with Scott, reach out to him on LinkedIn: https://www.linkedin.com/in/scotthirleman/
If you want to learn more and/or join the Data Mesh Learning Community, see here: https://datameshlearning.com/community/
If you want to be a guest or give feedback (suggestions for topics, comments, etc.), please see here
All music used this episode was found on PixaBay and was created by (including slight edits by Scott Hirleman): Lesfm, MondayHopes, SergeQuadrado, ItsWatR, Lexin_Music, and/or nevesf