The Modern .NET Show

S08E01 - Umbraco Unplugged: Emma Burstow & Mats Persson on Umbraco Being The Friendly, Truly Open-Source, CMS

Sponsors

Support for this episode of The Modern .NET Show comes from the following sponsors. Please take a moment to learn more about their products and services:

Please also see the full sponsor message(s) in the episode transcription for more details of their products and services, and offers exclusive to listeners of The Modern .NET Show.

Thank you to the sponsors for supporting the show.

Embedded Player

S08E01 - Umbraco Unplugged: Emma Burstow & Mats Persson on Umbraco Being The Friendly, Truly Open-Source, CMS
The Modern .NET Show

S08E01 - Umbraco Unplugged: Emma Burstow & Mats Persson on Umbraco Being The Friendly, Truly Open-Source, CMS

Supporting The Show

If this episode was interesting or useful to you, please consider supporting the show with one of the above options.

Episode Summary

Emma Burstow and Mats Persson of Umbraco, discussed building a commercial product in the open-source community. They emphasized the importance of transparency and openness in their development process. Emma highlighted that Umbraco’s website serves as an excellent starting point for users interested in learning more about the project, with detailed information on the latest release, tutorials, and resources.

Mats stressed the significance of community engagement in Umbraco’s success. He mentioned the MVP (Most Valuable Professional) program, which brings together a global network of experts who contribute to the project, share their expertise, and provide support to users. The program has grown significantly, with over 100 members worldwide, showcasing the dedication and passion of the Umbraco community.

Emma underscored the importance of curiosity in software development, stating that it is essential for engineers to be curious about how things work. She noted that her own lack of curiosity around printers led to a “skill atrophy” years ago, emphasizing the need for users to approach new technologies with an open mind and a willingness to learn.

Mats discussed the challenges of managing an open-source project, including the transition from their old website to new platforms like GitHub and LinkedIn. He praised the LinkedIn community as an engaged space where Umbraco enthusiasts can connect and share knowledge. Emma highlighted that she is available on her personal social media channels (devrel at umbraco dot com) for users to reach out with questions or ideas.

The conversation concluded with Mats jokingly suggesting that Umbraco might one day compete with Microsoft for their MVPs, a nod to the significant contribution of the community in shaping the project. Emma playfully dismissed this idea, but it serves as a testament to the dedication and expertise of the Umbraco community. Overall, the interview showcased the importance of openness, community engagement, and curiosity in building successful open-source projects like Umbraco.

Episode Transcription

From the first engagement with any from Umbraco, it’s been a friendly approach. We are friendly. It’s a part of our DNA. Professional. We take our work dead seriously, but we want to have fun, but we are friendly.

- Mats Persson

Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I’m your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem.

Today, both Emma Burstow and Mats Persson of Umbraco are here to share their expertise on building Umbraco—a completely open source CMS, known as the friendly CMS. Emma is Umbraco’s Director of Developer Relations and Mats is their newly appointed CEO.

One of our values is openness. And once again, I’ll say we really walk the walk. So we alert people early. We work in public, truly. We don’t just, you know, update things on git as in terms of code. We write words around it. We have discussion boards We have ongoing issues that are open, and we talk to people that are working with the product.

- Emma Burstow

We also dive into what it’s like to build Umbraco completely in the open, which led to some fascinating insights into how to build and manage a world-wide community of contributors, but also how to help manage expectations of those developers and technologists.

Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You’ll find all the links in the show notes.

So let’s sit back, open up a terminal, type in dotnet new podcast and we’ll dive into the core of Modern .NET.

Jamie : Hello everyone, this is a very exciting episode for me because we have lots of lovely wonderful people on the episode for you. We’ve already done an intro, so I won’t do the intro again, but what I will do is I will say hello to all of the guests. Mats, Emma, Karen, hello. First of all, welcome. And secondly, could you sort of introduce yourselves to everybody listening?

Mats : I can do that. Hi everybody, this is Mats Persson. I am the CEO of Umbraco. I’m Swedish, but I’m working in Denmark. And for those of you that know the banter between Denmark and Sweden, it’s a little bit of nagging but whenever there is something going on, the Danes and the Swedes are best friends if someone is getting after us collectively. So it’s an enjoyable thing. Emma?

Emma : Yes. So Emma Burstow, I am the VP of Developer Relations at Umbraco And I guess I’ve been doing this stuff for about ten years now. First time on the Modern .NET show, but long time listener and fan.

Jamie : So we’re going to be talking Umbraco today. We’ve heard a few of the folks behind the scenes doing the technical work on the show in the past, Sebastian and Bjarke before, and but we’re going to be talking about it from a slightly higher level, I guess. I love to talk about community and open source. For the folks who are listening in, who maybe they’ve missed those episodes, maybe they’ve been living under a rock, maybe they don’t work in a part of development that requires a CMS. Could you give us a quick overview of what Umbraco is, just so that we can sort of level set?

Mats : So Umbraco is a twenty-year-old company that’s built upon an open source CMS. We have throughout the years been growing steadily, about the last couple of four to five years picking up. So we are today one hundred and forty, hundred and fifty people. We are based in or in Odense in Denmark and in Charlotte in US is our main offices, but we are worldwide. Our open source has been providing us with, we don’t know how many, but many installations across the globe. And that’s one of the things that fascinates me the most coming into Umbraco a year ago is the whole spread of how big we are around the globe of the installations. On top of that, we provide some extra services as it is in training, cloud hosting, and support and additional features, We have our marketplace where we have some of our components, but also the community has the majority of add ons to it. That’s the ecosystem and the world of Umbraco that we are maintaining and driving. But also the superpower of our organization, as I called it, is the community, which is the strength of it.

Emma : Yes, and that’s beautifully put actually, Mats. And I always love listening to Mats describe us too, because Mats is not the new CEO, he’s the old CEO, and I’m sure he won’t mind me saying that. Sorry, Mats. Because he’s been around for a year now. And but what’s been incredible for us when you’ve been in the Umbraco ecosystem for a while is having somebody new come in and look at you with fresh eyes. And so we’ve had some fantastic conversations about what it means to be open source and what it means to have such an engaged, big, growing, vibrant community. The elevator pitch that I usually give is that we’re a .NET, open source content management system. And for some people, that’s like, “oh, yay, there’s an open source .NET content management system.” And it’s as simple as that. That’s what they want to know. But we’re also so much more. Like I think it’s quite I was raised in the Umbraco community, so I’m just a little bit biased, but it’s a very, very fascinating and collaborative environment to work in. So Yeah, we love the product. We also love what it does for the people that use it.

