[
  {
    "start": 69.52,
    "text": "Sven\nWelcome to a new episode of the Case Podcast. ah Today our guest is Simon Harrer, CEO and Co-Founder of Entropy Data, recently ah founded company.",
    "end": 83.37
  },
  {
    "start": 83.37,
    "text": "Sven\nah besides that there is a long list a man of many talents so to speak uh phd in computer science author of java by comparison uh book by pragmatic programmers i i guess um maintainer and co-author of mop dot sh so a tool for mob programming ensemble programming author of the githops primer translator of the data made a data mesh book many things.",
    "end": 114.83
  },
  {
    "start": 114.83,
    "text": "Sven\nWelcome, Simon.",
    "end": 117.63
  },
  {
    "start": 117.63,
    "text": "Simon\nYeah, thanks. Thanks for having me.",
    "end": 120.18
  },
  {
    "start": 120.18,
    "text": "Sven\nAnd also Alex and Heinrich. How are you doing, guys",
    "end": 126.31
  },
  {
    "start": 126.31,
    "text": "Heinrich\nIt's very hot in here.",
    "end": 129.52
  },
  {
    "start": 129.52,
    "text": "Heinrich\nOtherwise, great, yeah.",
    "end": 129.67
  },
  {
    "start": 129.67,
    "text": "Sven\nguys? I'm burning a lot of energy here on my air condition.",
    "end": 134.08
  },
  {
    "start": 134.08,
    "text": "Heinrich\nYeah.",
    "end": 135.07
  },
  {
    "start": 135.07,
    "text": "Sven\nNo,",
    "end": 136.86
  },
  {
    "start": 136.86,
    "text": "Alex\nNice. I hope it's coming from solar energy. Okay.",
    "end": 141.78
  },
  {
    "start": 141.78,
    "text": "Sven\nno. no",
    "end": 142.83
  },
  {
    "start": 142.83,
    "text": "Heinrich\nyeah",
    "end": 142.77
  },
  {
    "start": 142.77,
    "text": "Alex\nYeah.",
    "end": 143.16
  },
  {
    "start": 143.16,
    "text": "Sven\nstill have But it's it's, oh, actually, I have, at least it's it's ah it's a green power, I must say.",
    "end": 144.63
  },
  {
    "start": 144.63,
    "text": "Alex\nto him",
    "end": 150.06
  },
  {
    "start": 150.06,
    "text": "Sven\nYeah.",
    "end": 150.18
  },
  {
    "start": 150.18,
    "text": "Alex\nokay",
    "end": 150.67
  },
  {
    "start": 150.67,
    "text": "Heinrich\ndiving straight into our first agenda topic, Sven's homelab setup.",
    "end": 153.58
  },
  {
    "start": 153.58,
    "text": "Sven\nYeah.",
    "end": 155.1
  },
  {
    "start": 155.1,
    "text": "Alex\nyeah",
    "end": 156.21
  },
  {
    "start": 156.21,
    "text": "Sven\nYeah. But I must say, talking about maybe a little anecdote to warm up with the heat. Yeah. A few colleagues of mine and me, we we translated a book from Gregor Hohpe, A Cloud Strategy, and Gregor lives in Singapore.",
    "end": 175.67
  },
  {
    "start": 175.67,
    "text": "Heinrich\nHmm.",
    "end": 176.51
  },
  {
    "start": 176.51,
    "text": "Sven\nAnd we translated it one year ago. We started with a translation. One of my colleagues said, ah, it's so hot here under the roof. And Gregor was like, yeah, good morning, Singapore. We had 28 degrees ah at 8 o'clock in the morning.",
    "end": 194.8
  },
  {
    "start": 194.8,
    "text": "Sven\nAnd then my colleague said, yeah but you have air condition. And then Grigo was like, I mean, you cannot run air condition all the time. You just have to get used to the heat.",
    "end": 206.59
  },
  {
    "start": 206.59,
    "text": "Sven\nit's",
    "end": 209.3
  },
  {
    "start": 209.3,
    "text": "Alex\nOkay.",
    "end": 211.17
  },
  {
    "start": 211.17,
    "text": "Sven\nAll right. So let's dive into the topic. um Yeah, I already said it. Entropy data. maybe Maybe you can say a few words about the company. What what what are you guys ah doing?",
    "end": 225.3
  },
  {
    "start": 225.3,
    "text": "Simon\nSo we we just founded in August 2025 together with Jochen Christ. It's a spin-off from InnoQ. And um it markets the data mesh manager that's a data marketplace built on data products and data contracts.",
    "end": 244.78
  },
  {
    "start": 244.78,
    "text": "Simon\nAnd that's really helpful to really large companies",
    "end": 247.54
  },
  {
    "start": 247.54,
    "text": "Sven\nThank you.",
    "end": 249.87
  },
  {
    "start": 249.87,
    "text": "Simon\nBecause it's an internal data marketplace where teams can share data with other teams ah in the in a way to build trust and to to build cool things on on top of that data.",
    "end": 261.73
  },
  {
    "start": 261.73,
    "text": "Alex\nIt sounds really interesting.",
    "end": 261.81
  },
  {
    "start": 261.81,
    "text": "Simon\nAnd it's really an interesting situation right now. So we did this step because the product grew at InnoQ.",
    "end": 273.12
  },
  {
    "start": 273.12,
    "text": "Simon\nAnd we already have a lot of customers. So we are we are basically",
    "end": 278.95
  },
  {
    "start": 278.95,
    "text": "Simon\nSo we we are we are not VC funded, we are ah bootstrapped and and we are we are break even and really want to grow now.",
    "end": 290.56
  },
  {
    "start": 290.56,
    "text": "Simon\nAnd it's it's it's kind of it feels the right time. That data becomes very important with the rise of AI and we have so many inbound leads. So it's really a really interesting topic at the moment.",
    "end": 303.61
  },
  {
    "start": 303.61,
    "text": "Alex\nSo Simon, can you give some career advice? How do you go from Java programmer over to data and CEO of a data company?",
    "end": 314.67
  },
  {
    "start": 314.67,
    "text": "Simon\nfrom doing For me, it was a long long long way, so to say.",
    "end": 315.05
  },
  {
    "start": 315.05,
    "text": "Alex\nWhat was your story?",
    "end": 319.14
  },
  {
    "start": 319.14,
    "text": "Simon\nBut maybe I share that story because I i think it it might be interesting. um So for me, so I'm a software engineer at heart. And I was at NOQ doing a consultancy project for Breuninger, where we built as part of the e-commerce system, so their e-commerce um vendor, we built the distributed order management.",
    "end": 344.67
  },
  {
    "start": 344.67,
    "text": "Simon\nand it was part of this InnoQ team. We did mob programming, as you already mentioned. It was really a fun fun time there. And at some point while we worked there, um something happened in my life that has never happened before.",
    "end": 362.32
  },
  {
    "start": 362.32,
    "text": "Simon\nThe backlog went dry.",
    "end": 364.21
  },
  {
    "start": 364.21,
    "text": "Heinrich\nHuh.",
    "end": 365.66
  },
  {
    "start": 365.66,
    "text": "Simon\nAnd at the same time, people from their data team said, hey, we've we've got BigQuery. Who wants to try it out? And so we said, oh, well, actually, don't have too much to do at the moment.",
    "end": 379.15
  },
  {
    "start": 379.15,
    "text": "Simon\nlet's Let's try it out. So we pumped our data from our operational systems that we um and we've built, like safe-contained systems. We pumped that to BigQuery from all the safe-contained systems into one one BigQuery project.",
    "end": 395.28
  },
  {
    "start": 395.28,
    "text": "Simon\nAnd we started doing analytical analysis and queries on on all of that data. And that's how we transitioned into a hypothesis-driven product team by the books.",
    "end": 409.07
  },
  {
    "start": 409.07,
    "text": "Simon\nSo we really evaluated all the user stories that we got or that we some ideas we had with data first. And then we decided whether it's sensible to really follow up and and build the feature.",
    "end": 423.31
  },
  {
    "start": 423.31,
    "text": "Simon\nAnd then after we build the features, we could really evaluate whether they had the impact we prognosticed. and this was That was really my way into the data world because in the end, what we were there just to to to point a little in the future. so we Basically, we were the small domain team that not only had ownership of the operational data, but also on the analytical data, like the whole end-to-end ownership.",
    "end": 453.65
  },
  {
    "start": 453.65,
    "text": "Alex\nMm-hmm.",
    "end": 454.54
  },
  {
    "start": 454.54,
    "text": "Simon\nand One could say this is kind of the the idea of data mesh. And the BigQuery was our self-service data platform. We were the domain team. ah Governance was not really there too much, and and we didn't share data products on.",
    "end": 471.47
  },
  {
    "start": 471.47,
    "text": "Simon\nBut in the end, ah we had this first step of bottom-up approach of data mesh, I would say.",
    "end": 478.09
  },
  {
    "start": 478.09,
    "text": "Alex\nWould you advocate for such? I can imagine it's quite a stretch because usually people consuming analytics data are different types of stakeholders than those that are interested in the product management and bringing features to customers, isn't it?",
    "end": 499.81
  },
  {
    "start": 499.81,
    "text": "Simon\num",
    "end": 503.13
  },
  {
    "start": 503.13,
    "text": "Simon\nthere There are some people that that use the data in a different way. Maybe you have to do some reporting. But as a product team, you need your own data and also data from other teams to make your product better.",
    "end": 515.36
  },
  {
    "start": 515.36,
    "text": "Alex\nMm-hmm.",
    "end": 517.87
  },
  {
    "start": 517.87,
    "text": "Simon\nand And the best way to do that is is using and an analytics platform because then you can crunch a lot of data. You can combine it very easily. but that But this is the problem.",
    "end": 528.87
  },
  {
    "start": 528.87,
    "text": "Simon\nI think and that's also the the easiest way to get the culture in because how do you convince software people or not to to um to to share data with others?",
    "end": 545.1
  },
  {
    "start": 545.1,
    "text": "Simon\nThe best way is you you need that data from others as well. And so you will be part, will be try to be a good citizen in that in that ecosystem because you know you need something from the others as well.",
    "end": 551.59
  },
  {
    "start": 551.59,
    "text": "Alex\nOkay.",
    "end": 558.18
  },
  {
    "start": 558.18,
    "text": "Simon\nAnd so you try to be helpful as well.",
    "end": 564.56
  },
  {
    "start": 564.56,
    "text": "Sven\nYeah, um",
    "end": 567.55
  },
  {
    "start": 567.55,
    "text": "Sven\ni'm i'm I'm not very good, I assume, in in in analyzing data, at at least not as good as, let's say, a data scientist. um Before we dive into the marketplace and product data products and stuff like that, maybe also one further question.",
    "end": 587.06
  },
  {
    "start": 587.06,
    "text": "Sven\nhow How should a team do that? So should should I build up this expertise, becoming you know an analytics expert? Or is it that you know in the sense of ah team topologies, there is an enabling team which supports me with all the knowledge that I you know be able to to analyze data in a certain way?",
    "end": 616.65
  },
  {
    "start": 616.65,
    "text": "Simon\nThe bottleneck is always domain knowledge. it's not ah send not so So it's not the knowledge of ah how to do data analysis, but it's more like you have to have the domain knowledge, and then you can be supported to do the analysis on your own.",
    "end": 630.95
  },
  {
    "start": 630.95,
    "text": "Sven\ne",
    "end": 635.82
  },
  {
    "start": 635.82,
    "text": "Simon\nand and And so it's much easier to get people from an enabling team into your team so they help you to learn these few analysis skills.",
    "end": 646.24
  },
  {
    "start": 646.24,
    "text": "Sven\nOkay, okay.",
    "end": 647.04
  },
  {
    "start": 647.04,
    "text": "Simon\num but then the other way around. So we tried the other way around to say we've put all our great data scientists in one team, and then they had to acquire the domain knowledge from all around the company.",
    "end": 653.13
  },
  {
    "start": 653.13,
    "text": "Sven\nYeah, yeah, yeah.",
    "end": 659.92
  },
  {
    "start": 659.92,
    "text": "Simon\nAnd and that created a much, much more problematic bottleneck, I would say.",
    "end": 664.41
  },
  {
    "start": 664.41,
    "text": "Sven\nYeah, exactly.",
    "end": 665.17
  },
  {
    "start": 665.17,
    "text": "Simon\nAnd this is exactly in the situation where but companies ah are often in, and they don't want that anymore.",
    "end": 669.73
  },
  {
    "start": 669.73,
    "text": "Heinrich\nsimple",
    "end": 671.62
  },
  {
    "start": 671.62,
    "text": "Simon\nThey want to to go really in a domain-oriented Architecture, domain-driven design also follows a little bit like that approach. um so And that's that's also the approach for this enabling team and the platform team.",
    "end": 687.44
  },
  {
    "start": 687.44,
    "text": "Simon\nSo because both help so having a good platform, ah an easy-to-use self-service platform also helps these domain teams make it easier for them to to do the analysis but for sharing data on or using other teams' data.",
    "end": 700.15
  },
  {
    "start": 700.15,
    "text": "Sven\nOkay.",
    "end": 704.44
  },
  {
    "start": 704.44,
    "text": "Simon\nSo that's, yeah, so i would say yes.",
    "end": 707.43
  },
  {
    "start": 707.43,
    "text": "Sven\nOkay, okay. Yeah.",
    "end": 712.76
  },
  {
    "start": 712.76,
    "text": "Sven\nAll right.",
    "end": 715.59
  },
  {
    "start": 715.59,
    "text": "Sven\nGood. So, um yeah, I would just start now with, um let's let's start from data marketplace, then go to data products, and then finally, eventually, to a data contract.",
    "end": 728.42
  },
  {
    "start": 728.42,
    "text": "Sven\num So what what is a data marketplace? And um I think ah in in your you wrote an article, I believe, about it, um you compare it to a data catalog. I must say we we had ah an episode with Christoph Windhäuser on data architecture, and he said, yeah, the data catalog is, so to speak, the heart of um of data architecture.",
    "end": 760.12
  },
  {
    "start": 760.12,
    "text": "Sven\nSo, yeah, please um yeah explain what a marketplace is and how it compares to to a data catalog.",
    "end": 769.5
  },
  {
    "start": 769.5,
    "text": "Simon\nSo to me, most modern or basically all modern data approaches go towards this federated approach. So you have federated teams, decentralized teams that own their data.",
    "end": 785.59
  },
  {
    "start": 785.59,
    "text": "Simon\nand they they have to share it on. But for that to work, you need a central place where everything comes together. and We can monitor, we can govern, we can manage what what one team owns and shares and who is using it and so on and so forth.",
    "end": 804.02
  },
  {
    "start": 804.02,
    "text": "Simon\nYou have to kind coordinate that. um and and The data marketplace to me is the system. This is where everybody meets. ah the The owner of data who shares data on.",
    "end": 817.63
  },
  {
    "start": 817.63,
    "text": "Simon\nah The consumer can look for data, can request access, and then ah use the data. We can also ensure trust. and think of an entry in the marketplace where we see, oh, these are the data guarantees around. no We are guaranteed this data schema.",
    "end": 835.99
  },
  {
    "start": 835.99,
    "text": "Simon\nWe are guaranteed that in this column are at most 5% null values. And but we also see the green check mark next to to which says, OK, this is automatically ah checked.",
    "end": 849.61
  },
  {
    "start": 849.61,
    "text": "Simon\nAnd governance is at the marketplace because they want to ensure that only data that follows certain rules, certain policies ah is is shared, and it's shared in a correct way not to violate GDPR or other ah the ah they constraints.",
    "end": 870.7
  },
  {
    "start": 870.7,
    "text": "Simon\nAnd Platform is interested in as well because you can automate a lot around that. um Maybe someone requests access to a to ah to data and then it's getting approved. Then we need to automat automatically make sure that the people really have access where the data is actually in in some buckets or SQL tables or so on.",
    "end": 891.31
  },
  {
    "start": 891.31,
    "text": "Simon\nSo everybody kind of meets in this in this marketplace. And that's why I think this is so such an essential component and The details page, this is what we what I see, is the details page in our data marketplace should be the data product and the guarantees around data that I'm sharing should be captured in the data contract. and and With that, this is what what I think works. and What we had previously, what was classified as a data catalog,",
    "end": 930.79
  },
  {
    "start": 930.79,
    "text": "Simon\num often did not work. so they They were very expensive and they had this functionality of scraping all the whole company. Every SQL table was scraped and put in the data catalog.",
    "end": 945.77
  },
  {
    "start": 945.77,
    "text": "Simon\nand Then governance said, ok let's assign ownership and then say, okay you you own it now, you have to document this now and you respond.",
    "end": 949.98
  },
  {
    "start": 949.98,
    "text": "Heinrich\nYeah.",
    "end": 955.46
  },
  {
    "start": 955.46,
    "text": "Alex\nAnd keep it updated, right?",
    "end": 956.02
  },
  {
    "start": 956.02,
    "text": "Simon\nThat did not work. and that that did not work No one was had an incentive to to actually keep that up to date. and There was a lot of scraped metadata in from maybe tables that were not for sharing.",
    "end": 971.55
  },
  {
    "start": 971.55,
    "text": "Simon\nIt was just internal tables.",
    "end": 972.71
  },
  {
    "start": 972.71,
    "text": "Heinrich\nyeah",
    "end": 973.61
  },
  {
    "start": 973.61,
    "text": "Simon\nSo it's not did not I've never experienced a company that said, we are proud of our data catalog. And and it it it brings the value that we we think.",
    "end": 985.36
  },
  {
    "start": 985.36,
    "text": "Simon\nAnd it's a good arrow ROI. have never heard about that.",
    "end": 987.19
  },
  {
    "start": 987.19,
    "text": "Heinrich\nit's It's like just looking at all your GitHub issues or your JIRA issues, right?",
    "end": 987.88
  },
  {
    "start": 987.88,
    "text": "Simon\nSorry.",
    "end": 992.91
  },
  {
    "start": 992.91,
    "text": "Heinrich\nSo never somebody kind of proud of the whole collection. It really matters that the things that are important move forward, right?",
    "end": 1001.23
  },
  {
    "start": 1001.23,
    "text": "Alex\nbut isn't that i mean that's ah obviously i would say a cultural topic isn't that related to what you said in the beginning like you said hey let's be a good citizen because we depend on the others so let's be ah role model and deliver what we expect from others",
    "end": 1001.41
  },
  {
    "start": 1001.41,
    "text": "Simon\nyeah",
    "end": 1002.87
  },
  {
    "start": 1002.87,
    "text": "Heinrich\nYeah.",
    "end": 1021.02
  },
  {
    "start": 1021.02,
    "text": "Alex\nIs that what you want to sort of formalize in ah in a data marketplace?",
    "end": 1026.95
  },
  {
    "start": 1026.95,
    "text": "Simon\num In some way, yes. For me, it's It's more this, I just put the data I want to share in the marketplace, and this is curated, and this is a",
    "end": 1039.28
  },
  {
    "start": 1039.28,
    "text": "Heinrich\nYeah.",
    "end": 1043.77
  },
  {
    "start": 1043.77,
    "text": "Simon\nah step I take. ah I don't know the word, bewusst, consciously.",
    "end": 1048.73
  },
  {
    "start": 1048.73,
    "text": "Alex\nConscious.",
    "end": 1048.81
  },
  {
    "start": 1048.81,
    "text": "Sven\nHow do you say that?",
    "end": 1048.85
  },
  {
    "start": 1048.85,
    "text": "Simon\nyeah ah none and And I put this there, I own it, and I add also guarantees to that.",
    "end": 1056.65
  },
  {
    "start": 1056.65,
    "text": "Alex\nMm-hmm. Mm-hmm.",
    "end": 1057.4
  },
  {
    "start": 1057.4,
    "text": "Simon\nand and this is this is the other way around. I'm totally against putting automatically creating data products because this this has to be a step where say, I do this, I can help with a lot of tools to make it easy to do that, of course, but it should be a conscious step.",
    "end": 1074.38
  },
  {
    "start": 1074.38,
    "text": "Heinrich\nYep.",
    "end": 1077.13
  },
  {
    "start": 1077.13,
    "text": "Alex\nWould it help maybe? Let's just assume listeners have heard about the term data data products, but they are used to, let's say, classical ah API publishing. So having an API spec that I that i publish and ah maybe people know where the different instances of my application reside, what the URL is and where they can find that API.",
    "end": 1103.27
  },
  {
    "start": 1103.27,
    "text": "Alex\nHow would you compare that to a data product being published in a data marketplace?",
    "end": 1109.95
  },
  {
    "start": 1109.95,
    "text": "Simon\nThink of a data product like a microservice or self-contained system, and the data contracts are basically the API specification.",
    "end": 1120.72
  },
  {
    "start": 1120.72,
    "text": "Alex\nIs it just an OpenAPI 3.0 spec or is there more to it?",
    "end": 1126.95
  },
  {
    "start": 1126.95,
    "text": "Simon\nyeah so The data contracts come with their own YAML specification.",
    "end": 1133.37
  },
  {
    "start": 1133.37,
    "text": "Alex\nMm-hmm.",
    "end": 1133.72
  },
  {
    "start": 1133.72,
    "text": "Simon\nah the one one the I think the most popular one is the Open Data Contract Standard from the Linux Foundation. And i to to ah to clarify, I'm also part of the Technical Steering Committee driving this open standard.",
    "end": 1147.88
  },
  {
    "start": 1147.88,
    "text": "Alex\nOkay, that's probably something that we should dive into deeper. If I look into Sven's face, that's a topic where we have a lot of questions, right?",
    "end": 1156.77
  },
  {
    "start": 1156.77,
    "text": "Sven\nyeah Yeah, exactly.",
    "end": 1157.38
  },
  {
    "start": 1157.38,
    "text": "Alex\nLet's stick to the to the data products for a second.",
    "end": 1157.57
  },
  {
    "start": 1157.57,
    "text": "Sven\nYeah.",
    "end": 1160.34
  },
  {
    "start": 1160.34,
    "text": "Alex\nSo you said a data product is like a microservice.",
    "end": 1164.64
  },
  {
    "start": 1164.64,
    "text": "Simon\nMm-hmm. Mm-hmm.",
    "end": 1164.94
  },
  {
    "start": 1164.94,
    "text": "Alex\num The thing that that I have in mind is um when I publish an API, um I'm usually very careful with what I publish because I'm aware things that I published once are hard to take back.",
    "end": 1180.82
  },
  {
    "start": 1180.82,
    "text": "Alex\nSo I'm actually, ah I'm never publishing all the data that I have. At the same time, I would like my colleagues to know which data I have so they could ask me for it.",
    "end": 1192.82
  },
  {
    "start": 1192.82,
    "text": "Alex\nSo they know, ah okay, the data is available somewhere in the company. and Alex and his team has it. ah So how would I do that?",
    "end": 1203.77
  },
  {
    "start": 1203.77,
    "text": "Simon\nYeah, so what we what we would recommend is specifying a proposed um data product with a data contract, and in the data contract, it's also in the proposed state, and you could describe but that your data model.",
    "end": 1220.43
  },
  {
    "start": 1220.43,
    "text": "Alex\nCool.",
    "end": 1221.24
  },
  {
    "start": 1221.24,
    "text": "Simon\nBut it's not yet published. It's not yet implemented. ah No one can can build something on it. You can just say, hey, this is what I but i own.",
    "end": 1227.22
  },
  {
    "start": 1227.22,
    "text": "Alex\nSo.",
    "end": 1230.26
  },
  {
    "start": 1230.26,
    "text": "Simon\nThis is what i'm what I could share.",
    "end": 1230.88
  },
  {
    "start": 1230.88,
    "text": "Alex\nCool. Yeah.",
    "end": 1233.52
  },
  {
    "start": 1233.52,
    "text": "Simon\num",
    "end": 1233.58
  },
  {
    "start": 1233.58,
    "text": "Sven\nMm-hmm.",
    "end": 1235.04
  },
  {
    "start": 1235.04,
    "text": "Alex\nSo it's ah it's a proposal not only on I have this data and could share it, but also a proposal how ah how I would want to share it.",
    "end": 1235.5
  },
  {
    "start": 1235.5,
    "text": "Simon\nthat's",
    "end": 1242.12
  },
  {
    "start": 1242.12,
    "text": "Alex\nCool.",
    "end": 1242.83
  },
  {
    "start": 1242.83,
    "text": "Simon\nboth ways would work. it's um I think then then the the discussion bubble will start and you can um define the interface, perhaps even together with your with your initial customer, but by still thinking about how could it be more helpful to to many others, because the the idea still with a data product is sharing data so many can use it.",
    "end": 1255.91
  },
  {
    "start": 1255.91,
    "text": "Alex\nMm-hmm.",
    "end": 1267.39
  },
  {
    "start": 1267.39,
    "text": "Alex\nYeah, at the same time, I'm a big fan of the statement, you have to pay twice before it's cheap, right? Only after the third time someone asks for it, I create this general abstraction and a general interface.",
    "end": 1277.16
  },
  {
    "start": 1277.16,
    "text": "Simon\nwhich",
    "end": 1285.75
  },
  {
    "start": 1285.75,
    "text": "Simon\nYeah, but in the when you when you maybe coming more from the software engineering on a side and you you have your operational system and want to share that data, um you might already have a good API from your operational system.",
    "end": 1297.03
  },
  {
    "start": 1297.03,
    "text": "Alex\nMm-hmm.",
    "end": 1303.21
  },
  {
    "start": 1303.21,
    "text": "Simon\nah Thinking of ah your aggregate that you share in your operational system, think speaking in domain-driven design terms.",
    "end": 1303.57
  },
  {
    "start": 1303.57,
    "text": "Alex\nYeah. Yeah.",
    "end": 1313.42
  },
  {
    "start": 1313.42,
    "text": "Simon\nAnd you might have a feed implementation or a REST API where you can look at the current state of your aggregate. That's probably very interesting to data people.",
    "end": 1326.93
  },
  {
    "start": 1326.93,
    "text": "Simon\nand not having having this this table where you where you see the current snapshot of ah of this aggregate and also how it evolves over time, ah that's that's already a good first guess.",
    "end": 1343.01
  },
  {
    "start": 1343.01,
    "text": "Alex\nIt's interesting. i'm i'm I'm seeing a rabbit hole there and I'm wondering whether we should go into that in terms of API design, ah like because most of the APIs that I see are, um I can query the current state rather than um APIs that are emitting events that occurred within the system.",
    "end": 1363.8
  },
  {
    "start": 1363.8,
    "text": "Alex\nThat's only only very seldomly seen, at least in my environment and the systems that I see, unfortunately, I have to say.",
    "end": 1375.38
  },
  {
    "start": 1375.38,
    "text": "Simon\nJust one one quick comment on that because I also find this very interesting. So what we, in the in the data world, what you don't want to do is re-implement business logic you already have implemented in an operational system.",
    "end": 1390.1
  },
  {
    "start": 1390.1,
    "text": "Alex\nYeah.",
    "end": 1390.5
  },
  {
    "start": 1390.5,
    "text": "Simon\nSo, and you don't want to,",
    "end": 1391.48
  },
  {
    "start": 1391.48,
    "text": "Alex\nAgreed.",
    "end": 1393.67
  },
  {
    "start": 1393.67,
    "text": "Simon\ninterpret events and determine the state again, especially maybe for a simple business logic logic that works, it's very stable. But if it's more complex business logic, you might end up with the wrong data, wrong conclusions. And that's that's horrible. We don't want to do that.",
    "end": 1409.37
  },
  {
    "start": 1409.37,
    "text": "Alex\nYeah.",
    "end": 1409.7
  },
  {
    "start": 1409.7,
    "text": "Simon\num so So there's no alternative to to just get the aggregation states because that's otherwise, you have to re-implement the business logic ending in the current state.",
    "end": 1424.26
  },
  {
    "start": 1424.26,
    "text": "Simon\nSo otherwise, it would be event sourcing, basically, and re-implement event sourcing in the data platform.",
    "end": 1424.48
  },
  {
    "start": 1424.48,
    "text": "Alex\nI. Yeah.",
    "end": 1426.68
  },
  {
    "start": 1426.68,
    "text": "Alex\ni",
    "end": 1429.96
  },
  {
    "start": 1429.96,
    "text": "Simon\nnot Not sure you want to do that.",
    "end": 1431.92
  },
  {
    "start": 1431.92,
    "text": "Alex\nI couldn't agree more, Simon.",
    "end": 1432.05
  },
  {
    "start": 1432.05,
    "text": "Sven\nand",
    "end": 1433.6
  },
  {
    "start": 1433.6,
    "text": "Alex\nIn the end, that's that's coming back to the the statement that you phrased earlier. Domain knowledge is always the bottleneck, right? And only those with the domain knowledge know how to properly aggregate their domain's events.",
    "end": 1447.44
  },
  {
    "start": 1447.44,
    "text": "Alex\nand um So the the point that I wanted to make is basically that um the people that have the domain knowledge should be the ones understanding what are the questions of the consumer, no matter whether it's an operational API or a data analytics API that that I'm specifying.",
    "end": 1469.05
  },
  {
    "start": 1469.05,
    "text": "Sven\num can we Can we come up with an example? So let's say an example data product.",
    "end": 1483.48
  },
  {
    "start": 1483.48,
    "text": "Simon\nlike i can I can tell, um we had we a talk about one of our clients gave a talk and and they told about their most important data product. and I think that's that's an interesting story.",
    "end": 1496.2
  },
  {
    "start": 1496.2,
    "text": "Simon\nso The most important data product, it's a large logistics company, and that most important data product was the shipments data product.",
    "end": 1506.97
  },
  {
    "start": 1506.97,
    "text": "Simon\nBecause it's a large logistics company, they have shipments for the road,",
    "end": 1508.95
  },
  {
    "start": 1508.95,
    "text": "Heinrich\nyeah.",
    "end": 1512.31
  },
  {
    "start": 1512.31,
    "text": "Heinrich\nYeah.",
    "end": 1512.67
  },
  {
    "start": 1512.67,
    "text": "Simon\nah sea, air, water, I don't know, several ah well there' have systems for each of that.",
    "end": 1515.78
  },
  {
    "start": 1515.78,
    "text": "Sven\nMm-hmm.",
    "end": 1516.31
  },
  {
    "start": 1516.31,
    "text": "Heinrich\nYeah.",
    "end": 1518.82
  },
  {
    "start": 1518.82,
    "text": "Simon\nAnd it's very complicated. And it's very hard to get the data. and And what they did is they created this this shipments data product. And it has four different output ports, so the same data.",
    "end": 1534.62
  },
  {
    "start": 1534.62,
    "text": "Simon\nBut it's available through a REST API, a Kafka topic, on SQL tables on Snowflake, and as um I think JSON files on a AWS S3.",
    "end": 1546.07
  },
  {
    "start": 1546.07,
    "text": "Sven\nso the So the data product shipments, it's what, how would i imagine? it is Is it the, we say we we we have a description of of this product. We say, hey, we we offer data about all kinds of shipments we have.",
    "end": 1564.57
  },
  {
    "start": 1564.57,
    "text": "Simon\nYeah, of all the shipments of the company, regardless where they are right now,",
    "end": 1564.87
  },
  {
    "start": 1564.87,
    "text": "Sven\nAnd",
    "end": 1570.12
  },
  {
    "start": 1570.12,
    "text": "Simon\nYou get all get the the picture, you you you can always track the thing um ah ah and it's it's it's",
    "end": 1578.04
  },
  {
    "start": 1578.04,
    "text": "Sven\nOkay. Yeah. Yeah.",
    "end": 1579.17
  },
  {
    "start": 1579.17,
    "text": "Simon\nit's fed by a lot of systems. It's it's it's a a clean interface. It doesn't have all the details, right it's ah but it's such it's so valuable that that it's the most um ah popular thing and they they told in the",
    "end": 1587.86
  },
  {
    "start": 1587.86,
    "text": "Sven\nyeah",
    "end": 1595.98
  },
  {
    "start": 1595.98,
    "text": "Simon\nthe ah talk that it's it' enabled a lot of interesting new use cases.",
    "end": 1603.84
  },
  {
    "start": 1603.84,
    "text": "Heinrich\nI would add two examples here. um the First one, I would also think about companies is selling data sets. I think here the data product is just very literally true. um I think a couple of our colleagues we met at the InnoQ roundtable are actually in that business of selling really data sets to others. And you can imagine like different channels through which you make the data available, but you are on the hook for the quality and availability of the data as a vendor very very directly. And there are certain SLAs with regards to kind of freshness associated to this that you guarantee to your customers.",
    "end": 1636.82
  },
  {
    "start": 1636.82,
    "text": "Heinrich\nAnd then um in e-commerce context, I think there is the um the user data product that I would think is extremely important to know who is your users.",
    "end": 1648.75
  },
  {
    "start": 1648.75,
    "text": "Heinrich\nwhich traditionally may be just a SQL table, but in federated architectures, this gets a lot more subtle than this. There are many, many different ah like systems who build up a opinion on what a user is and what attributes are associated with them, and there's a lot of duplication.",
    "end": 1657.32
  },
  {
    "start": 1657.32,
    "text": "Sven\nYeah.",
    "end": 1666.45
  },
  {
    "start": 1666.45,
    "text": "Heinrich\nSo having an authoritative source and a team that is kind of accountable to having up-to-date user data and providing it to everybody else, I think it's that is kind of...",
    "end": 1677.26
  },
  {
    "start": 1677.26,
    "text": "Heinrich\nan important kind of asset. um Similarly, sales orders, right? That's also something that a lot of systems touch. And I think then you also have data sets that are more internal or data products that are more kind of like, for example, on the platform.",
    "end": 1692.13
  },
  {
    "start": 1692.13,
    "text": "Heinrich\num We do have data sets about like all employees that we have. We have data sets about all applications. And also here, there are different ah ways to query the data. There are different ways to view the data.",
    "end": 1708.22
  },
  {
    "start": 1708.22,
    "text": "Heinrich\nBut I think this kind of governance and accountability structures there are quite important that there is somebody you can go to that will take ownership of this and if there are issues in the data or in the way they are made available,",
    "end": 1725.0
  },
  {
    "start": 1725.0,
    "text": "Heinrich\nthat they will kind of take take ownership of this, um fix them, and also document the data set in a way that others can discover it and leverage it in a self-serviceable manner.",
    "end": 1737.25
  },
  {
    "start": 1737.25,
    "text": "Heinrich\nSo you don't have to kind of go to people or read source code in order to make use of a data set. This is how as i see it, Simon, Simon, is this, oh yeah, in English, yeah. Does that resonate with your kind of ah draw different accents here?",
    "end": 1755.39
  },
  {
    "start": 1755.39,
    "text": "Simon\nYeah, no, i would I would fully agree. Maybe we we can use the classification of data products um from Sharmak Degani from her book because we have this, but we mostly what we talked about were the aggregated data products, not data products that",
    "end": 1770.5
  },
  {
    "start": 1770.5,
    "text": "Heinrich\nand",
    "end": 1772.2
  },
  {
    "start": 1772.2,
    "text": "Simon\num that are fed from many different systems. We have created a unified data model. They they have a lot of value in the company, um and they they have a lot of different use cases where they could apply to.",
    "end": 1786.77
  },
  {
    "start": 1786.77,
    "text": "Simon\nBut they are kind of the middle layer. On the bottom layer, we have the source-aligned data products, which offer data mostly from one source system. ah where then And their data model is heavily linked to the model of the source system.",
    "end": 1803.02
  },
  {
    "start": 1803.02,
    "text": "Heinrich\nYeah.",
    "end": 1803.13
  },
  {
    "start": 1803.13,
    "text": "Simon\nThey're very dependent. So when the source system changes, they can't really do that much. They have to follow a follower, basically, from ah from the from the model.",
    "end": 1813.48
  },
  {
    "start": 1813.48,
    "text": "Simon\nnow we could um And that's the the the lower part.",
    "end": 1814.41
  },
  {
    "start": 1814.41,
    "text": "Sven\nand",
    "end": 1818.21
  },
  {
    "start": 1818.21,
    "text": "Simon\nThen we touch the middle layer, the aggregated layer. um And then and we have the more consumer-aligned data products. This is where we produce maybe a data mart for a specific set of reports or for a specific team.",
    "end": 1834.64
  },
  {
    "start": 1834.64,
    "text": "Simon\nAnd so we have a limited number of people where we produce data for.",
    "end": 1837.78
  },
  {
    "start": 1837.78,
    "text": "Heinrich\nyeah",
    "end": 1838.71
  },
  {
    "start": 1838.71,
    "text": "Simon\nup four",
    "end": 1839.72
  },
  {
    "start": 1839.72,
    "text": "Sven\nknow",
    "end": 1840.05
  },
  {
    "start": 1840.05,
    "text": "Simon\nAnd these are the, that might help.",
    "end": 1842.34
  },
  {
    "start": 1842.34,
    "text": "Sven\nwhat What is the data mod?",
    "end": 1846.08
  },
  {
    "start": 1846.08,
    "text": "Simon\nThink of like a small data warehouse with a specific group of people in mind.",
    "end": 1849.01
  },
  {
    "start": 1849.01,
    "text": "Sven\nOkay. Hmm. Okay. Okay.",
    "end": 1853.08
  },
  {
    "start": 1853.08,
    "text": "Simon\num",
    "end": 1855.1
  },
  {
    "start": 1855.1,
    "text": "Heinrich\nI mean, isn't kind of management stakeholders a typical example here. So you have management reports that you're producing and they obviously very important, but only a handful of people read them.",
    "end": 1865.67
  },
  {
    "start": 1865.67,
    "text": "Heinrich\nYeah.",
    "end": 1866.79
  },
  {
    "start": 1866.79,
    "text": "Simon\nYes. I think of a data map for finance um ah data that's just fed feeding, used for creating finance ah reports.",
    "end": 1877.19
  },
  {
    "start": 1877.19,
    "text": "Simon\nand And the underlying data for for those re reports, they they should also be captured in ah in ah in this case, consumer aligned um data product.",
    "end": 1890.58
  },
  {
    "start": 1890.58,
    "text": "Sven\nAll right. Yeah, wonderful. and So i I actually, more than 10 years ago, i think I worked on a data product. No, actually, we we we sold data. Actually, we aggregated data, but it yeah there there were no terms, so at least we didn't know any terms or structure. We just did stuff and sold data.",
    "end": 1916.14
  },
  {
    "start": 1916.14,
    "text": "Sven\nYeah. Yeah.",
    "end": 1919.65
  },
  {
    "start": 1919.65,
    "text": "Sven\nSo now we we had the data marketplace. We now know what a data product is. um Now eventually ah we come we come to the data contract.",
    "end": 1931.02
  },
  {
    "start": 1931.02,
    "text": "Sven\nSo what is a data contract?",
    "end": 1936.39
  },
  {
    "start": 1936.39,
    "text": "Simon\nlet me Let me just say before we come to that, just one one more word for the data product because this gives us the mindset. um With the data product, the core idea is to to share data so that it's good for my consumers. I share in a way that it's easy to use and perfect for for my consumers.",
    "end": 1964.12
  },
  {
    "start": 1964.12,
    "text": "Simon\nbut That's the core idea, the product thinking idea of a data product.",
    "end": 1970.07
  },
  {
    "start": 1970.07,
    "text": "Sven\nHmm.",
    "end": 1971.11
  },
  {
    "start": 1971.11,
    "text": "Simon\nI have the consumer in mind. i want to to help them. um i want to to build it so they can easily easily use it. Maybe I use the technologies that are good for my consumers. I create a data model that is good for my consumers so that they can benefit.",
    "end": 1988.63
  },
  {
    "start": 1988.63,
    "text": "Simon\nthey can benefit",
    "end": 1990.35
  },
  {
    "start": 1990.35,
    "text": "Alex\nBut then again, Simon, what is the difference to regular API specification?",
    "end": 1990.55
  },
  {
    "start": 1990.55,
    "text": "Sven\nbut",
    "end": 1996.37
  },
  {
    "start": 1996.37,
    "text": "Alex\nBecause I would assume that when people design an API, they also have the consumers in mind and they make some assumptions on how it will be interacted with, even though they don't specify that.",
    "end": 2004.55
  },
  {
    "start": 2004.55,
    "text": "Sven\nyeah",
    "end": 2010.07
  },
  {
    "start": 2010.07,
    "text": "Alex\nYeah.",
    "end": 2011.29
  },
  {
    "start": 2011.29,
    "text": "Simon\nYeah, nothing. Absolutely nothing. the the and The only thing is that in the data world, when we when we had we have this situation where people just dumped data somewhere and thought this is valuable,",
    "end": 2027.2
  },
  {
    "start": 2027.2,
    "text": "Alex\nA three bucket, internet readable.",
    "end": 2028.38
  },
  {
    "start": 2028.38,
    "text": "Simon\nand",
    "end": 2029.83
  },
  {
    "start": 2029.83,
    "text": "Alex\nGreat idea.",
    "end": 2030.01
  },
  {
    "start": 2030.01,
    "text": "Simon\nWell, that internet readable, more more kind um enterprise readable, ah you just dumped it there and you thought this was valuable as it's an asset. And it actually it was, that we thought about a data lake and we have to fish for the gold in there.",
    "end": 2043.53
  },
  {
    "start": 2043.53,
    "text": "Simon\nAnd it's ah sometimes some person will go there and find the gold and everybody will be happy.",
    "end": 2046.07
  },
  {
    "start": 2046.07,
    "text": "Alex\nInteresting.",
    "end": 2050.28
  },
  {
    "start": 2050.28,
    "text": "Simon\nAnd this did not work.",
    "end": 2050.37
  },
  {
    "start": 2050.37,
    "text": "Alex\nwhat's that What's that phrase again? is it is Is it a piece of art or is it a trash dump?",
    "end": 2055.5
  },
  {
    "start": 2055.5,
    "text": "Simon\nIt was a trash dump. Absolutely.",
    "end": 2057.69
  },
  {
    "start": 2057.69,
    "text": "Alex\nMm-hmm. Yeah.",
    "end": 2058.36
  },
  {
    "start": 2058.36,
    "text": "Sven\nah but but only on Yeah, on the other side, um i mean, with one of my current customers, which is large enterprise IT, it's, you know, i we we also deal with a lot of APIs and no one, no one is a bit too extreme, but lots of those teams who offer the API,",
    "end": 2058.62
  },
  {
    "start": 2058.62,
    "text": "Simon\nIt was a costly one.",
    "end": 2075.97
  },
  {
    "start": 2075.97,
    "text": "Simon\nThank",
    "end": 2085.87
  },
  {
    "start": 2085.87,
    "text": "Sven\nwe have to explain them that they have to talk to us. We are their customers. You know, you have to, they they don't give a shit. You know, they just build something and think that's probably useful.",
    "end": 2096.09
  },
  {
    "start": 2096.09,
    "text": "Alex\nYeah.",
    "end": 2097.14
  },
  {
    "start": 2097.14,
    "text": "Sven\nSo I think also in the, I would assume in the data world, it's the same, you know, you see your data product as something you you want to have users. You want to have your your users, you offer a product, but probably,",
    "end": 2112.39
  },
  {
    "start": 2112.39,
    "text": "Sven\nthe The product thinking is not in most of the teams, I would say, the development teams.",
    "end": 2116.8
  },
  {
    "start": 2116.8,
    "text": "Alex\nWell, depends, Sven. oh I would argue from a domain-driven design perspective, you are a conformist, or at least the ah the producer thinks you are conformist.",
    "end": 2127.44
  },
  {
    "start": 2127.44,
    "text": "Sven\nExactly, exactly. but But I am not, yeah? Because... we No, i mean, even even even if I'm the... they they They don't even think...",
    "end": 2139.25
  },
  {
    "start": 2139.25,
    "text": "Sven\nProbably we have to explain the terms a bit. yeah So domain-driven design um talks about, let's say, strategic design talks about different types of relationships.",
    "end": 2141.97
  },
  {
    "start": 2141.97,
    "text": "Alex\nMm-hmm.",
    "end": 2146.65
  },
  {
    "start": 2146.65,
    "text": "Alex\nStrategic design knows relationship patterns.",
    "end": 2151.8
  },
  {
    "start": 2151.8,
    "text": "Sven\nSo you can be a conformist. You have to eat what your supplier gives you. But even...",
    "end": 2156.0
  },
  {
    "start": 2156.0,
    "text": "Alex\nBecause you don't have a connection or relationship to them, so you can negotiate the interface. You cannot negotiate, so you just have to accept.",
    "end": 2161.92
  },
  {
    "start": 2161.92,
    "text": "Sven\nExactly. which Which is fine, you know, if you're Google or if you're AWS, ah you have so many clients, you have to come up with something. yeah And I mean, if I say something, I want the interface different, the API, they don't care about me.",
    "end": 2171.53
  },
  {
    "start": 2171.53,
    "text": "Alex\nMm-hmm.",
    "end": 2176.48
  },
  {
    "start": 2176.48,
    "text": "Alex\nYeah.",
    "end": 2178.92
  },
  {
    "start": 2178.92,
    "text": "Sven\nBut in another setting, um I rather want another relationship. you know I want that people talk to me they and also to possible other consumers.",
    "end": 2190.17
  },
  {
    "start": 2190.17,
    "text": "Sven\nand um And I see that as a problem yeah with normal APIs. And I would also see that with data products that...",
    "end": 2201.25
  },
  {
    "start": 2201.25,
    "text": "Alex\num Well, the point for me being, um and Simon, please correct me, what I understood from data contracts is they make a relationship more reliable because each side knows what to expect from the other.",
    "end": 2218.52
  },
  {
    "start": 2218.52,
    "text": "Sven\nData contracts, are you saying?",
    "end": 2219.78
  },
  {
    "start": 2219.78,
    "text": "Alex\nData contracts, yes.",
    "end": 2220.73
  },
  {
    "start": 2220.73,
    "text": "Sven\nah We are not at the data contracts yet, are we?",
    "end": 2220.92
  },
  {
    "start": 2220.92,
    "text": "Simon\nyeah",
    "end": 2223.14
  },
  {
    "start": 2223.14,
    "text": "Alex\nWell, wait, the point is here, reliability in terms of I know what to expect. The point that I'm trying to make is i only know very few people who wrap their head around strategic design and intentionally designing such relationships.",
    "end": 2242.59
  },
  {
    "start": 2242.59,
    "text": "Alex\nSo you say, well, I'm not a conformist, but obviously political relationships at your and at your client say, well, you are, because otherwise the um the team that is that is ah offering the data, so the supplier, would need to would need to talk to you.",
    "end": 2262.41
  },
  {
    "start": 2262.41,
    "text": "Alex\nAnd then you would have a customer-supplier relationship.",
    "end": 2268.51
  },
  {
    "start": 2268.51,
    "text": "Alex\nSo if you had political power, so your team had political power, you could call them into um into a customer-supplier relationship and say, I want to negotiate with you because I have the political power to do that, to force you into that.",
    "end": 2280.05
  },
  {
    "start": 2280.05,
    "text": "Sven\nYeah, i expect the han like exactly, exactly. yeah Yeah, actually, yeah to be honest, that's true. I mean, this is happening. You know, they see me as a conformist and I say, no, we are a customer and you are our supplier.",
    "end": 2291.26
  },
  {
    "start": 2291.26,
    "text": "Alex\nYeah.",
    "end": 2292.21
  },
  {
    "start": 2292.21,
    "text": "Simon\nMm-hmm.",
    "end": 2295.75
  },
  {
    "start": 2295.75,
    "text": "Sven\nAnd also those that team and that team and that team, please talk to us.",
    "end": 2299.17
  },
  {
    "start": 2299.17,
    "text": "Alex\nyeah",
    "end": 2300.86
  },
  {
    "start": 2300.86,
    "text": "Sven\num",
    "end": 2301.05
  },
  {
    "start": 2301.05,
    "text": "Alex\nand the The interesting part for me is that",
    "end": 2303.6
  },
  {
    "start": 2303.6,
    "text": "Sven\nAnd they do and they do. i must I must admit most of them they do. Right. So you you can change that relationship. Sorry.",
    "end": 2310.23
  },
  {
    "start": 2310.23,
    "text": "Alex\nI mean, the the the interesting part here is, i mean, obviously that is pretty frustrating for people who have to be conformist and have to, so to say, have to accept what what is offered to them.",
    "end": 2310.67
  },
  {
    "start": 2310.67,
    "text": "Sven\nGo ahead.",
    "end": 2322.72
  },
  {
    "start": 2322.72,
    "text": "Alex\nIf it doesn't fit, then you have a problem and you cannot ah you cannot fulfill your team's goals, right? And sometimes it's it's pretty hard to ah to make this visible, right?",
    "end": 2334.78
  },
  {
    "start": 2334.78,
    "text": "Alex\nLike to make it visible to ah to your team stakeholders, hey, we are blocked, we cannot deliver our goals or our sprint goals, our monthly, quarterly goals, whatever, because we don't get the data from this other team's interface.",
    "end": 2342.18
  },
  {
    "start": 2342.18,
    "text": "Simon\nThank",
    "end": 2352.25
  },
  {
    "start": 2352.25,
    "text": "Alex\nAnd now again, Simon, correct me. Data contracts is a way to express what I would actually need in order to fulfill that goal and to very explicitly show what is missing.",
    "end": 2372.67
  },
  {
    "start": 2372.67,
    "text": "Simon\nYes. so we the maybe Maybe moving on to to data contracts. so Data contracts is a description of um",
    "end": 2387.1
  },
  {
    "start": 2387.1,
    "text": "Sven\nright.",
    "end": 2387.41
  },
  {
    "start": 2387.41,
    "text": "Simon\nbasically a data model, quality guarantees, service level agreements, or no and and it can be defined either by one offering data,",
    "end": 2393.73
  },
  {
    "start": 2393.73,
    "text": "Alex\nExactly. Mm-hmm.",
    "end": 2398.94
  },
  {
    "start": 2398.94,
    "text": "Simon\nAnd it's a producer-driven data contract. So it's more guarantees. It's more, this is what I promise. And you can rely on that because it's my data. I share it.",
    "end": 2410.5
  },
  {
    "start": 2410.5,
    "text": "Simon\ni own it. this is When you go there and you see the data contract, and this and you can also vary we can also verify that automatically, and potential consumers can rely on what's there.",
    "end": 2423.8
  },
  {
    "start": 2423.8,
    "text": "Simon\nAnd then there's the contract the consumer-driven data contract. This is when the consumer defines their expectations and say, oh, I actually need these columns.",
    "end": 2431.37
  },
  {
    "start": 2431.37,
    "text": "Sven\nMmm.",
    "end": 2435.73
  },
  {
    "start": 2435.73,
    "text": "Simon\nAnd I need it in in that's with that SLA. and And I do have these additional quality check constraints and so on and so forth.",
    "end": 2440.53
  },
  {
    "start": 2440.53,
    "text": "Alex\nExactly.",
    "end": 2446.17
  },
  {
    "start": 2446.17,
    "text": "Simon\nAnd both both work.",
    "end": 2446.67
  },
  {
    "start": 2446.67,
    "text": "Alex\nAnd, and,",
    "end": 2448.21
  },
  {
    "start": 2448.21,
    "text": "Simon\nand And the best both both overlap in some way.",
    "end": 2452.06
  },
  {
    "start": 2452.06,
    "text": "Alex\nbut,",
    "end": 2452.29
  },
  {
    "start": 2452.29,
    "text": "Heinrich\nThank you.",
    "end": 2452.53
  },
  {
    "start": 2452.53,
    "text": "Simon\nshould, yeah.",
    "end": 2453.53
  },
  {
    "start": 2453.53,
    "text": "Alex\nBut that's that's the benefit that I see from from data contracts and why I think people should wrap their head around that because exactly aspects like freshness of data is something that you cannot express in regular API contracts.",
    "end": 2468.95
  },
  {
    "start": 2468.95,
    "text": "Alex\nSo your expectations, how fresh the data shall be, how available or during which time periods of the day the data should be available and in in which, how do you say, a ah querying interval.",
    "end": 2484.61
  },
  {
    "start": 2484.61,
    "text": "Alex\nSo if you say, well, in the time between 9 and 9 in the morning and 6 I want to query your ah your API every 60 seconds, and I want to have a freshness of data that's no older than five minutes.",
    "end": 2499.01
  },
  {
    "start": 2499.01,
    "text": "Alex\nThat is something that you cannot express in OpenAPI spec.",
    "end": 2504.98
  },
  {
    "start": 2504.98,
    "text": "Simon\nYeah, so they're different. yeah They have their own. ah Think of data contracts as guarantees around a large data set.",
    "end": 2514.38
  },
  {
    "start": 2514.38,
    "text": "Alex\nMm-hmm.",
    "end": 2514.52
  },
  {
    "start": 2514.52,
    "text": "Simon\nThe data set could span many tables, just using the table metaphor here. um and And you guarantee things around this whole data set. This could be structure. This could be these SLAs. It could also be governance things, like you are allowed to use the data for these purposes, but not for these.",
    "end": 2537.31
  },
  {
    "start": 2537.31,
    "text": "Simon\nWe can limit that. Maybe also you can use the data, but you cannot reshare it. So there could be additional terms and conditions as well. um So it nuts it's a little bit more than we typically have experience in the operational world, ah because there's also this analytical data that constraints on what you can do with it.",
    "end": 2551.43
  },
  {
    "start": 2551.43,
    "text": "Sven\nMm-hmm.",
    "end": 2557.15
  },
  {
    "start": 2557.15,
    "text": "Simon\nAnd in the operational world, you always have this ah i felt china I don't know the English term, ah the free ticket basically, because you can always say, we need this to do business.",
    "end": 2569.11
  },
  {
    "start": 2569.11,
    "text": "Simon\nAnd then you're allowed to do a lot of stuff.",
    "end": 2569.7
  },
  {
    "start": 2569.7,
    "text": "Alex\nYeah, that's true.",
    "end": 2571.63
  },
  {
    "start": 2571.63,
    "text": "Simon\nAnd then the analytical world, you always have to verify, is this allowed? are we Do we have the purpose?",
    "end": 2576.0
  },
  {
    "start": 2576.0,
    "text": "Heinrich\nOh.",
    "end": 2576.75
  },
  {
    "start": 2576.75,
    "text": "Simon\nDo we have the consent? Do we have whatever? um and And maybe you also buy data from outside and and weather data, statistics data. And they they also have come with license terms.",
    "end": 2587.08
  },
  {
    "start": 2587.08,
    "text": "Simon\nYou can do anything with that.",
    "end": 2589.47
  },
  {
    "start": 2589.47,
    "text": "Alex\n<unk> true",
    "end": 2589.64
  },
  {
    "start": 2589.64,
    "text": "Simon\nso",
    "end": 2590.73
  },
  {
    "start": 2590.73,
    "text": "Sven\nMm-hmm.",
    "end": 2590.98
  },
  {
    "start": 2590.98,
    "text": "Simon\nthese These are all aspects to the to the data contract.",
    "end": 2595.31
  },
  {
    "start": 2595.31,
    "text": "Heinrich\nI mean, one important dimension here, I think it's also tooling support or automated like integrations and checks. um Because in order for this to actually work, you need some degree of like really hard linking and maybe some degree of discovery.",
    "end": 2614.57
  },
  {
    "start": 2614.57,
    "text": "Heinrich\num you cannot purely make this a documentation exercise. You can think of a data catalog like a telephone book, and then you can have just a Google Docs process or an editorial process of planoff releasing the data catalog every month.",
    "end": 2627.55
  },
  {
    "start": 2627.55,
    "text": "Simon\nMm-hmm. you",
    "end": 2628.47
  },
  {
    "start": 2628.47,
    "text": "Heinrich\nAnd you can see how horrible that would be. And the same at the same time, just running a discovery cron job over your databases and seeing, hey, here are all the databases that also clearly doesn't work.",
    "end": 2640.95
  },
  {
    "start": 2640.95,
    "text": "Heinrich\nSo I think there's a lot of kind of, on a practical level, a lot of the art is kind of making the tooling support seamless, but also really strictly positive in the value that it adds, since it should really support the developer in articulating the guarantees, expectations, and so on.",
    "end": 2661.53
  },
  {
    "start": 2661.53,
    "text": "Heinrich\nand um And a lot of the journeys are actually starting extremely basic, right? I have a data set. I just put it on Google Drive as a zip file and share the link. That can be a data product or it can be a spreadsheet where our customers are in it.",
    "end": 2678.28
  },
  {
    "start": 2678.28,
    "text": "Heinrich\nI can put 10,000 rows into spreadsheets, no problem. And for many companies, this is the master database of all the customers. I mean, for like at the majority of companies, this is the ah master database.",
    "end": 2690.87
  },
  {
    "start": 2690.87,
    "text": "Sven\nMm-hmm.",
    "end": 2691.01
  },
  {
    "start": 2691.01,
    "text": "Heinrich\num So, I think a lot of this journey is kind of start extremely low tech. And if you are putting everything in the MySQL database, you immediately kind of make this big kind of wall around it.",
    "end": 2695.99
  },
  {
    "start": 2695.99,
    "text": "Simon\nYeah.",
    "end": 2701.69
  },
  {
    "start": 2701.69,
    "text": "Heinrich\nOnly developers can even integrate or see the data. And um so, the kind of field, the technological landscape of systems which which carry data is very large.",
    "end": 2713.23
  },
  {
    "start": 2713.23,
    "text": "Heinrich\nUm, and yeah, the trade-offs are just very subtle because then there's also the vendors who say, oh, just bring everything to Databricks and then everybody will be in your kind of unity catalog and you will be happy. And then I'm like, no, they are in Google drive or in, I don't know my FTP server or in my other system.",
    "end": 2730.87
  },
  {
    "start": 2730.87,
    "text": "Heinrich\nSo can you like talk a little bit about this kind of set of trade-offs and challenges, and maybe do you have an opinion or a sweet spot that kind of should work for, for medium sized companies?",
    "end": 2743.14
  },
  {
    "start": 2743.14,
    "text": "Simon\nand so So a data contract really can can apply to any data set on any technology.",
    "end": 2746.56
  },
  {
    "start": 2746.56,
    "text": "Sven\nThank you.",
    "end": 2750.41
  },
  {
    "start": 2750.41,
    "text": "Simon\num that it could be i always use this example of CSV files on an SFTP store, very similar to what you're talking about.",
    "end": 2753.54
  },
  {
    "start": 2753.54,
    "text": "Alex\nThank",
    "end": 2758.07
  },
  {
    "start": 2758.07,
    "text": "Heinrich\nyeah",
    "end": 2760.33
  },
  {
    "start": 2760.33,
    "text": "Simon\nIt could also be data set behind a REST API, where you can go through the data set through pagination. ah It could be SQL tables. But in the end, it's always data set.",
    "end": 2772.79
  },
  {
    "start": 2772.79,
    "text": "Simon\nregardless of how you access it, is it just a get query? Is it not? And it takes some time, or do have to query the whole Kafka topic to get all the data?",
    "end": 2780.76
  },
  {
    "start": 2780.76,
    "text": "Heinrich\nyeah",
    "end": 2787.12
  },
  {
    "start": 2787.12,
    "text": "Simon\nIn the end, the data contract protects a very large data set and gives the guarantees around that. And we have to and then we have to",
    "end": 2799.34
  },
  {
    "start": 2799.34,
    "text": "Heinrich\nThank you.",
    "end": 2799.35
  },
  {
    "start": 2799.35,
    "text": "Simon\nAnd then I would agree totally for the tooling support. the The value, it's it's it's nice to document it. And it's ah already nice to say, well, this is what I offer.",
    "end": 2811.96
  },
  {
    "start": 2811.96,
    "text": "Simon\nAnd potential consumers can have a look at it. But the the benefit comes from automation. and I'm co-maintainer of the data contract CLI that can automatically read YAML structures written using the open data contract standard.",
    "end": 2831.17
  },
  {
    "start": 2831.17,
    "text": "Simon\nAnd then it can automatically connect to a data source and check whether the guarantees are met.",
    "end": 2840.38
  },
  {
    "start": 2840.38,
    "text": "Heinrich\nOkay, now we come.",
    "end": 2840.9
  },
  {
    "start": 2840.9,
    "text": "Simon\nThat's very popular.",
    "end": 2841.83
  },
  {
    "start": 2841.83,
    "text": "Heinrich\nYeah.",
    "end": 2842.77
  },
  {
    "start": 2842.77,
    "text": "Simon\nah And that's that's the key to win the hearts of your data engineers.",
    "end": 2847.09
  },
  {
    "start": 2847.09,
    "text": "Heinrich\nbut That's actually important and interesting information. i mean, I have been circling around this for a while, but I have not really come across those concrete tools. And um so is that kind of the way forward right now that we have this open data contract spec, that there are some maybe open source databases you can already use for managing data contracts, and then there are vendor solutions which are kind of adding adding value on top?",
    "end": 2867.8
  },
  {
    "start": 2867.8,
    "text": "Alex\nThank",
    "end": 2874.65
  },
  {
    "start": 2874.65,
    "text": "Simon\nYeah, this is the current situation I see it. um I think um we are in this in the data world.",
    "end": 2877.02
  },
  {
    "start": 2877.02,
    "text": "Heinrich\nYeah.",
    "end": 2880.33
  },
  {
    "start": 2880.33,
    "text": "Simon\nWe are in this spot where open standards are really driving a lot of things. Like when you think of iceberg that changed a lot in the data world, and I think that the open data contract standard will have its impact.",
    "end": 2896.06
  },
  {
    "start": 2896.06,
    "text": "Simon\nAnd that there will be an open data product standard. There will be more standards coming coming as well. um um I'm working together with a lot of great minds on that.",
    "end": 2906.66
  },
  {
    "start": 2906.66,
    "text": "Heinrich\nNice.",
    "end": 2906.7
  },
  {
    "start": 2906.7,
    "text": "Simon\nand",
    "end": 2906.95
  },
  {
    "start": 2906.95,
    "text": "Heinrich\nYep.",
    "end": 2907.48
  },
  {
    "start": 2907.48,
    "text": "Simon\nBut the combination is with open source tools for and using making use as ah as an engineer. and We see where the vendors come in is this and in the central platforms.",
    "end": 2921.34
  },
  {
    "start": 2921.34,
    "text": "Simon\nNow where everything comes together, we we talked about the data marketplace.",
    "end": 2921.97
  },
  {
    "start": 2921.97,
    "text": "Heinrich\nyeah",
    "end": 2925.69
  },
  {
    "start": 2925.69,
    "text": "Simon\nah We see also that trend here. ah be There you see the data product. You see your contract. You see the validation results next to it. You see who already has access and why you can request access and provide a purpose.",
    "end": 2939.66
  },
  {
    "start": 2939.66,
    "text": "Simon\num And and and all all these things together, i think this is really what but how i see the current current world.",
    "end": 2949.64
  },
  {
    "start": 2949.64,
    "text": "Alex\nIt's pretty interesting, Simon, to me.",
    "end": 2949.81
  },
  {
    "start": 2949.81,
    "text": "Simon\nyeah",
    "end": 2951.78
  },
  {
    "start": 2951.78,
    "text": "Alex\nUsually I would say engineers have a kind of dislike for like specifications and and yeah specifying a lot of things.",
    "end": 2964.47
  },
  {
    "start": 2964.47,
    "text": "Alex\num Would you mind sharing a little bit about the the history, if I remember correctly, when Jochen and you built data contracts? um It was in parallel to an initiative at PayPal.",
    "end": 2977.9
  },
  {
    "start": 2977.9,
    "text": "Alex\nAnd what was the reason or the use case that you had for building this spec and how did it evolve since then into open data contracts?",
    "end": 2989.08
  },
  {
    "start": 2989.08,
    "text": "Simon\nso So we started datacontract.com with the data contract specification. And we we started it because we realized the key part of a data product is actually the interface around the data sets it shares, like the API.",
    "end": 3005.46
  },
  {
    "start": 3005.46,
    "text": "Alex\nMm-hmm.",
    "end": 3006.94
  },
  {
    "start": 3006.94,
    "text": "Simon\nthat's That's where the music is playing. This is the essential part. But for it to work, um you need to specify it in ah and like an open API spec.",
    "end": 3018.66
  },
  {
    "start": 3018.66,
    "text": "Simon\num But there's it's it's you have to to make it in combination with ah with a tooling, with an automatic verification, and also use it for you can also generate a lot of stuff, like your code generators from OpenAPI.",
    "end": 3035.39
  },
  {
    "start": 3035.39,
    "text": "Simon\nThat was basically one of the things why OpenAPI was so successful. It was because of those generators, because of the automation around it. And we we had the same idea. We wanted to say, OK, we have the data contracts back now.",
    "end": 3047.83
  },
  {
    "start": 3047.83,
    "text": "Simon\nLet's build the automation around it so to make it successful. At the same time, ah data contracts were invented in in several places. We have this at GoCardless with Andrew Jones.",
    "end": 3061.8
  },
  {
    "start": 3061.8,
    "text": "Simon\nWe had this at ah PayPal with Jean-Georges Perrin. And what George Perrin did is basically convinced the people at PayPal to open source it, ah their own format, and later ah pushed it into the Linux Foundation as ah as the open data contract standard and tried to find a lot of people um to to support this.",
    "end": 3088.35
  },
  {
    "start": 3088.35,
    "text": "Simon\nAnd we also realized that, we we looked at it, and In the initial version that but from PayPal, it was still very PayPal-specific.",
    "end": 3099.83
  },
  {
    "start": 3099.83,
    "text": "Simon\nAnd so we invested a lot of time um to make it more you know ah more applicable like for other companies, for other technologies, because PayPal was ah ah using BigQuery a lot. And so it was very BigQuery-specific, but not everybody's using BigQuery.",
    "end": 3117.76
  },
  {
    "start": 3117.76,
    "text": "Simon\nand um And now we we are basically saying, and we and basically we also realized that it's much better to have a standard where a lot of people are behind than do your own thing. And this is why we said, hey, we we put all our resources together um and and the open data contracts and that is the new way forward.",
    "end": 3142.58
  },
  {
    "start": 3142.58,
    "text": "Simon\nAnd we are basically sunsetting the data contract specification.",
    "end": 3149.16
  },
  {
    "start": 3149.16,
    "text": "Simon\nThat's kind of the the history in a nutshell.",
    "end": 3152.82
  },
  {
    "start": 3152.82,
    "text": "Alex\nThanks.",
    "end": 3153.73
  },
  {
    "start": 3153.73,
    "text": "Simon\nand the Maybe just to add the data contracts, Eli, the automation that's already supporting the open data contract standard um as well, because this is, again, automation is the key to adoption in that case.",
    "end": 3168.07
  },
  {
    "start": 3168.07,
    "text": "Alex\nSo to make it easier for for developers to use, right? make it To make it simple to do the right thing.",
    "end": 3175.05
  },
  {
    "start": 3175.05,
    "text": "Simon\nbut to To get a benefit. So it's not just the documentation exercise, but you get this benefit of checking whether your data, your interface matches what you specified.",
    "end": 3188.44
  },
  {
    "start": 3188.44,
    "text": "Simon\nis Is the table I produce, is it the structure as I define in my data contract? you can just run that um in your CI CD pipeline while you while you develop.",
    "end": 3198.86
  },
  {
    "start": 3198.86,
    "text": "Alex\nI was going to ask, is it a similar to consumer driven contract testing where you can integrate checking your data contracts against your latest build?",
    "end": 3211.88
  },
  {
    "start": 3211.88,
    "text": "Simon\nyeah Yes and no. The cool thing with data contracts is that you basically can, when you have access to the data, you can check it.",
    "end": 3222.97
  },
  {
    "start": 3222.97,
    "text": "Simon\nYou don't need a complex mock system.",
    "end": 3225.7
  },
  {
    "start": 3225.7,
    "text": "Alex\nMm-hmm.",
    "end": 3225.76
  },
  {
    "start": 3225.76,
    "text": "Simon\nyou The moment you get access, you can run and verify whether the contract or the data that you have access to matches the contract.",
    "end": 3237.63
  },
  {
    "start": 3237.63,
    "text": "Alex\nOkay, but that means,",
    "end": 3237.92
  },
  {
    "start": 3237.92,
    "text": "Simon\nThere's no complex setup required to execute that.",
    "end": 3242.33
  },
  {
    "start": 3242.33,
    "text": "Alex\nbut I'm thinking about systems that have different environments. I don't know, and developer environment, integration environment, demo environment, production environment.",
    "end": 3253.03
  },
  {
    "start": 3253.03,
    "text": "Simon\nwho",
    "end": 3253.64
  },
  {
    "start": 3253.64,
    "text": "Alex\nYou would have to run the tests. If you say you actually validate against the real data that is stored in the system, you would have to validate against all of these environments, right?",
    "end": 3267.28
  },
  {
    "start": 3267.28,
    "text": "Simon\nYeah, if you if you want to, and they might differ a little bit, maybe a because",
    "end": 3274.0
  },
  {
    "start": 3274.0,
    "text": "Alex\nThat would be my question. like Do you already have some experience, some recommendations that you could give to to people in terms of when you update your data contract, this is how you should run the validation. This is how you should run updates in in terms of process, communication to others.",
    "end": 3293.66
  },
  {
    "start": 3293.66,
    "text": "Alex\nBecause I assume you will not run an update of your data contract on all the systems, on all the the environments at once. but say I don't know. You first release it to an integration environment and inform people. I don't know. What's your thoughts?",
    "end": 3310.03
  },
  {
    "start": 3310.03,
    "text": "Simon\nSo first of all, only data in prod is interesting.",
    "end": 3314.23
  },
  {
    "start": 3314.23,
    "text": "Alex\nThat's what you say.",
    "end": 3315.25
  },
  {
    "start": 3315.25,
    "text": "Simon\nyeah the The problem is that other data in other stages you can try to to mimic the characteristics of your prod data, but it's never prod data.",
    "end": 3325.87
  },
  {
    "start": 3325.87,
    "text": "Sven\nMm-hmm.",
    "end": 3325.99
  },
  {
    "start": 3325.99,
    "text": "Alex\nYeah, it's true. It's true.",
    "end": 3327.56
  },
  {
    "start": 3327.56,
    "text": "Simon\nIt's always different. it's always It's hard to verify that when you do something, that's the right thing. Because it's it's it it has ah you can anonymize, you can try to retain the structure, but in the end, it's it's always different.",
    "end": 3342.88
  },
  {
    "start": 3342.88,
    "text": "Simon\nso",
    "end": 3343.01
  },
  {
    "start": 3343.01,
    "text": "Alex\nSo you're a big proponent of testing changes in production.",
    "end": 3343.52
  },
  {
    "start": 3343.52,
    "text": "Simon\nand",
    "end": 3346.12
  },
  {
    "start": 3346.12,
    "text": "Simon\nWell, was if you if you can, data only is fun in prod.",
    "end": 3350.96
  },
  {
    "start": 3350.96,
    "text": "Alex\nAh.",
    "end": 3351.03
  },
  {
    "start": 3351.03,
    "text": "Simon\nThat being said, um that and and that's also where others rely on on it and where you have to you can use the contract to monitor, to continuously monitor the guarantees.",
    "end": 3362.92
  },
  {
    "start": 3362.92,
    "text": "Simon\nBecause data is constantly flowing, data is increasing, data is appended to to the to the interfaces.",
    "end": 3363.38
  },
  {
    "start": 3363.38,
    "text": "Alex\nMm-hmm.",
    "end": 3370.01
  },
  {
    "start": 3370.01,
    "text": "Simon\nIt's getting bigger and bigger. might be also truncated, but it's normally it's getting bigger and bigger. And you can with the contract, you can always verify whether these the data still matches what you guaranteed.",
    "end": 3383.08
  },
  {
    "start": 3383.08,
    "text": "Simon\ndoesn't doesn't break The SLA is not broken at some interval.",
    "end": 3387.93
  },
  {
    "start": 3387.93,
    "text": "Sven\nit's i mean basically you do data monitoring so you run let's say those tests every every hour or whatever and if it fails you get an alert for example",
    "end": 3388.08
  },
  {
    "start": 3388.08,
    "text": "Alex\nyou",
    "end": 3402.86
  },
  {
    "start": 3402.86,
    "text": "Simon\nyeah In a nutshell, yeah. ah the The problem is that it's costly because you pay for compute.",
    "end": 3411.4
  },
  {
    "start": 3411.4,
    "text": "Sven\nhmm",
    "end": 3411.67
  },
  {
    "start": 3411.67,
    "text": "Simon\nRunning those checks is paying for compute. And ah the just using the BigQuery pricing model, you pay, think it's $10 or $5 for one terabyte that you you do process.",
    "end": 3427.17
  },
  {
    "start": 3427.17,
    "text": "Sven\nOh, OK.",
    "end": 3427.66
  },
  {
    "start": 3427.66,
    "text": "Simon\nAnd we venue when you have a large table and you process it every everyone every hour and it's ah",
    "end": 3427.77
  },
  {
    "start": 3427.77,
    "text": "Sven\nYeah.",
    "end": 3434.03
  },
  {
    "start": 3434.03,
    "text": "Sven\nyeah",
    "end": 3434.08
  },
  {
    "start": 3434.08,
    "text": "Simon\nit's it's It covers one terabyte and you really ah crunch the one terabyte for each check. Then you can always have $10 or something. time just in yeah yeah yeah yeah you have to",
    "end": 3443.6
  },
  {
    "start": 3443.6,
    "text": "Alex\nWell, in the end, it could be worth it, right?",
    "end": 3448.83
  },
  {
    "start": 3448.83,
    "text": "Simon\nWhat I mean is you have to make sure that it it fits. um and you have to make a Think a little bit about it. it's not It's not just a little bit of unit testing and during development with fixed costs.",
    "end": 3460.18
  },
  {
    "start": 3460.18,
    "text": "Alex\nYeah.",
    "end": 3462.31
  },
  {
    "start": 3462.31,
    "text": "Simon\nthe the data monitoring can be really expensive and you have to really manage money manage that.",
    "end": 3465.37
  },
  {
    "start": 3465.37,
    "text": "Sven\nHmm.",
    "end": 3468.28
  },
  {
    "start": 3468.28,
    "text": "Sven\nYeah.",
    "end": 3469.89
  },
  {
    "start": 3469.89,
    "text": "Simon\nBut regarding to the stages, Alex, what you said, just one one one word to that. so",
    "end": 3479.25
  },
  {
    "start": 3479.25,
    "text": "Simon\nWhat we recommend is basically um",
    "end": 3485.81
  },
  {
    "start": 3485.81,
    "text": "Simon\nusing the contract, the validation of the contract also in the CI CD pipeline, during not during the propagation. ah you You build and you you you check it against your testing.",
    "end": 3498.89
  },
  {
    "start": 3498.89,
    "text": "Simon\nAnd then in your pipeline, you can push it further to staging and you can also run those data contract checks against the data API on your staging environment.",
    "end": 3512.18
  },
  {
    "start": 3512.18,
    "text": "Simon\num And then at the end, you publish it in production. and And in production, I would rather go just with the monitoring.",
    "end": 3521.96
  },
  {
    "start": 3521.96,
    "text": "Alex\nMm-hmm.",
    "end": 3528.72
  },
  {
    "start": 3528.72,
    "text": "Sven\ni I had a look at um the data mesh manager um and I believe, you know, it's like five weeks ago.",
    "end": 3541.11
  },
  {
    "start": 3541.11,
    "text": "Sven\nSo when I looked at it, I think I saw like all the data products. And if you look at the data products, you see, you know, the the status. Is it, um are the data correct?",
    "end": 3553.18
  },
  {
    "start": 3553.18,
    "text": "Sven\nYou know, what whatever the the contract promises, is that true?",
    "end": 3556.7
  },
  {
    "start": 3556.7,
    "text": "Simon\nMm-hmm.",
    "end": 3559.15
  },
  {
    "start": 3559.15,
    "text": "Sven\nSo how often or is it even the case that if I go to the marketplace and I publish my data product with a certain data contract that this marketplace, data contract manager, that you guys also execute once in a while um those contracts or is it only executed once?",
    "end": 3585.98
  },
  {
    "start": 3585.98,
    "text": "Simon\nThat's the monitoring aspect. now It should be, or we executed ah through a schedule because in production, you want to monitor it.",
    "end": 3588.09
  },
  {
    "start": 3588.09,
    "text": "Sven\nYeah.",
    "end": 3596.08
  },
  {
    "start": 3596.08,
    "text": "Simon\nwhen you When you move through the stages, it's not that important to publish it to others.",
    "end": 3602.82
  },
  {
    "start": 3602.82,
    "text": "Sven\nYeah,",
    "end": 3603.71
  },
  {
    "start": 3603.71,
    "text": "Simon\nYou can still publish it if you want, if you want to give people insight into your dev or staging environment and you want to document that.",
    "end": 3609.68
  },
  {
    "start": 3609.68,
    "text": "Sven\nyeah.",
    "end": 3611.62
  },
  {
    "start": 3611.62,
    "text": "Simon\nBut in the end, it's not that important.",
    "end": 3614.33
  },
  {
    "start": 3614.33,
    "text": "Sven\nyeah Yeah, I'm only here, in this case, I'm only interested in production.",
    "end": 3617.92
  },
  {
    "start": 3617.92,
    "text": "Simon\nyeah",
    "end": 3619.43
  },
  {
    "start": 3619.43,
    "text": "Sven\nthe And how often is it then executed?",
    "end": 3623.97
  },
  {
    "start": 3623.97,
    "text": "Simon\nYeah. You have to define that yourself.",
    "end": 3627.35
  },
  {
    "start": 3627.35,
    "text": "Sven\nokay, yeah.",
    "end": 3628.24
  },
  {
    "start": 3628.24,
    "text": "Simon\nyeah Because that's, again, it's it's costly. And and because nobody can make that decision for you.",
    "end": 3631.31
  },
  {
    "start": 3631.31,
    "text": "Sven\nHmm.",
    "end": 3634.16
  },
  {
    "start": 3634.16,
    "text": "Sven\nNo.",
    "end": 3635.41
  },
  {
    "start": 3635.41,
    "text": "Simon\nAnd cost ops is also very important there. Because you have to manage that.",
    "end": 3638.89
  },
  {
    "start": 3638.89,
    "text": "Sven\nOK.",
    "end": 3642.67
  },
  {
    "start": 3642.67,
    "text": "Simon\nBut it's also that's kind of the idea of a data product also to to check when it's um but you have no customers, that you also shut it down again at some point. So you don't run the checks anymore. You can also shut down the data product, remove it at some point. that's this This whole lifecycle is also in there. That's also new in the data world where where people thought we could store data forever, and at some point, the data will be valuable.",
    "end": 3672.39
  },
  {
    "start": 3672.39,
    "text": "Sven\nWho is then responsible for for all that?",
    "end": 3672.38
  },
  {
    "start": 3672.38,
    "text": "Alex\num",
    "end": 3677.13
  },
  {
    "start": 3677.13,
    "text": "Sven\nSo, I mean, usually I would say product thinking. Well, you could say everyone in the team should have that product thinking, but in general you have product manager, product owner who cares about the thing we are building, is it also the product owner who is then responsible for the data product, looking how successful it is, you know, talking to customers?",
    "end": 3701.76
  },
  {
    "start": 3701.76,
    "text": "Sven\nThat's okay, okay.",
    "end": 3704.13
  },
  {
    "start": 3704.13,
    "text": "Simon\nYes. yeah In the best case, it's that simple.",
    "end": 3709.33
  },
  {
    "start": 3709.33,
    "text": "Heinrich\nAre there new roles emerging?",
    "end": 3712.98
  },
  {
    "start": 3712.98,
    "text": "Heinrich\nData product manager?",
    "end": 3716.71
  },
  {
    "start": 3716.71,
    "text": "Simon\nand We see it a little sometimes here and there. um i think um these roles emerge for teams that the just build data products, and then they just rename the product owner.",
    "end": 3732.48
  },
  {
    "start": 3732.48,
    "text": "Simon\nthat we know from operational teams, they they they ah name it differently because they only have data products. So they the data product owners.",
    "end": 3747.28
  },
  {
    "start": 3747.28,
    "text": "Heinrich\nIn practice, how do you discover your clients? how doen who do you know How do you know who is querying your data sets and build stuff on top of it?",
    "end": 3759.51
  },
  {
    "start": 3759.51,
    "text": "Simon\nSo the the idea that we have with with the marketplace that before you can access it, you have to request access or or get access.",
    "end": 3768.48
  },
  {
    "start": 3768.48,
    "text": "Heinrich\nAh.",
    "end": 3769.88
  },
  {
    "start": 3769.88,
    "text": "Simon\nThink like the App Store in Apple where when the app is free, you still have to say, I want this. I agree to the terms. And you just get it. There's no approval. It's just it's just installed.",
    "end": 3782.89
  },
  {
    "start": 3782.89,
    "text": "Simon\nAnd the same ah we we um say here because we always want to track not only who's using it, but also why.",
    "end": 3792.54
  },
  {
    "start": 3792.54,
    "text": "Alex\nAnd also have a back channel, right? In case something occurs, you need to communicate something to your consumers.",
    "end": 3799.93
  },
  {
    "start": 3799.93,
    "text": "Simon\nyeah Yeah, it's just know your customer's idea.",
    "end": 3800.99
  },
  {
    "start": 3800.99,
    "text": "Alex\nMm-hmm.",
    "end": 3803.43
  },
  {
    "start": 3803.43,
    "text": "Heinrich\nBut could you distinguish here between experimentation and production workloads?",
    "end": 3811.97
  },
  {
    "start": 3811.97,
    "text": "Heinrich\nBecause as a developer, I mean, oftentimes I'm just like, let me see what I can do with that data.",
    "end": 3812.52
  },
  {
    "start": 3812.52,
    "text": "Simon\nYeah.",
    "end": 3816.31
  },
  {
    "start": 3816.31,
    "text": "Heinrich\nJust give me a piece of it. And if I have to kind of go through a process here to get access that may slow exploration down.",
    "end": 3818.47
  },
  {
    "start": 3818.47,
    "text": "Simon\nYeah.",
    "end": 3827.8
  },
  {
    "start": 3827.8,
    "text": "Simon\num So the idea yeah but but what we recommend is basically it's auto-approved. You just click Get Access, and you just get it. there's not that It's still an additional step.",
    "end": 3836.77
  },
  {
    "start": 3836.77,
    "text": "Heinrich\nOh.",
    "end": 3836.93
  },
  {
    "start": 3836.93,
    "text": "Alex\nDepends on the data, I would say.",
    "end": 3838.81
  },
  {
    "start": 3838.81,
    "text": "Simon\nIt's not just I have access to everything, and I can do exploration on all the data any time. I don't think that GDPR is also happy with that approach to some extent.",
    "end": 3850.28
  },
  {
    "start": 3850.28,
    "text": "Heinrich\nI mean, for certain datasets, right?",
    "end": 3850.44
  },
  {
    "start": 3850.44,
    "text": "Simon\nYeah.",
    "end": 3851.64
  },
  {
    "start": 3851.64,
    "text": "Heinrich\nI mean, internal datasets, I mean, from my perspective, there should be no restrictions on any employee just looking at, like for example, what do what are my applications?",
    "end": 3862.19
  },
  {
    "start": 3862.19,
    "text": "Heinrich\nAll the telemetry systems are purposefully completely open. So everybody can kind of look into the logs of, and not the logs, but the the traces of a lot of the applications that we have.",
    "end": 3874.55
  },
  {
    "start": 3874.55,
    "text": "Heinrich\nAnd I think that's yeah that's that's important.",
    "end": 3874.78
  },
  {
    "start": 3874.78,
    "text": "Alex\nExactly.",
    "end": 3877.09
  },
  {
    "start": 3877.09,
    "text": "Heinrich\num And so there's this balance of, okay, yeah, you can make a security guard in front of everything, and then you just play the approval and review game all all day.",
    "end": 3879.78
  },
  {
    "start": 3879.78,
    "text": "Simon\nI love it.",
    "end": 3886.65
  },
  {
    "start": 3886.65,
    "text": "Heinrich\nOr you can kind of and have some, yeah, More like less strict access, but um then um some some, I mean, for me, I think the sweet spot is allow experimentation, but not production use. So if I have a production application that is kind of depending on it, I wanna know about it.",
    "end": 3908.17
  },
  {
    "start": 3908.17,
    "text": "Heinrich\nBut in the data world, that's often not so clearly cut because a data analyst that prepares a management report every Wednesday is kind of a production user, if you like, right?",
    "end": 3919.63
  },
  {
    "start": 3919.63,
    "text": "Heinrich\nAlthough he may come through a CLI on his on his notebook. Yeah.",
    "end": 3927.39
  },
  {
    "start": 3927.39,
    "text": "Simon\nYeah, it's it's not so we did so we we think, we think and I agree, that the experimentation should should be easily supportable.",
    "end": 3938.12
  },
  {
    "start": 3938.12,
    "text": "Simon\num What we do there is that it's but but you can easily request access for maybe a limited time.",
    "end": 3946.28
  },
  {
    "start": 3946.28,
    "text": "Heinrich\nYep, that makes sense.",
    "end": 3947.6
  },
  {
    "start": 3947.6,
    "text": "Simon\nah",
    "end": 3949.26
  },
  {
    "start": 3949.26,
    "text": "Alex\nSimon, now that you founded a company around that, um I'm hearing, well, you have to think about this, you have to think about that, there should be a process for this, there need to be people who take care of this and that.",
    "end": 3949.72
  },
  {
    "start": 3949.72,
    "text": "Sven\nThank you.",
    "end": 3958.82
  },
  {
    "start": 3958.82,
    "text": "Simon\nMm-hmm.",
    "end": 3961.71
  },
  {
    "start": 3961.71,
    "text": "Alex\num Is there actually something like a like a map, like a landscape that you that you use to explain the idea of data contracts and the data contract manager, your product,",
    "end": 3975.07
  },
  {
    "start": 3975.07,
    "text": "Alex\nto your prospects and say, this is why you should use it because these are the roles that you should have. These are the processes that you need to put in place. And actually we build the automation for that. Is there an overview already or are you going to create it before we release the podcast?",
    "end": 3992.34
  },
  {
    "start": 3992.34,
    "text": "Alex\nYeah.",
    "end": 3993.28
  },
  {
    "start": 3993.28,
    "text": "Simon\nI should probably run run straight at that. um and the The funny thing is that most customers basically just come to us and say, yeah, we we realize we need that data marketplace. We are yeah already hooked.",
    "end": 4009.06
  },
  {
    "start": 4009.06,
    "text": "Simon\nBut they they basically all need a little bit of assistance, little bit of consulting. um And I think that what you said is ah we we know that in our heads, it might be helpful to to write that down.",
    "end": 4018.43
  },
  {
    "start": 4018.43,
    "text": "Alex\nThank you.",
    "end": 4025.58
  },
  {
    "start": 4025.58,
    "text": "Simon\nand We try to write it down here and there, but it's not this. Here you go, there. this is the one size fits all. That's also a little bit complicated because every company has their own quirks in that space.",
    "end": 4038.9
  },
  {
    "start": 4038.9,
    "text": "Simon\nBut in the end,",
    "end": 4042.69
  },
  {
    "start": 4042.69,
    "text": "Simon\nThis is kind of our approach. So we encoded our best practices into the product, including the processes. ah then",
    "end": 4050.84
  },
  {
    "start": 4050.84,
    "text": "Sven\nI now thought that you say go to datamesh-architecture.com.",
    "end": 4059.84
  },
  {
    "start": 4059.84,
    "text": "Alex\nyeah That would be my followup question.",
    "end": 4060.36
  },
  {
    "start": 4060.36,
    "text": "Sven\nand Yeah.",
    "end": 4062.2
  },
  {
    "start": 4062.2,
    "text": "Alex\nDo you have to have a full blown data mesh architecture until the least bits before you can actually think about adopting data contracts?",
    "end": 4073.2
  },
  {
    "start": 4073.2,
    "text": "Simon\nNo, you can you can start whenever you share data in a company from one team to another team, you can use a data contract.",
    "end": 4081.05
  },
  {
    "start": 4081.05,
    "text": "Alex\nSo it could also be like a pilot use case. Let's try out data contracts between two, three, four systems in order to understand whether that would help our data kind governance to move forward.",
    "end": 4095.47
  },
  {
    "start": 4095.47,
    "text": "Simon\nYeah, and it's actually a very easy one. You can do that very decentralized. you don't need a lot of people. You just need access to the data. You need a place to put the YAML.",
    "end": 4105.16
  },
  {
    "start": 4105.16,
    "text": "Alex\nMm-hmm.",
    "end": 4105.47
  },
  {
    "start": 4105.47,
    "text": "Simon\nAnd you know ah need a CI CD pipeline to to run the data contracts CLI using the YAML file and connect to the data. and",
    "end": 4114.81
  },
  {
    "start": 4114.81,
    "text": "Alex\nI know it's pretty hard for, uh, for you to answer a question, but are there alternatives to using the data contract manager, uh, to serve your data contracts?",
    "end": 4128.85
  },
  {
    "start": 4128.85,
    "text": "Simon\num Of course. um",
    "end": 4132.1
  },
  {
    "start": 4132.1,
    "text": "Alex\nBut I won't recommend them.",
    "end": 4134.04
  },
  {
    "start": 4134.04,
    "text": "Sven\nIt's all crap.",
    "end": 4134.93
  },
  {
    "start": 4134.93,
    "text": "Simon\nWell, when you when you when you go into details, there differences and you know, yeah.",
    "end": 4135.64
  },
  {
    "start": 4135.64,
    "text": "Heinrich\nMm-hmm.",
    "end": 4139.67
  },
  {
    "start": 4139.67,
    "text": "Alex\nMm-hmm.",
    "end": 4140.68
  },
  {
    "start": 4140.68,
    "text": "Simon\num I think what what we...",
    "end": 4146.44
  },
  {
    "start": 4146.44,
    "text": "Simon\nso",
    "end": 4148.54
  },
  {
    "start": 4148.54,
    "text": "Alex\nI mean, let's let's let's talk about the the options that one has when they want to get started with data contracts and why you think data contract manager is a a good way to to go forward.",
    "end": 4160.99
  },
  {
    "start": 4160.99,
    "text": "Simon\nYeah, so I would first and for all always start with the Open Data Contract Standard because this is really a standard driven by a group of very diverse people from vendors, end users, and consultancies.",
    "end": 4174.72
  },
  {
    "start": 4174.72,
    "text": "Sven\nThank you.",
    "end": 4176.83
  },
  {
    "start": 4176.83,
    "text": "Simon\num And I think this this is the future. Then you need some kind of automation.",
    "end": 4180.44
  },
  {
    "start": 4180.44,
    "text": "Heinrich\nThank you.",
    "end": 4181.43
  },
  {
    "start": 4181.43,
    "text": "Simon\nYou can use the open source tool for free. um it's It's very popular. we have um many, many, have over 80 contributors and and over 650 GitHub stars, and it's really rising.",
    "end": 4195.32
  },
  {
    "start": 4195.32,
    "text": "Simon\nSo this is what you can do for free, and you can go a long way with it. And then what you need, i think, now when you when you go bigger, you need one central place where you have your contracts, if you have your check results,",
    "end": 4214.85
  },
  {
    "start": 4214.85,
    "text": "Alex\nMm-hmm.",
    "end": 4215.1
  },
  {
    "start": 4215.1,
    "text": "Simon\nah You need to know who's the owner there. You need a way to contact them.",
    "end": 4220.02
  },
  {
    "start": 4220.02,
    "text": "Alex\nAnd that's the marketplace offering, right?",
    "end": 4220.14
  },
  {
    "start": 4220.14,
    "text": "Simon\nyou need In that sense, now you need this this kind of software and it should be able to read and support ah that that YAML format that you have.",
    "end": 4226.14
  },
  {
    "start": 4226.14,
    "text": "Alex\nMm-hmm.",
    "end": 4233.73
  },
  {
    "start": 4233.73,
    "text": "Simon\nnight should um",
    "end": 4239.42
  },
  {
    "start": 4239.42,
    "text": "Simon\nhave a lot of other features around it, but in the end, this is this is what you need. You need the central place to manage. And there are others that can do that. that it's not It's not unique.",
    "end": 4252.03
  },
  {
    "start": 4252.03,
    "text": "Simon\nBut we are we are unique that we have a very strong support of those open standards. But others stuff will follow. so um this is But at the moment, we we we have this this support.",
    "end": 4264.52
  },
  {
    "start": 4264.52,
    "text": "Alex\nwhen you say central place would you would you agree to heinrich's idea of saying we make this open for everyone so exploration can freely flourish",
    "end": 4279.8
  },
  {
    "start": 4279.8,
    "text": "Sven\nThank you.",
    "end": 4280.04
  },
  {
    "start": 4280.04,
    "text": "Alex\nSo if if you say central place for all the data contracts, does that mean that you share them somewhere so that everybody sees what is offered there?",
    "end": 4288.97
  },
  {
    "start": 4288.97,
    "text": "Simon\nYeah. So what we recommend from the permission model is that everybody has read access to the metadata.",
    "end": 4289.88
  },
  {
    "start": 4289.88,
    "text": "Alex\nMm-hmm.",
    "end": 4295.98
  },
  {
    "start": 4295.98,
    "text": "Alex\nMm-hmm.",
    "end": 4296.5
  },
  {
    "start": 4296.5,
    "text": "Simon\nSo you see all the offerings. um ah You see all the check results. You see who's owning it, who's using it, for what purpose. You see the whole graph, so to say, um of of that now with the data products, the contracts, and and and and the usages.",
    "end": 4316.3
  },
  {
    "start": 4316.3,
    "text": "Simon\nbut to To use the data, you have to request access or but just say, I won't get ah ah want to have access, and you get it automatically. Just one click, and and you get it for exp exploitation exploration. exploration This is what what i but i think makes sense.",
    "end": 4342.73
  },
  {
    "start": 4342.73,
    "text": "Alex\nOkay. to spend a look into the future, where do you think are the data contracts going? So what is the the perspective for the but the specification and maybe also the the roadmap for Data Contracts Manager?",
    "end": 4367.37
  },
  {
    "start": 4367.37,
    "text": "Simon\nI think the future is very authentic, and AI is is is everywhere. So what we but we already explored, um we we build a data product, MCP.",
    "end": 4380.39
  },
  {
    "start": 4380.39,
    "text": "Simon\nSo an MCP server in front of the data mesh manager. and",
    "end": 4383.86
  },
  {
    "start": 4383.86,
    "text": "Alex\nJake.",
    "end": 4384.79
  },
  {
    "start": 4384.79,
    "text": "Simon\nAnd the yeah you have to do that at the moment. But the idea is really um ah quite quite nice, because the data contract is is the source of truth of metadata.",
    "end": 4398.27
  },
  {
    "start": 4398.27,
    "text": "Simon\nWhat's in the contract, that's true. Now, the data can be wrong. It could but deviate from the contract. But the contract is is highly curated, ah highly valuable metadata.",
    "end": 4413.28
  },
  {
    "start": 4413.28,
    "text": "Simon\nAnd it's very condensed. And with that, we can we can make a lot of use in an LLM, in an agent. So what we what we did is basically saying, hey, like you can find data very efficiently. now You can request data. ah you can You can discover all the data products you have, all the data contracts you have quite um easily through this MCP. It can, based on your use case, you just as a business user, go there and say, i need boost my who are i' my top customers? Or I don't know, any any other use case, then you can",
    "end": 4451.78
  },
  {
    "start": 4451.78,
    "text": "Simon\nand search um our our metadata database, search for the data products that might be interesting. You see the data contract. You can evaluate whether the data fulfills your need, whether you can answer the business question where we started with.",
    "end": 4468.03
  },
  {
    "start": 4468.03,
    "text": "Simon\nwith the data contract. You also see whether you already have access. And if you don't have access, it could immediately request access. And if it's ah like auto-approved, it's just for exploration, it could grant that for that specific purpose.",
    "end": 4482.18
  },
  {
    "start": 4482.18,
    "text": "Simon\nAnd it knows the purpose because you already have given the business question in the beginning. And all this can be done in the MCP. And then you can also query the data and because you can construct the SQL query based on the data contract, you know the structure, you know where it's located, um and you can",
    "end": 4505.09
  },
  {
    "start": 4505.09,
    "text": "Simon\nah run the SQL query. But then you also know why you want to use the data. And we can check whether the governance policies, whether it's allowed to query that for that purpose.",
    "end": 4519.18
  },
  {
    "start": 4519.18,
    "text": "Simon\nand This can all be done. and so so what i What I'm proposing here is basically that in the future, our most popular customer will be an an agent using the MCP server for the consumer side.",
    "end": 4529.52
  },
  {
    "start": 4529.52,
    "text": "Alex\nMm-hmm.",
    "end": 4531.91
  },
  {
    "start": 4531.91,
    "text": "Simon\nNow, the producer side will still have to define the data products and data contracts, but the consumer will well will mostly be people, oh, this is my cloud desktop, this is my MCP server I connected, and I just",
    "end": 4535.74
  },
  {
    "start": 4535.74,
    "text": "Sven\nMm-hmm.",
    "end": 4547.31
  },
  {
    "start": 4547.31,
    "text": "Simon\njust use it and it's it's just handling that on their own.",
    "end": 4553.32
  },
  {
    "start": 4553.32,
    "text": "Alex\nSo thinking about automated validation by agents that are and or training models by themselves, creating reports or doing whatever else will be done in the future with the data.",
    "end": 4568.62
  },
  {
    "start": 4568.62,
    "text": "Simon\nYou can also do things like check whether two data products are similar, which which is the better one. should we Do we have duplications? Should we retire one? Is one data product included in the other? Or um all these things, we could we could we could monitor the whole data mesh also through that approach.",
    "end": 4589.89
  },
  {
    "start": 4589.89,
    "text": "Simon\num And",
    "end": 4593.18
  },
  {
    "start": 4593.18,
    "text": "Simon\nmaybe maybe just we we also um integrate AI into our product itself. to to handle this request access flow.",
    "end": 4603.5
  },
  {
    "start": 4603.5,
    "text": "Simon\nNow I request access from from you, Alex, perhaps. And now you have to check whether my access request is valid. And that's a lot of burden because you have to know all the policies that that might lead to rejecting that access.",
    "end": 4618.22
  },
  {
    "start": 4618.22,
    "text": "Simon\nMaybe it's not um my course is not good. It's not allowed, perhaps. And that for that, you have to know a lot. And here we can also use LLMs because they can go through GDPR, they can go through your privacy policies, through your license agreements and check whether my purpose, my usage scenario fits that to lessen your burden.",
    "end": 4630.43
  },
  {
    "start": 4630.43,
    "text": "Heinrich\nBye.",
    "end": 4642.64
  },
  {
    "start": 4642.64,
    "text": "Simon\nIt's easier and it's not so hard on your shoulders. And this is also where we see where we see a lot of impact now on this using AI automating what but previously data governance experts have done ah i and and trying to to automate the 80% and leave the 20% where it's not so clear to the humans.",
    "end": 4673.83
  },
  {
    "start": 4673.83,
    "text": "Alex\nThanks a lot.",
    "end": 4678.03
  },
  {
    "start": 4678.03,
    "text": "Alex\nAre there things that we missed, topics that you definitely want to have covered, Simon?",
    "end": 4685.97
  },
  {
    "start": 4685.97,
    "text": "Simon\nOh, that's a tough one. I think we covered a lot.",
    "end": 4691.41
  },
  {
    "start": 4691.41,
    "text": "Alex\nOkay.",
    "end": 4694.35
  },
  {
    "start": 4694.35,
    "text": "Alex\nSo as the CEO of Entropy Data, are you going to take vacations still this year?",
    "end": 4699.7
  },
  {
    "start": 4699.7,
    "text": "Simon\nah Fun story, actually. So we founded the company and beginning of August. and And just think almost in the in the second week, i I went on holiday for three days.",
    "end": 4714.25
  },
  {
    "start": 4714.25,
    "text": "Simon\nso",
    "end": 4715.49
  },
  {
    "start": 4715.49,
    "text": "Alex\nSo exhausted already.",
    "end": 4716.67
  },
  {
    "start": 4716.67,
    "text": "Simon\nYeah, yeah, yeah, so exhausted already.",
    "end": 4717.44
  },
  {
    "start": 4717.44,
    "text": "Heinrich\nMm-hmm.",
    "end": 4718.16
  },
  {
    "start": 4718.16,
    "text": "Sven\nlaughter",
    "end": 4718.76
  },
  {
    "start": 4718.76,
    "text": "Simon\nbut I just wanted to phrase it little different. I want to put it in the perspective of, um well, I have a great co-founder, Jochen. We have a great ah team there. So ah ifre taking a few days off is never a problem.",
    "end": 4732.1
  },
  {
    "start": 4732.1,
    "text": "Alex\nOK.",
    "end": 4732.31
  },
  {
    "start": 4732.31,
    "text": "Simon\nThat's what I wanted to say.",
    "end": 4735.32
  },
  {
    "start": 4735.32,
    "text": "Alex\nOK, sounds good. Yeah.",
    "end": 4738.78
  },
  {
    "start": 4738.78,
    "text": "Sven\nAll right. Yeah, thank you very much ah for coming and lots of success in the future. One thing we didn't mention, and that is it's ah ah if if our listeners ah know the ThoughtWorks technology radar,",
    "end": 4759.6
  },
  {
    "start": 4759.6,
    "text": "Sven\nI think, correct me if I'm wrong, but the ThoughtWorks technology radar put your product into assess. Am I right?",
    "end": 4769.68
  },
  {
    "start": 4769.68,
    "text": "Simon\nYeah, and it was an interesting entry because it it was named Data Mesh Manager, but in the text, it was three things. So we said ah the Data Mesh Manager as a product, the Open Data Contract Standard as the standard to go forward for data contracts, and the Data Contract CLI as the ah way to the open source tool to automate the check.",
    "end": 4796.29
  },
  {
    "start": 4796.29,
    "text": "Simon\nSo it was actually three things put into one.",
    "end": 4798.89
  },
  {
    "start": 4798.89,
    "text": "Sven\no",
    "end": 4799.34
  },
  {
    "start": 4799.34,
    "text": "Alex\nNice.",
    "end": 4803.26
  },
  {
    "start": 4803.26,
    "text": "Sven\nAll right. Cool.",
    "end": 4806.26
  },
  {
    "start": 4806.26,
    "text": "Alex\nYeah, again, thanks a lot for your time, Simon, and for answering all our questions.",
    "end": 4806.39
  },
  {
    "start": 4806.39,
    "text": "Sven\nSo.",
    "end": 4813.71
  },
  {
    "start": 4813.71,
    "text": "Simon\nYeah, thank you for all for having me.",
    "end": 4813.78
  },
  {
    "start": 4813.78,
    "text": "Alex\nIt's been a pleasure.",
    "end": 4817.57
  },
  {
    "start": 4817.57,
    "text": "Sven\nYeah. Okay. Then.",
    "end": 4823.49
  },
  {
    "start": 4823.49,
    "text": "Sven\ni would say. Have a nice weekend.",
    "end": 4825.06
  },
  {
    "start": 4825.06,
    "text": "Alex\nhave Have a great evening.",
    "end": 4826.93
  },
  {
    "start": 4826.93,
    "text": "Sven\nwe",
    "end": 4827.51
  },
  {
    "start": 4827.51,
    "text": "Alex\nAnd thanks to all the listeners for taking the time with us.",
    "end": 4831.9
  },
  {
    "start": 4831.9,
    "text": "Sven\nExactly. Thank you for making it so far.",
    "end": 4837.8
  },
  {
    "start": 4837.8,
    "text": "Sven\nAll right. Then um I would say bye-bye.",
    "end": 4838.12
  },
  {
    "start": 4838.12,
    "text": "Alex\nHear you next time.",
    "end": 4842.31
  },
  {
    "start": 4842.31,
    "text": "Sven\nCheers.",
    "end": 4843.38
  },
  {
    "start": 4843.38,
    "text": "Alex\nBye, everybody.",
    "end": 4844.56
  },
  {
    "start": 4844.56,
    "text": "Heinrich\nBye-bye.",
    "end": 4844.76
  },
  {
    "start": 4844.76,
    "text": "Simon\nYeah.",
    "end": 4845.76
  }
]