loader from loading.io

CQRS, System Maintainability, and Pragmatic Tech Choices with Dejan Miličić

The Modern .NET Show

Release Date: 09/27/2024

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

The Modern .NET Show

Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by . If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "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...

info_outline
Learning Azure with Jonah Andersson: A Developer's Guide to Cloud Computing and Development Fundamentals show art Learning Azure with Jonah Andersson: A Developer's Guide to Cloud Computing and Development Fundamentals

The Modern .NET Show

RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "So the cloud adoption framework actually has a lot of steps for organizations or IT teams to start assessing their existing environments first and planning the stage before they modernise and migrate to Azure. And then the well-architected framework allows the team, whoever is involved, developers, engineers, or architects,...

info_outline
Dapr: The Secret Sauce to Simplifying Distributed Applications with Mark Fussell show art Dapr: The Secret Sauce to Simplifying Distributed Applications with Mark Fussell

The Modern .NET Show

RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "Yeah, exactly. In fact, one of the central premises of Dapr has, you know, one of its goals is not only to be multi-language, in that anyone can use the APIs from any language they come from. So it has SDKs. First, you can call it HTTP if that's all you care about. But it has SDKs for Java, JavaScript, of course, .NET, Python,...

info_outline
.NET Aspire: How Maddy Montaquila and the .NET Team Are Revolutionizing Development show art .NET Aspire: How Maddy Montaquila and the .NET Team Are Revolutionizing Development

The Modern .NET Show

RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "If your app has a backend, it's Aspire-able. And so it's tools, templates, and packages for really any type of app… So just being able to walk up to a repo, clone it, and hit F5. When was the last time we were able to do that? Like, ten years ago, maybe?"— Maddy Montaquila Welcome friends to The Modern .NET Show; the premier...

info_outline
.NET Web App Modernization Made Easy with Tomáš Herceg's New Book and DotVVM show art .NET Web App Modernization Made Easy with Tomáš Herceg's New Book and DotVVM

The Modern .NET Show

DotConnect and Entity Developer and boost .NET development with high-performance ADO .NET providers and visual ORM builder. Try a 30-day free trial now! Show Notes "I remember I had the entire life cycle of the web forms printed on a wall. It was like six sheets of paper and it was very complex, and it was very useful to have it on the wall because, like, you could always look at it and say, "okay, this is going on before this one." So you have to like switch the order of things. But that's exactly what I call interesting"— Tomáš Herceg Welcome friends to The Modern .NET Show; the...

info_outline
Jonathan Peppers Unleashes Code Chaos: How .NET Meets the NES show art Jonathan Peppers Unleashes Code Chaos: How .NET Meets the NES

The Modern .NET Show

RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "When you program for the NES you deeply need to understand the hardware, right. And that's not a thing; like as a .NET developer you don't really know what a register is, or like or a bus, or like NES has a thing called a PPU"— Jonathan Peppers Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing...

info_outline
Google Gemini in .NET: The Ultimate Guide with Jochen Kirstaetter show art Google Gemini in .NET: The Ultimate Guide with Jochen Kirstaetter

The Modern .NET Show

RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "So on my side it was actually, the interesting experience was that I kind of used it one way, because it was mainly about reading the Python code, the JavaScript code, and, let’s say like, the Go implementations, trying to understand what are the concepts, what are the ways about how it has been implemented by the different...

info_outline
From Code to Cloud in 15 Minutes: Jason Taylor's Expert Insights And The Clean Architecture Template show art From Code to Cloud in 15 Minutes: Jason Taylor's Expert Insights And The Clean Architecture Template

The Modern .NET Show

RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "So I've been focused on the code to cloud journey, I like to call it, for the template. And two years ago, my goal was to provide a solution that could take you from code to cloud in 45 minutes or less. So I wanted it to be "file new project" to deploy a solution on Azure—because that's where my main focus is—within 45...

info_outline
Deploying With Confidence: Sam Gomez on Terraform, Bicep, and Infrastructure as Code show art Deploying With Confidence: Sam Gomez on Terraform, Bicep, and Infrastructure as Code

The Modern .NET Show

Show Notes "If you talk to people that have been doing Terraform for many years, they're going to tell you that, "Terraform is the law and Terraform is the way to go." But like you said, there's different tools, I would say, or languages that you can use for infrastructure as code. And it really depends what you want to do, what your developers are used to or are comfortable with and what works with your organization as it should be with any tool in software development. You got to grab the one or use the one that is more appropriate for your use case, your scenario, your organization"— Sam...

info_outline
Metaprogramming Made Accessible: Gael Fraiteur Explores the World of Metalama show art Metaprogramming Made Accessible: Gael Fraiteur Explores the World of Metalama

The Modern .NET Show

RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "And I think this is really the key factor in software development. I think it's really to keep complexity low, because in most projects, unless you are writing an operating system, a framework or rocket navigation you are not coding against hardware; like the hardware is not your bottleneck. You are coding against human brains,...

info_outline
 
More Episodes

Metalama

This episode of The Modern .NET Show is supported, in part, by Metalama, reduce your boilerplate code by up to 15% with Metalama's C#-to-C# template engine and reduce your code complexity today!

Show Notes

"Essentially, when you look at it, what we are doing, we are not building software. We are changing it, we are maintaining it. Because when you look at the typical lifecycle of the application, enterprise one I would say, or any big system where you invest lots of time lots of money building it, you want to exploit this for 5-10-15 years hopefully. So when you look at the percentages, you're building something for one year and then you are using it for nine more years, let's say. It's a 10 year life cycle. So when you think about it, you spend 10 times... er, 10 percent of your time building something and 90 percent of the lifecycle of the application or the system responding to change requests, building new things, changing, adapting, and maintaining. So essentially, our job is not to build out. Our job is to sustain all these request changes. I think that's the first point we need to clear."— Dejan Miličić

Welcome friends to The Modern .NET Show; the premier .NET podcast, focussing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor.

In this episode, Dejan Miličić joined us to talk about the CQRS pattern, how it came from CQS, what CQS is and how it's related to Alan Kay's original ideas for object-oriented programming, being pragmatic as developers and engineers, the importance of system design and system's thinking, and how we all need to realise that our software lives on for years after we've pushed our changes to the repo.

"So I, indeed, agree with you that people should pay more attention to system design. Start looking at the whole picture. And the extreme of this thinking would be: okay you will go into job interview, they will ask you about, I don't know, quick sort you, will implement it on the whiteboard, and then six months later on you will go and purchase or maybe download a NuGet package with with a quick sort implementation, because you know it makes sense; you don't want to implement something that have been implemented this many times before."— Dejan Miličić

Whilst this episode doesn't focus on .NET per se, I think that the subjects that Dejan and I covered are incredibly important for anyone who wants to seriously level up their game. In fact, Dejan proved this point when he said:

"We [are] all, like, containerised into our own small silos and working on our own without being aware of the whole system. When you look at what people go through when they prepare for job interviews at, I don't you know, Google, Facebook, nowadays Meta, Microsoft, you have all these books on the system design. And then they go, instead of, you know, going to the job interview after 20 years of experience and talking about what you do and what you know, people with 20 years of experience still sit down and learn and prepare for the system design interview. I'm not saying they shouldn't be preparing, but some of my colleagues told me that that was the first time in their careers that they started looking at the system design as a discipline."— Dejan Miličić

Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET.

Supporting the Show

If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show.

Full Show Notes

The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-7/cqrs-system-maintainability-and-pragmatic-tech-choices-with-dejan-milicic/

Useful Links

Supporting the show:

Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend.

And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch.

You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.