Mats : And also adding on to that, I’ve been in the software industry for all my life. I’m a software developer from the start. So I’ve been through big and small, up and down. I’ve been in mega companies and small entrepreneurship companies. Things going great, things going worse, but I haven’t worked with open source before. But I think it’s impressive with Umbraco is that it has a true story for twenty years, been an open source within the. NET CMS business. As any other normal companies, entrepreneurial companies, there’s always a story about certain things that didn’t take off and suddenly, “we ended up with here, we took there, and then we realized that we can do this, and that is a little bit of a broken story.”" We are therefore extremely experienced in driving and leading and fostering this ecosystem as both Emma and I are describing here.

Jamie : Yeah um uh how do we put it? Like you were open source before Microsoft made .NET open source, right?

Emma : Correct. Yep, we went on to GitHub twenty years ago. That’s our so our birthday was back in February, I think. It’s uh yeah, we are truly open source and it. I often get asked how on earth we make money because we really do mean it like we really do develop with our community I think our last major release a third of the contributors were from the community. And that’s a major, like not a patch or anything like that. We really we walk the walk. We don’t just talk the talk when it comes to open source.

Jamie : Yeah. What I’ll have to do is I’ve not done the the calculations ahead of time, but maybe in the edit I can do a quick calculation to see whether that’s greater or, like more or less than the open source contributions that the that. NET has for its major releases. Because I feel like If it’s not greater, it must be on par.

Emma : I would love to hear that, Jamie. Yeah, and then I’ll have the stats.

Jamie : Yeah, I’ll do that. I’ll do that. I’ll do it for. NET 9, because then that will be it will still be a few months out, but it’s closer than. I feel like it would be unfair to do it for. NET 10, because that will be releasing after we’ve Published this episode. But yeah.

Emma : Yes.

Jamie : Amazing. Okay. Cool. All right. So let’s go around the room real quick then, talk about a few things. So we’ve talked about what Umbraco is and that it and that it is open source. You kind of broached the subject a little bit there, Emma. You said, “how in the heck do we make money?”" So like how do, if I wanted to pay for something for Umbraco, is it like do I pay for support? Say like with some of the other open source projects? Or is there a special license for if I’m making money with Umbraco? Or is it like a hosting thing? Like, how does that work?

Emma : So it’s I’m going to pass this to Mats in a moment, but before I do, I just want to say something because Mats said something earlier, which was, “we’re truly global. And we actually don’t know how many installations we have.” And I think that’s worth touching on because you really can use Umbraco for free. We will not know that you’re using Umbraco if you opt out of the telemetry as well. So we get all these lovely surprises where somebody will pop up and say, “that’s built on Umbraco,” and we’ll say, “well, we had no idea.” So There is a path with Umbraco where you will never pay a penny. You will it’s likely that you’ll engage with the community too, because there’s such a lot of um free packages or plugins, we call them packages in the ecosystem. So you really could have a completely free experience. And we love that, and we want that to remain the case because it’s great for third sector in the UK, we call it third sector. The rest of the world call it, I guess, the charity sector. And for small businesses and so on, but we also have a bunch of commercial offerings where we can stay afloat and make money. And Mats can talk a little bit about that.

Mats : Yeah, absolutely. So we have a strict partner-led or go-to-market model through partners, and these are the partners that are doing installations on top of Umbraco So we don’t do implementations. Our partners are the ones that know the best how to transform a client’s business needs, what they need, how their customer journey look like or any of other requirements needed for a certain client. What we provide them with is a partnership, and they pay a fee for that, and included in that is support, access to training be able to access and pay for hosting, which we provide to them. So we want to make the life of our partners easier, so that they can focus on their work and that we provide them with also some additional features that is a personalization on top of Umbraco, which is a license-based plug-in. and also some forms and on that also a workflow. So small incremental functionalities that’s on top of it coming out of the marketplace. So from that end, we we get our recurrent revenue out of our partners. Then there are some direct clients that wants to have an agreement directly. We are moving towards enterprises and they have as a standard Business model that they want a direct agreement with the software vendor to split out the system integrator, in this case the agency. So yes, we have some direct agencies, but there’s always a partner involved. We are and I don’t know if we want to put our heads out and say that we are the second largest CMS in the world. I don’t know, but it could be.

Emma : I like to. Let’s say that.

Mats : Let’s say that. Yeah. We’re bold. We’re bold. We’re trying to do that.

Emma : We’re in a post-truth era.

Mats : Okay, prove us wrong then. Yeah. Anyway, we’re getting bolder here. We’re getting fired up. But the partners are the ones that, but we will never become, I mean, we’re 150 people. We’re serving a global business. We will grow, but we will never become a thousand people. this will never become a big company because the big and this where we are able to do this and I maybe get back to the Code Garden later on, but The install base and the presence, the global presence, is through the community. That’s why we’re able to do that. If you look upon strictly that we’re 150 people company, if we were a normal software development company with a license based on it, we would never be able to have that reach and have that size of business or footprint around the globe as it is. For me, it is just fascinating to see how that happens and how this ecosystem actually works.

Jamie : Yeah. Wow. That’s I’m just just sort of thinking about that. Like I’m not a business person, but like thinking about the sheer size of, I guess, the product, the reach of the product and the size of the company as well. That’s market share penetration right there, right?

Emma : It’s super cool, Jamie. And it makes so little sense from a business perspective that we often have to explain, you know, we’re bigger than we are. We’re a small to medium sized company. I think we’re now a medium sized company in theory. But we have people that develop with us, that help us to innovate that help us to like advocate for us all over the world. And sometimes we don’t even know they’re doing it. Sometimes we hear about it in the afterwards. We have this fantastic event in India recently, where over one hundred people showed up on a Saturday for a meetup. And we were clued into that. We didn’t arrange it, we didn’t organize it, but these are just people that want to share knowledge. And I think that that’s the beauty of having like a truly open source, very techie product, because there’s a lot that you can build upon here. There’s a lot that you can learn. If you’re interested in being a. NET developer, the Umbraco ecosystem, it has everything that you need as well as a supportive community where you can learn an experiment. So it’s very good for that kind of community engagement because people will get together and they’ll share knowledge, they’ll learn, they’ll collaborate, they’ll build packages. And so we tend to I think me and Mads were talking just before this. And one of the things that he said is, you know, we don’t create the community, we support it. It comes from them. And any. NET developer will look at our code base and say, “yeah, Yeah, yeah, this makes sense.” I don’t know if that was always true, but certainly true now.

Jamie : That’s amazing. And I guess From a wanting to learn a little bit more about development. When I’m talking to sort of younger developers, apprenticeships or juniors or people who want to get into the business, I’m like, “go find a project that’s something that you want to solve and start making it in the public, right? People will come along and help you, right?” But once you’re past that What do you do? And I always say to them, “go look for an open source project. Go look for an open source…” I never say which, I just say an open source project. But it feels like If you wanted to go and contribute towards the. NET code base, you have to really know. NET, like really understand how computers work. And I’m not in any way trying to say that Umbraco isn’t complex, but I feel like There’s less of a barrier there for people who want to sort of extend and just go, “hey, I’ll just download the GitHub repo. And See if there’s something I can work on on my own machine,” right?

Emma : I think you’re right. And one of the brilliant things, or one of the things that I watch my incredible developer relations team do is work very hard to make sure that there are issues that beginners can work on. Because we are a mature, stable code base, and ten years ago, you could definitely find a spelling mistake and raise a pull request and fix it which in itself is a valuable contribution. And anyone out there who’s thinking about making their first contribution, they’re like, “oh, it’s just a spelling mistake.” No, no. Like you go through all the motions of pulling forking the repo, pulling it down, writing a decent description before you hit review, like all of those things are very, very valuable, but they’re not very available in such a professional, mature project anymore. So what we work very hard to do is make sure that the barrier to entry is as low as possible because we want new contributors. Because what we’ve learned is that contributors are not just fixing bugs they’re enriching the ecosystem in a ton of other ways, ways that you never expect.

Jamie : Yeah, and I guess it’s a great way to learn that process, right? I can pull down the GitHub repo on my own machine, but if I want to make a change, I’ve got to fork it. So what does that mean? Well go read the documentation. There’s a button there, push the button. Okay, cool. Now you’ve got your… and then there’s that whole process. I know from my own experience, that I attended one of the Umbraco UK events. It was before “the event,” shall we say, or before we were all sent to our bedrooms As one of my friends says.

Emma : That’s great.

Jamie : But I was… I’m not trying to trivialize the event, but obviously I like to make fun. But like I remember attending one of the UK events, and at that particular UK event, there was a whole like hackathon session where I think it was Sebastian running around helping people get started and doing their own PRs and all that kind of stuff. And I think there was a counter, and they all made a huge. Everybody was super excited when it reached like 10 pull requests completed, 15 pull requests completed, 20 pull requests completed. So, like even in a physical public space, if you can get to one of the events, you might be able to learn how to do it from there. I mean, that sounds really cool.

Emma : It’s how I made mine. Yeah, it’s how I made my first contribution. I wasn’t, I wasn’t going to sit at home and do it with my headphones on. I needed somebody sitting next to me so that I could cry out in frustration when something that was supposed to happen didn’t happen, you know? And Seb is a genius with these things. In fact, in his most recent hackathons, he got a ticket printer so he could give you a physical receipt for the issue you were working on.

Jamie : Oh, nice.

Emma : Jamie, it was beyond cute. Matt, was your first hackathon, the one that we did at the US Festival last year?

Mats : Yeah, I was not allowed to contribute, as it were, because I had to maintain my CEO role. I now jokes apart, I there is many years ago that I decided that coding, there are people that are better than that to do that. But I still want to maintain the fact that I’m a software developer. But one other angle to the community, as I see it also, is that there are so many in the community that works with Umbraco on a day to day basis with our partners. And they are the best one to know how to implement and build because it’s such a flexible system. Not only that it is open source, it is built for developers. Build what you want, how you want it the flexibility and extension first principle. So what we see in our forum when the forums for the community is where they share how do I sort out this? How do I help that? So they help from the community toward between themselves on how to implement and how to use Umbraco in business situations is just amazing to see, which is an extension to our support Support from outside is more this doesn’t work. There’s someone who do I turn to. So it’s not only the contribution to the code, it’s also the community, how the community itself supports each other. And that is just impressive. And our competitors, because we do have so those, they don’t have anything like that. So this is something we use quite often. And I know our partners are using it a lot when they’re out there. promoting Umbraco in front of our some of our competitors.

Emma : Yes. And I think it’s probably in an environment like this one, which as you say, Mats, is unique, you get that benefit where you put two developers together who have never worked together. And Jamie, you will know firs-thand how you can give a developer like ten developers the same problem and you may well get ten different, satisfactory to brilliant solutions. And because of the amount of collaboration we see, the breadth of solutions that we see it’s really, really incredible. And I was an adequate .NET developer, I will say, an adequate one. And I could sit down and solve things, but the really brilliant things I built were always in collaboration with other people because they make you think. They ask you to look at a problem from a slightly different angle. And that’s I think that’s when the magic happens. So that’s I think that’s what keeps people around; because it’s not like I need that green light on my GitHub. We’re really not that kind of environment. It’s more like, “I learned some cool stuff today. I’ve never thought about using that this way.”

Mats : And sometimes the development leads to an extension, a package on our marketplace, and that also ticks off. That’s a proud moment for. for the developers to do that. So there are various paths and ways you can contribute in this community.

Jamie : And that’s like the social proof, I guess, of being the friendly CMS, right? If I, as a potential contributor, am having a problem and I can yell out, “ah, help!” In your actual example there, Emma, from when you did your first pull request, can yell out, “help, I need to get something sorted.” And somebody can actually shout up and go, “Yep, give me a minute, I’ll jump on. Yeah, I’ll come sit next to you,” or maybe if it’s possible, “I’ll jump on a call with you,” or “we’ll just hash it out in the comments,” like figuring that out. That’s amazing.

Emma : Yeah, and it’s a point of pride for our contributors, you know, that we’re not like other spaces. like big internet forums which shall not here be named, where you post a question and people are like, “this question’s trash.”" We’re really happy to be the outliers. friendly is really what we do.

Mats : A little bit of a side story on the friendly CMS. When I was about to join Umbraco, I Googled it and all that, and then and friendly CMS came up. And I must honestly say I got a little bit suspicious because if you spell it out like that, are you really then friendly? If you are friendly, do you have to spell it out It’s like having a value on the wall in the kitchen, it says there is a sign there or a picture that says, “in this house we don’t kill people.” I mean, it’s a value, right? There’s a reason why it’s hanging there. So, spelling out a friendly CMS. I guess, do we really? Is that But I’ve said this, and I say this to every people that starts in Umbraco because I meet up with them, every one of them, is that from the first engagement with any from Umbraco, it’s been a friendly approach. We are friendly. It’s a part of our DNA. Professional, we take our work dead seriously, but we want to have fun, but we are friendly. And that is everyone that starts with Umbraco says that. And that’s the ecosystem also of it. So yes, we can proudly say we are friendly and we don’t kill people either, by the way. So just…

Jamie : I’m glad to hear it.

Mats : If needed, if needed, to say that.

Emma : It’s not part of our culture at the minute, but you know.

Mats : No, it’s not.

Emma : It’s not there’s another um aspect to the word friendly, um, and it’s something that we use a lot internally, and it’s something that we used to use a lot more in the community it comes up here and there when we’re looking at particularly when we went from framework to. NET Core or now modern. NET. We are very keen to keep the code base friendly. So we want developers to enjoy working with the software. And that sometimes means and this is I mean, this is forever a software thing, like how do you make like impressive, cool, clean tech? and also make it friendly for people to inherit the code base or to contribute to the code base or to build because we’re a developer tool, to build with it. So we want the code base to be inclusive, friendly and accessible too. And sometimes that means we don’t get to have the shiniest, newest, not features, but ways of doing things. So I’ll go to the Microsoft MVP Summit in April, most years, sometimes March, and I’ll watch the brilliant Mads Torgersen talk about the latest C# and like all these cool things we can do and all these abbreviations and new syntax. And it’s always about that balance. Like, how can you keep this friendly as well as super cool and brand new? And we try and consider that too when we’re talking about friendly.

Jamie : And that makes sense, right? Because if you’re, first off, releasing new versions slightly out of sync with the newest version of. NET, because you’ve got to migrate things over and you have to make sure that packages don’t break. And maybe we can talk about that in a moment. If you’re migrating just slightly after the release of things, then you’re going to be I’m wary of using the word “behind,” but you’re going to be say on the back foot a little bit, just to start with. which means that you may not be able to use the coolest, shiniest, wonderfulest, brand newest things. And because of that, you might not be able to use the newer more let’s call a spade a spade terse syntax of C#.

Emma : Terse, beautiful word.

Jamie : But for things like array collections and things like that, like it it becomes harder to read If you are new to the language, which means that it is less friendly from a reader’s perspective to use those particular features as well, right?

Emma : Yes, absolutely. I love the word terse. Thank you. I couldn’t find it when I was trying to explain. Thank you, Jamie. That’s wonderful. The flip side, of course, is that as you move, and we’re pretty tight with the Microsoft cadence; that was the plan, and that’s how we’ve designed things. So, people do get to use all the shiny new things. But we’re asking a lot of our developers too, because we’re asking them to be up to date with the. NET. brand new releases as well. So that friendly balance is always it’s always hanging in the balance, basically.

Jamie : Yeah. And I guess from a management of an open source project perspective, that must be pretty difficult to deal with if somebody, say, submits a pull request where they bring in something new, and where maybe it’s maybe not the best way to do things from a friendly perspective, from a clean code perspective, from a how can it how can someone who’s not used to using this project pick this code up and run with it perspective, right?

Emma : Yep. And somebody’s put the hard work into that pull request, and you don’t want to discourage anyone, but you’re back in the team that handles the contributions, which is, by the way, both community people and internal people both have merge rights and handle all of our pull requests. And now they’re having a philosophical conversation around the best way to manage the balance between the new and the accessible. So yeah, and there’s no science to it. And it doesn’t matter what kind of not rules, but kind of standards that we have around the code base, there will still be those occasions where we have to say, “is this friendly enough? Is can a beginner pick this up? Or is a veteran going to hate to work with this?” It’s very we have to make those decisions. But we do it with the community, so that’s great. We’ve got a pull request team of people that review pull requests and they have merge rights. as well as our internal development teams.

Mats : Adding another perspective to it, also towards our partners and clients, we need to ensure that our release cadence, which is following the .NET release cadence, which is a structure that We made it clear. I usually say that in the software industry there is no perfect release cadence. If there were, everyone would have followed that. Everyone trying to have their own. But a structure is important. So we follow the. NET. Cadence, as we do, but we need to ensure that we don’t create a friendly system also for our partners to upgrade how to do that, going from major releases to major releases, for example. What’s the strategy for their end clients and make that a clarity is important? But again, not bolting and building things. So every new release is a major upgrade for our partners. So it’s another view of it to be friendly.

Jamie : Yes, I hadn’t I hadn’t really thought about that. Like, what does that look like from a partner perspective when a new version is released? Because obviously, when a new version of say. NET comes out. We’re recording this on July 16th, so yesterday there was a. NET 10 Preview 6 release. Most of the time a developer can install that next, sort of, side by side, next door to the version that is currently running. So In case folks didn’t know, if you’ve got. NET 9 installed, you want to try out. NET 10, you can install it on the same machine and you just tell your build tool, “no, use. NET 9.” Or you can set a flag in your in your C# project and just say, you know, “dotnet-9.0” or “dotnet-10.0” or whatever, and you can have as many installed side by side, but you can’t really do that with What is ostensibly a NuGet package installed within an app, right?

Emma : Yep, it’s not possible. I mean, we could try and build it, but nope, it’s not. And The upgrades. So we went from using Angular JS to Web Components recently, and it was an overdue rebuild of we call it the back office. It’s what will sit behind your websites where you do all your content management. it was great because what we wanted to do was… I mean, we needed to replace Angular JS two was already at end of life, so we really needed to do it. But it’s a huge ask of the people who are modifying that back office when they’re creating websites or building packages, because then they have to learn a whole new technology. And so people that were building packages, especially commercial packages where they’re making money from them, then had a ton of work to do in order to get up to date with us. And we were just getting up to date And no, there are no tools where it’s like, well, we can run both in parallel. It really is a whole lot of learning. So we release a major every time .NET releases a major. That’s our rule. But not all of our majors are massive. We have some minor majors. We’ve just actually got with number six and we’ve Version sixteen. It’s our minor major. It’s our I was allowed to call it our boring release because people and the ecosystem were like, “oh, thank goodness, we don’t have to learn anything new.” No, you get new features, but you don’t have to learn anything new. So yeah, balance. All about balance.

Jamie : Does that mean that you have major minors as well?

Emma : Yes, we do. But we kind of given that up because now we release every six months, less so. But I remember going from 7.4 to 7.13. Oh my goodness. That was not a minor to a minor. That was a major minor for real. Yeah.

Mats : And that’s part of software development over in general, software development over the time. It’s a product management thing to see to when all that is needed, and there’s a constant you know, conflict between features and back end try up the database and all those things. That’s the back end things that back-end developers want to do fully out, while the front end wants to have more features and functionality, sales and oth it’s a balancing act for us to be able to do that.

Jamie : Right. And and so like, how does that work from a communicating with, I guess, users might be the right word? Or is it developers that are using it? Like, “hey, there’s a new thing coming. And if you upgrade, things are going to break. And here’s how you get around that.” Like, how does that work? I say this with the kindness and compassion that is required for a big team of developers. But even Microsoft can’t get that right. So like how do you communicate that out then?

Emma : I think we’re fortunate in that we’ve got this kind of one of our values is openness. And once again, I’ll say we really walk the walk. So we alert people early. We work in public, truly. We don’t just update things on Git as in terms of code. We write words around it. we have discussion boards, we have ongoing issues that are open, and we talk to people that are working with the product. So if we know that there’s something coming up That’s going to be a disruption or breaking change. We announce that very, very early, and people have their say. And they’ll often have their say in how we then proceed. Like we like to think that we innovate in parallel with the community. It’s not like we’re an open door and every suggestion is taken. But, and you sent users or developers, both, actually both. Sometimes that’s one person, sometimes it’s different people, but everybody needs to know because if we’re talking to the developers and they’re trying to make the argument to their users, their clients, the people that are paying them to build the site, “you’re going to have to pay me some more money because an upgrade has come and you’re not going to see any different. It’s going to be different for me,” then it helps them if we’re speaking also to the end users to let them know this is why we’re doing it. We’re upgrading the tech not just to keep your developers entertained or feeling like they’re cutting edge, but actually for A, B and C. So we try to put some words around that too

Mats : And I can only echo that and having a perspective of being in other software development companies. And I’ve been in those where you internally are gearing up yourself so much. You develop things and you showcase that internally and it looks really, really good. And you’re so fired up. So when you get the first release out there, you go out and talk to the clients and they all go,m “oh, maybe. No, that’s not very interesting.” You think that inventory is something that is bigger than sliced bread, but it doesn’t. So what I talk about is the business-driven software development. And what I’ve been impressed with with Umbraco is that it’s there. We’re not the fastest because we don’t jump on the buzzwords. And there’s many. Every industry, and especially also in the CMS industry, there’s a lot of buzzwords. we don’t jump on them immediately. We’re not the fastest, but we are the most solid because what we deliver is for real. I’m impressed by the way we pull together requests for comments from the community and we bring in senior people from the community that are developers but also working with Umbraco on a daily basis within a partner, an agency. And the value that brings to it, the 10-15 people to feed in the requirements for what we need to develop, and we develop that together with the community, just leads to a very, very solid product that addresses the needs out there. And the communication has already started with the request for comments. So the community, and there’s, of course, in a community, there are people that are closer and more distance of it. That’s the way we communicate through it. Then on top of that, we do product marketing and we do release notes and all those things, features and functionalities. And even on top of that, we do product marketing. But it is so important that it’s driven by business needs and reality. I call it the superpower, and I keep on doing that, as you know. I don’t know how Emma, many times you heard me saying that, but it is the true superpower of it.

Emma : No, I like it. I don’t count.

Mats : And you don’t. And that’s also for real. When I talk to investors and people that are interested in the company, the community is on the top slide. It is. They have to understand. In order to understand Umbraco, they have to understand what open source and how our community works and the value we bring out of the investment we do to support and facilitate that.

Emma : Yes. And I think like a really good illustration of how we make that work is the story around our migration from . NET Framework to. NET Core. which was born out of a project that was launched at um I mean, we had a brainstorming session at our annual Code Garden retreat, which was I guess it would have been two in-house people and six community members that kicked off the first kind of part of the project, the architecture. And so the project spanned about two years. And in that time, everybody who was invested in that change was engaged. They were commenting, or they were guiding, or they were just watching, simply watching. And some of them were also contributing code. So by the time we moved from Framework to. NET Core, there was no big announcement to make. There wasn’t anybody saying, “well, hang on, what’s going on here? And why did you take this approach?” There were lots of people that didn’t like the approach, but they’d had their say. and they could stomach it because they could see why we’d done it the way that we did, you know, because they were on board all the way. So we’re very good at taking people along for the ride. And what that means is that when we put something out, it it’s very rare that people are trying to set fire to their laptops because they’re so furious with what we’ve done And if they are, we can always say, “you know, you had a chance to be involved and we’re sorry that you didn’t take it sooner.” I think that that’s like it makes business sense. But also, as a nerd, it just it’s just and a hippie. a nerd and a hippie. My goodness, like what a fabulous place to be because we’re always talking and showing. And I think that’s where we have that benefit over Microsoft, our friends at Microsoft, there’s a lot of stuff that they do have to keep quiet. They’re not able to show all their working. They’re not able to show all the bones of everything. But we really have very few secrets means that making announcements is hard. We don’t always have a lot of announcements to make. That’s a shame. But you know, people generally know what’s going on.

Jamie : And I suppose that feeds back into again, it’s more social proof of being the friendly CMS, right? If you’re not only creating an environment which is friendly for contributors and you’re creating code, which is friendly and easy for people who are new to the project to pick up. But also, you’re putting out information about, “yep, this new version is coming along, and you’ll need to migrate, and these steps need to be taken.” But also the the business messaging of, “yep, you know, to our partners, to the people building and making money with our product. To the people who are at the end of the chain who are paying for the developers, the agencies, the companies to build things for them,” all of that information all being out there and being available for everyone, that feel that goes more into the idea of being the friendly CMS, right? And like I said, it’s something that yes, I joked about it, how Microsoft don’t often get it right. But I like you just said, Emma, they kind of can’t anyway, because they can’t really be it’s not that they’re not being truthful, but there are things that they can’t talk about. Whereas I feel like with yourselves, it’ll be easier to talk about it because rather than going from closed source enterprise, effectively a way to get people to use Microsoft technologies to now we’re open source.

Emma : Yeah.

Jamie : Because you all have always been open source, it’s easier to have that conversation, right?

Emma : Yes, it’s really in our bones. And it it’s interesting because I’m part of the Microsoft MVP community, as are you, Jamie. And One of the things that I it took me a while before I could find my niche and contribute and collaborate because it is so vast and it’s a big deal. Mats, you always say that it’s a big deal that we’re MVPs, don’t you? Mats is a cheerleader.

Mats : I am. I’m the cheerleader.

Emma : He’s such a cheerleader for this. But you know, my I feel small in that community is the honest truth. It’s hard. It’s a big pond, and there are some very clever people in it. And even with all my confidence, I struggle to speak up. And so as a community manager in this one it’s very important for me to find those voices and make sure that everybody feels represented or able to represent themselves or has the platform. I don’t think we always get it right, but it’s a real aim for us.

Mats : And by the way, that it’s no I started my software development career at IBM. So that’s back in the days when IBM still were something to count on when it comes to software development. Jamie, another thought that I had coming in and having this conversation with you is around it all sounds really happy, and we are in a very good place. And I say that truly. If we’re in a good place, there’s a tailwind. for us, we see our communities growing. We got great feedback from it. We just came out of the Code Garden, which is our yearly event, which we invest a lot in. And I was just so impressed by. It’s like overwhelmed by all the friendliness there, the engagement from the community and how everyone was testifying that it’s an openness there. There’s not a closed conversation. There is always welcome for people come in. There were business people that were there for the first time and they say they thought there was a super techie thing, but you weren’t. This was relevant for so many people, including our community. But what we’re talking about me and me and Emma is about how do you maintain this? What is if you have a superpower and such a great opportunity, I’m concerned, how do you even see that this is maintained? Not I don’t think we have a six-month risk or anything like that, but over the years, what happens with the community? What brings people together? There is a new generation of software developers coming out. How are they? What are they requiring? They are you know, through the years, there’s always been a threat of new generation coming with new requirements. But I think it’s true as it is now. That’s what we’re talking about. And there’s what we know about that, it’s no straight answer to it, but it’s a constant discussion.

Emma : Yep, because we’re ageing. We’re an ageing community and we bring new people in all the time. But Jamie, what are the young people wanting these? What are they doing these days? ‘Cause I’m not one of them anymore.

Jamie : In order to answer that, I can tell you about what the computer science students that I interact with are doing.

Emma : Yes.

Jamie : A lot of them are doing cross language, cross platform learning from day one. So to give you an element of my background, when I went off to university, the entire CompSci degree I did was in. NET Framework on Windows for, I think for support reasons, and we had like full access to MSDN, as it was called then, with all of the downloads and everything. So if we needed a fresh version of Windows, we could just push a button and download it. If we needed Visual Studio, we could push a button to download it. This was the days before Visual Studio Code. But what I’ve noticed in some of the colleges that I’m going into, so this is UK college 16 to 18 year olds, is that when they’re studying CompSci, they’re doing completely cross platform. So they’re learning about what Linux is. They’re learning that there is a difference between Windows and Mac OS, for instance. And they’re doing part of their course in, say, Python and part of it in C# and .NET. And so they’re learning all the different if you’ll forgive me for saying it almost like a smorgasbord of different different languages and things. And so Rather than being sort of tied down to one technology and then getting out into the world and going, “but wait, now I have to learn JavaScript,” or “now I have to learn Flutter,” and sort of attacking that from a, “I already know a whole bunch of stuff, where do I start?” They’re starting all of it from sort of day one, which is really cool. And a lot of the places are focusing on web first. Whereas when I was again, I’m a dinosaur. So when I started it was desktop first. So we did WinForms. And it wasn’t until five years out of uni that I did anything to do with the web and this was the mid two thousands. So yeah, so like I was I was really late to all of that So it would be interesting to see how the next gen of developers, Generation Z, Generation Alpha, all the rest of it, how they will come to this and just be sort of like native to the process. I do know that a lot of places are having trouble with giving access to DevOpsy type things and AI type things. Because it means opening up computers for potentially for everyone else that is studying at that same college or university. So that has that’s a thing that they are struggling with. I don’t know if any of that helps with any kind of ideas you have.

Emma : I mean, it’s all incredible information, and it’s fascinating because I know when I was young, the philosophy was, “teach one language and then they’ve learned a language and then they can go and learn any language,” which is a limiting philosophy. Like my job now, and this is where the hippie part comes in, is to understand what they’re learning and to understand how they’re learning it, and to understand what they want. Like because a technical community is not a necessity for you to go and earn money and do your job. It just isn’t. And it’s my belief they will make you better at your job. There are lots of stats I could quote around how it will probably mean that you end up higher paid and learning more and so on and so on more friends, better looking, all the good things that definitely starts around that. But trying to motivate a generation of people who were raised very differently, and I’m raising a Z and an alpha right now. I’ve got one of each. To come to a meetup, for instance. Or to raise their first pull request from their bedroom. It’s a different endeavour now than it was 10 years ago when I joined the community

Mats : And you could go wider than that also on what brings people together. And I had a brilliant speech at the Code Garden here from an external speaker about what rituals means to a community, which is one component of it, the way we do it brings people together but it’s all a thing and i think we at least I believe that the the age thing should be uh considered but not over exaggerated. People will still want to belong to people. We want to be a part of a tribe. We want to be part of a context. We want to be part, “I’m part of this community,” and this is what we do here. We have certain rituals, we have certain things, and I benefit from it. But I also contribute But what are the setups for that? Travel is one thing that I mean, meetups, virtual, non virtual. How does that play? And how do we put that up? Yes, it’s big questions. And I don’t think, Emma, we would claim that we have the answers to it.

Emma : We’re having fun finding out though. Like it’s nice to be looking forward and saying, “okay, what cool things do the young people want to do these days?” It’s a fun one to solve.


You know that moment when a technical concept finally clicks? That's what we're all about here at The Modern .NET Show.

We can stay independent thanks to listeners like you. If you've learned something valuable from the show, please consider joining our Patreon or BuyMeACoffee. You'll find links in the show notes.

We're a listener supported and (at times) ad supported production. So every bit of support that you can give makes a difference.

Thank you.


Jamie : I think it’s it’s also worth I mean, you’re already thinking about it, I’m sure, but just because you haven’t mentioned it, I think it’s also worth noting that obviously people are coming to software development, software engineering, coding, whatever word you want to use from a, “I’ve never done this before perspective.” Like if we go back pre the event I know I made fun of it earlier on but you know if we go back before then A lot of the folks who were career transitioning would do boot camps and things like that. And there is something to be said about there being a complete spectrum of good code code camps to bad code camps.

Emma : Yes.

Jamie : And a lot of people entered the industry who unfortunately were from the bad code camp side of things. So You didn’t really know a great deal. That isn’t to say that all code camps are bad, just in my experience, a lot of people entered into the industry not really knowing much about it, other than, “for twelve hours a day I copy pasted code and then I hit go and I built my thing and it’s brilliant.” But that was the older, the the the the less modern way of transitioning careers. Now it’s a case of, “I have a hundred dollars a month, I will pay Claude Code or I will pay GitHub Copilot and now I’m an engineer.” And so there’s also that aspect to it, right? “I have no experience, but I have the tools helping me, and the tools will do the job for me, and I don’t know what I’m doing, and I’m just going to hit commit and push and just hope for the best.”

Emma : Yeah.

Jamie : And so there’s also that added complication, right?

Emma : It’s a fun one as well, Jamie, because I’m a Code Academy kid. So I came into the industry after learning to code by myself using the internet. And you can imagine what the first three years of my professional career were like. It was baptism of fire. It really was. And that was modern before the event, but it’s not anymore. Now there’s AI, there’s copilot and other coding assistant, there’s Vibe coding. There are a ton of ways to call yourself a software engineer now But do you know what it brings me back to, Jamie? And this is a point that you made, get into open source, pull down a repo, fork it, play. Work in public, submit pull requests and people will take the time to tell you where you’re going wrong or to explain these concepts To you, it is such a playground. Like you accidentally said “play” instead of “pay,” and I thought that’s a good Freudian slip because learning to code there should be an element of play in it, there can be. And it’s certainly what got me into it, you know, building prototypes, little cool things, and being like, “oh, this cool thing now works.” And open source is a the right open source community and environment. And I say the right, I mean The friendly kind, and we’re not the only friendly open source community, is such a fertile place for growth and development and learning. And that is what people need to be. They can be doing it with a coding assistant or not. But that is that’s your safety rails right there.

Jamie : Absolutely. You bring up a really good point about my supposed Freudian slip. It may have just been me falling over my words, but quite literally, if you ask someone, “have you used this technology?” Nine times out of ten, a software engineer, coder, developer, whatever, will say the words, “I haven’t had the chance to play with it yet,” if they haven’t used it, right? And and that is a totally valid word to use because my own definition of the word play is lifted from, I think, a book by McKeown Where he talks about, “play is just an activity which doesn’t have a means to an end, right? Just something that you can do, that you can find joy, recreation, whatever in. It doesn’t have to have a means to an end,” right? And when you’re playing with bits of software, that’s what you’re doing. You’re just going, “I wonder what happens if I do this. I wonder what happens if I do that.” And that leads me to a thought that I had the other day about, because, and this may be an old man yelling at Cloud’s thing, so please do stop me if it sounds like an old man yelling at clouds thing. But I’ve noticed it with people in my own family. So, you know, the youngsters in my family They don’t know how to use computers because they haven’t had to explore and click and go, “what does this button do? How does that work?” You know, I have a story of someone in my family who needed to print their resume And they literally had no idea how to do it.

Emma : Oh, man. I think I’m an old man, too, yelling at clouds because it kills me, Jamie I you know, I had my first PC aged like seven or something, and I w that would have been nineteen eighty nine. And Mats is now sitting here going Come on, youngsters.

Mats : I want for the record say that I’m not that old.

Emma : Yeah. But my. I couldn’t play a game without understanding how a computer works. I couldn’t load a game. Now I do my work on a Mac, and that for me is the most alienating experience I can describe because I’m so. Everything is just user interface. I’m so far from the meat and bones of the actual computer. Yeah. I’m going to yell at the clouds with you, I think.

Jamie : But my worry with that is if you’ve also got people who are coming into the industry who have never needed to push the button to explore to, “what happens if I do this.” Like that whole experience of being a software engineer, of being a dev Never having that experience of like, I remember the very first computer I ever got, I broke it within half an hour. Like, I completely trashed the operating system. But that taught me A) not to do what I did to break it. But it also taught me how to fix it, right? And maybe we don’t need that now, but it also taught me debugging skills. And so, you know, and I’ve seen, I’ve seen people who are maybe junior to mid-level who don’t know how to debug. I’m getting on my soapbox here. But if I put that last sentence to one side, what I’m getting at is like, how do you you all as a community embrace and accept the people who don’t have those skills to be able to debug, to be able to problem solve, to be able to. And again, it’s a silly little story, but a member of my family couldn’t figure out how to print something. So. If they can’t figure out how to print something, are they going to be able to write code? They’re completely different techniques, but one requires you to be able to figure out how to fix a problem, and the other one requires you to be able to be brave enough to click around to push buttons to see which one… Because like printers don’t look like the print icon anymore, which was the problem that they had, right? Just like how the save icon doesn’t… it… we don’t use floppy disks anymore. But from a organization perspective, if someone comes to Umbraco with, “I have no experience of a computer other than my iPad, but I want to join in.” Like that’s a silly version of it. But like how how are you thinking about that too? And sorry to have cut you off there, Mads.

Emma : Oh good. Mads, did you want to finish your thought?

Mats : Well, I just want to top the story. I got a pocket calculator of my dad when I was, I don’t know, 10 or 11. I tore it apart to see how it worked. Couldn’t figure that out and put it together again and it didn’t work. So I said, “I need a new one.” “You did what?” My dad didn’t appreciate that. I learned from that. Don’t take things apart that works because you learn just that they’re very complex side story. But just want to once again, what’s if you’re not, you need a certain level of knowledge to get into certain things. And yes, there is a threshold for this. When I did my master thesis, I presented a graphical user interface for measurements out of a storage system management product. There were people there saying that, “well, this graphical things will never happen because we’re working prompts and the lists are good and all that.” So we were the graphical user interface guys that would just click You know, a drag and drop was a very popular thing, right? There’s all this, everything’s going to be a graphical interface. You don’t need to know how to code anymore. Already then. Back in the days, people were screaming, crying wolves, saying this will change. There will be back end developers. You know, more than ever, we developing our development developers are more into the cloud parts and the back end parts of there will always be that. Yes, there were certain people that are using the copilots, as we say, but I think we have in our community as also for the rest of the. NET community a certain threshold of knowledge that you need to know. You don’t need to know a. NET as per se because you’re used to know other languages as it is, so maybe it’s going faster, but the necessity of knowledge will still be there.

Emma : Yep. And to add to that, actually, I think you’re right. I think that the thing that makes an engineer, a software engineer, but you know, any engineer, is a degree of curiosity. If you’re missing that, you’re not going anywhere. You can come without knowledge, but you best come with curiosity. And if you come with curiosity to a hackathon, for instance, someone’s gonna love sitting with you and working with you. But if you come with a, “no, you know, I’m just not really interested in how this works,” you’re definitely in the wrong place. I lack curiosity around printers though, Jamie, I must say. While someone was one, I was curious. Let that skill atrophy years ago.

Jamie : Yeah, I mean, how often do we need printers, right? Almost never.

Emma : Once every six months or so.

Jamie : Excellent. Let’s just as we’re wrapping up, because I appreciate we’re running out of time and you both have very busy lives. I don’t, but that’s fine. Let’s wrap up with like, say somebody wants to get started with Umbraco. How do they get started? Let’s say we’ve got two potential users. We’ve got a software developer who wants to get in and tinker. They’re very they’re very curious. They want to just click around and have a look at the code and stuff like that. And we’ve got another person who’s like, “you know what, Umbraco would make a perfect example for my next project.” How do those two different people get started?

Emma : So the person that wants to know if it is a good fit for their next project you know, they’re a user, they’re maybe a Chief Marketing Officer somewhere, they go to Umbraco dot com. That is the best place they can go and they can book a demo, they can read all the materials It’s a fantastic website on the latest release. We’ve been very we’ve rebuilt it recently. So that has everything that a person needs to know. If you’re curious about getting involved, if you’re a developer and you want to have a tinker, Ah, see, I’m torn here because I want to say, “you should go to community dot Umbraco dot com,” but that’s in the process of being rebuilt. This is going out in September you should go to community dot Umbraco dot com. Yes, there we go. And where that will probably direct you is to our GitHub. And our GitHub is a fabulous place if you’re familiar with open source project And if you’re not, our community website will tell you how to become familiar with those things. But there’s a pathway for everyone if you’re already technical from the community website. And you can see everything we’re doing because we really do work in public.

Jamie : Right, excellent. And then if folks are listening along and saying, “it would be great to get in touch with some of the folks at Umbraco, maybe I have an idea and I want to put it to Emma or Mats.” Is it just a case of there’s a button on the website or like a a y’all on socials? I know that at the moment we’re going through a transition period where one website is slowly annihilating itself, whoops got a little political. And, you know, others are being segmented and things like that, but What’s the best way for folks to keep up with the news about Umbraco, maybe keep up with what is happening in the DevRel and the business side of Umbraco?

Emma : Oh, I’ve got Mats’ phone number here, which I could read out on. Sorry, Mats.

Mats : I’m happy to take that. Prepare yourself. There will be about a half an hour of old stories before we get to the point. They can call me any time.

Emma : A premium rate on that line. So you can always reach Devrell at devrel at Umbraco dot com. That’s one place to reach us. But we’ve also got a form on the community site that you can reach all of the developer advocates and myself the fracturing of that old platform where everybody used to live and talk has been a real blow to our communities. But we live on Blue Sky, Mastodon and LinkedIn. These days, LinkedIn is a very engaged community space. So who knew that would happen? And you can find me, Emma Burstow. I’m really easy to find on all of those platforms.

Mats : And you can find me on those two, but especially LinkedIn if needed, as Emma says.

Jamie : Excellent. I also just want to shout out the MVP community within Umbraco as well, because you all have your own MVP community Because some of the folks there are some of the friendliest folks I’ve worked with. I know, for instance, Emma, your friend of mine, Paul Seal.

Emma : Ah, wonderful man.

Jamie : He is the friendliest person I’ve ever met.

Emma : Yeah. Any problem you have Umbraco shaped, you ask Paul and he is always happy to give you his time and his expertise. I actually deployed my first website using one of his videos, and then met him in person a year later. I was like, “oh, you helped me so much!” So it’s a fantastic community, and our MVPs, they’re more than 100 now, all over the world, fantastic humans.

Jamie : You’ll soon be competing with Microsoft for their MVPs, right?

Emma : Oh, yeah. Oh, a hundred percent. I think we’ve got five of us that are both. I don’t I don’t count anymore. I’m not an Umbraco MVP anymore. So I am in my heart.

Mats : Oh, you’re just the superstar now, Emma, of Umbraco.

Jamie : I agree. I agree.

Emma : Thanks, Matt I told you he’s a cheerleader. Thanks, boss.

Jamie : Excellent. Well, thank you both so much for chatting with me today. I feel like I’ve learned a whole bunch more about Umbraco, not just from a technical perspective, but like from like managing open source projects perspective and what it means to be Truly open source as a company, and like what that means from a business perspective, what it could mean from a planning, from a user expectation perspective, and things like that. So I really appreciate it. Thank you ever so much.

Emma : Thanks for having us, Jamie.

Mats : Thanks for having us, Jamie. That was a pleasure. Really, really good.

Jamie : Thank you for listening to this episode of the Modern. NET Show with me, Jamie Taylor. I’d like to thank this episode’s guest for graciously sharing their time, expertise and knowledge with us. Be sure to check out the show notes for a bunch of links to some of the stuff that we covered and a full transcription of the interview. The show notes, as always, can be found at the podcast’s website, and there’ll be a link directly to them in your podcatcher. And don’t forget to spread the word. Leave a rating or review on your podcatcher of choice. Head over to. netcore. show/slash review for ways to do that. Reach out via our contact page at. netcore. show/slash contact. or join our discord server at .NETcore. show slash discord all of which are linked in the show notes but above all i hope you have a fantastic rest of your day and i hope that i’ll see you again next time for some more Dordneg goodness. I’ll see you again real soon. See you later, folks.

Wrapping Up

Thank you for listening to this episode of The Modern .NET Show with me, Jamie Taylor. I’d like to thank this episode’s guest for graciously sharing their time, expertise, and knowledge.

Be sure to check out the show notes for a bunch of links to some of the stuff that we covered, and full transcription of the interview. The show notes, as always, can be found at the podcast's website, and there will be a link directly to them in your podcatcher.

And don’t forget to spread the word, leave a rating or review on your podcatcher of choice—head over to dotnetcore.show/review for ways to do that—reach out via our contact page, or join our discord server at dotnetcore.show/discord—all of which are linked in the show notes.

But above all, I hope you have a fantastic rest of your day, and I hope that I’ll see you again, next time for more .NET goodness.

I will see you again real soon. See you later folks.

Follow the show

You can find the show on any of these places