Azure & DevOps Podcast

Jeffrey Palermo
undefined
Jul 11, 2022 • 38min

Greg Young: CQRS and EventSourcing- Episode 201

Greg Young is an independent consultant and serial entrepreneur. He has 10-plus years of varied experience in computer science from embedded operating systems to business systems and he brings a pragmatic and often unusual viewpoint to discussions. Greg coined the term “CQRS” (Command Query Responsibility Segregation) and it was instantly picked up by the community who have elaborated upon it ever since. He’s a frequent contributor to InfoQ, a speaker/trainer at Skills Matter, and also a well-known speaker at international conferences.   Topics of Discussion: [3:24] Greg talks about being poached from university and his path to computer science, starting in the lottery and horse racing systems. [7:25] Greg defines CQRS at the base level. [9:24] What is event sourcing? [11:25] How does it look in database technology? [19:19] How does asynchronous processing work with event sourcing? [22:44] Greg talks about causation ID and correlation ID. [26:49] If someone is running on Azure, what technology would be associated with the stream of event sourcing? [27:27] When you’re event sourcing, your events are your concept of truth. [28:15] What’s the relationship between event sourcing and CQRS? [31:16] How has Greg’s method of explaining these concepts changed over time? [31:36] When you teach something, you both get a better understanding of the thing that you’re teaching, and you get a better understanding of how to teach it to somebody.   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Greg Young Twitter Greg Young GitHub Event Store Greg Young YouTube   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
undefined
Jul 4, 2022 • 42min

Tomas Petricek: Cultures of Programming - Episode 200

Tomas Petricek is a lecturer at the University of Kent and a partner at fsharpWorks. He believes that the most fundamental work is not the one solving hard problems, but the one that offers new ways of thinking. He follows this belief in his academic research on programming systems and the history and philosophy of computing, but also in his writing on functional programming and in his F# training and consulting.   Before joining Kent, Tomas did a Ph.D. on context-aware computations at the University of Cambridge, worked on F# tools in Microsoft Research, and built novel tools for data exploration at The Alan Turing Institute.   Topics of Discussion: [4:19] The Turing Institute, and a little bit more about Alan Turing. [6:01] How can we distill 70 years into something understandable in a reasonable period? [8:52] What were the early cultures of programming? [14:00] Fortran programming and how ALGOL was designed by a sort of more academic crowd as a universal programming language. [15:00] We hear some well wishes from listeners and past guests for the 200th episode! Thank you! [21:27] Tomas discusses hacker culture and how the term programmer has changed over the years. [26:06] Tomas’s prediction on where the culture of programming is going next. [27:03] The amazing ad for a programming system called Flow-Matic. [29:22] Why we need escape hatches is because there is a fundamental flaw with no-code and low-code approaches.   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Cultures of Programming Sonic-Pi.NET Tomas Petricek Twitter fsharpworks Twitter Tomas Petricek Website   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
undefined
8 snips
Jun 27, 2022 • 39min

Daniel Vacanti: Measuring Agile Software Teams - Episode 199

Daniel is a 20-year software industry veteran who got his start as a Java Developer/Architect. He has spent most of the last 15 years focusing on Lean and Agile Practices. In 2007, he helped develop the Kanban Method for knowledge work. He even managed the world’s first project implementation of Kanban that year and, ever since, has been conducting Kanban training, coaching, and consulting. As the co-founder and CEO of ActionableAgile, Daniel provides industry-leading predictive analytics tools and services for any Lean-Agile process.   Topics of Discussion: [4:19] Daniel explains why he feels as though the right curriculum is not yet taught in college. [8:00] It’s important to bridge your conversations both in terms of the risk and your ability to deliver on a date in terms of risk. Then, you can have a conversation about what you want to do as a business to mitigate the risks and also accept that they are there in the first place. [10:14] Daniel explains his more data-informed approach when asked how long something is going to take. Jeffrey asks, but how do we find the data that helps us make informed decisions in the first place? [14:43] What are those numbers that give the right visibility? [16;03] The four aspects every manager of a software team should have at their disposal and be monitoring: Work in progress Throughput Cycle Time The age of items that they are working on right now [19:00] Our ability to come up with ideas is always going to outstrip our ability to execute them. That’s why backlogs grow over time. [21:49] Daniel explains the method to go from using Azure DevOps to having numbers at your disposal, and what are the two important pieces of data that you need? [24:41] How does the ActionableAgile tool help when every team board is totally different? [28:44] If your engineering practices are continuous, your process should be continuous as well.   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Daniel's previous interview: “Daniel Vacanti On ActionableAgile” Daniel's latest book: When Will It Be Done? LinkedIn: danielvacanti Twitter: @danvacanti Email: Daniel@ActionableAgile.com ActionableAgile   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
undefined
4 snips
Jun 20, 2022 • 35min

Andrew Lock: Web Applications in .NET6 - Episode 198

Andrew Lock is a senior software engineer at Datadog, working out of Devon, in the UK. He is a Microsoft MVP, Author of ASP.NET Core in Action, and has an active blog all about his experience working with .NET and ASP.NET Core.   Topics of Discussion: [3:35] Andrew discusses the high points in his programming career that steered him to work with .Net6. [5:30] Andrew walks us through all the .NET frameworks and demystifies the overwhelm around all the options. [9:38] Andrew’s favorite method at the moment for web applications on top of .NET is Razor Pages. [12:53] Does anyone really want web applications? [15:31] Andrew explains his philosophy and experience and guidance on testing. [19:18] Is there any kind of structure or pattern that people should be thinking about to keep the classroom lessons not overflowing? [26:16] What web applications would Andrew recommend? [30:19] The topic of custom applications and components comes up.   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! ASP.NET — email jeffrey@clear-measure.com for a chance to win a free copy of ASP.NET Core in Action from Andrew Lock. — available book discount code: — Permanent discount code for Manning publications (35% off I believe), for all listeners, podazdev19 Carter Project Andrew Lock | LinkedIn | Github | Endpoints   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
undefined
Jun 13, 2022 • 29min

Nick Orlowsky: Deciding to Major in Computer Science - Episode 197

Nick is a rising Sophomore college student at The University of Texas in Austin, TX. He’s majoring in computer science and knew from a much earlier age that programming would be his career calling. He was a leader in his high school computer science classes and even competed in the Microsoft ImagineCup competitions, UIL competitions, Hackathons, and much much more. He works for various companies on programming projects during schooling and is currently spending this summer programming for Home Depot corporate.   Topics of Discussion: [4:35] Nick talks about how he got into computer programming and how he knew that programming would be his career calling. [5:53] Nick talks about stacking his high school curriculum with computer science classes. [8:50] What type of technology classes are offered at Nick’s college in computer science, and what type of classes are required vs. optional? [12:28] Did Nick have to ramp up on new tech stacks, or did he already know the ones he uses now? [15:02] Nick talks about the skills he thinks computer science majors need to be successful. [19:55] It’s easy to get distracted in general, but coding is so much more fun than just watching YouTube or scrolling on social media. [22:52] Nick learned typing from Typing.com. [25:57] What is Nick’s 10-year plan and what languages or tools is he dabbling in now? [27:12] The larger the project becomes, the more impossible it is to do it without a team. [27:49] Nick gives his advice to young and aspiring computer science majors and programmers. Find something you want to build, and take a couple of months to work on that.   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Typing.Com   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
undefined
4 snips
Jun 6, 2022 • 33min

Aaron Palermo: Zero Trust Networking - Episode 196

Aaron is a DevOps engineer, solution architect, and all-around cybersecurity expert. He works for a global cybersecurity services company, is a member of the Cloud Security Alliance, and is a co-author of the up-and-coming Software Defined Perimeter Specification Version 2. Since last time (episode 18), Aaron was 1.5 years overseas supporting the Army and moved back to the U.S. last year to join Appgate as a Senior Solutions Architect.   Topics of Discussion: [4:11] What types of things has Aaron observed that programmers don’t typically gravitate towards, but they need to give some attention to in just the overall IT and security space? [9:42] Should developers be thinking about zero trust just for their production environments, or should they be thinking about it for their own working environments, as well? [13:30] Is there a standard set of tags that someone could use from day one? [15:15] A core tenet of Zero Trust is Enterprise Identity Governance. [17:35] Do the cloud providers already have this mechanism of automatically discovering via tags and/or is there something that needs to be added to what they provide? [22:36] What are the pros and cons of working with smaller vs. bigger companies? [24:41] What does Aaron see for the future?   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Appgate — The leader in Zero Trust Network Access solutions Zero Trust Thirty EO 14028 — Executive Order on Improving the Nation’s Cybersecurity Presidential memo on Moving the U.S. Government Toward Zero Trust Cybersecurity Principles CISA’s focus on Zero Trust — 508 search results CISA’s Zero Trust Maturity Model document NIST — Implementing Zero Trust Architecture Cloud Security Alliance — Software Defined Perimeter and Zero Trust Platform One — “An official DoD DevSecOps Enterprise Services team for the DoD” leveraging CNAP for secure remote access to cloud resources. Department of Defense (DoD) Cloud Native Access Point (CNAP) Reference Design (RD)   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
undefined
May 30, 2022 • 32min

Philippe Kruchten: Controlling Your Architecture - Episode 195

Philippe Kruchten has over 35 years of software development experience. Now retired, his experience focused mostly on large technical systems such as telecommunication, defense, aerospace, and software tools. He also spent 16 years as an educator and researcher in a major Canadian engineering school.   Topics of Discussion: [2:18] Philippe gives some of the highlights of his long career, starting first as a mechanical engineer and then traveling the world as a software engineer. [4:26] How Philippe has seen software architecture change over time and the struggles architects still face. [6:03] Software architects are among some of the most in-demand professions. [7:10] What makes software architecture different from other coding? [9:05] Discussing Building and Evaluating a Theory of Architectural Technical Debt in Software-intensive Systems and the three reasons for architectural debt. [11:31] A major reason for architectural debt in software is not understanding the architecture due to improper documentation. So what is the proper way to document? [17:23] Regardless of the format, each key audience needs a view specific to them, and how to document the decisions. [21:19] Is there a best approach for harvesting or understanding the actual architecture? [23:46] With a big architectural change, using systematic impact analysis and prototyping are ways to carefully approach the shift. [26:48] Some unsolved issues that remain within the industry and what a good software developer looks like, then vs. now.   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! “Building and Evaluating a Theory of Architectural Technical Debt in Software-intensive Systems” “A General Model of Software Architecture Design Derived From Five Industrial Approaches” Software Systems Architecture 4+1 Architectural View Model IEEE 1471   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.   Quotes: “I think we’ve made some progress. We understand the role of architecture a little bit better.”— Philippe [4:59] “We’re still hindered by the fact that architecture is hard to grasp; it’s hidden out there in the software, it's not visible at the surface.” — Philippe [5:05] “We’ve come a long way in making architecture a first-class citizen in a few organizations.” — Philippe [5:42] “Architecture, for me, is the set of design decisions you have to make usually early in the life of a system that will actually condition a lot of things in terms of structure and behavior of the system.” — Philippe [7:25] “It’s not programming; although the architecture will end up being code somewhere. The act of developing a software architecture is more about decision-making and understanding the intricate network of decisions and how they relate to each other.” — Philippe [7:58] “Not every software developer needs to be a software architect, but they need to understand what is the software architecture of the system I’m working on.” — Philippe [8:45] “You end up being in a position of architectural technical debt not because you made the wrong decision 10 years ago, but because those decisions are not the right one in the current circumstances. Then there is architectural debt because what you did 10 years ago was just plain stupid!” — Philippe [10:38] “Diagrams are useful for architects to communicate to another audience.” — Philippe [18:59]   Philippe: Website | Twitter | LinkedIn
undefined
May 23, 2022 • 33min

Adam Tornhill: Your Code as a Crime Scene - Episode 194

Adam Tornhill is a programmer who combines degrees in engineering and psychology. He's the founder of CodeScene where he designs tools for software analysis. He’s also the author of Software Design X-Rays, the best-selling book Your Code as a Crime Scene, Lisp for the Web, and Patterns in C. Adam’s other interests include modern history, music, and martial arts.   Topics of Discussion: [2:10] Adam talks about how he got his start in code metrics 25 years ago and why he’s discovered that it’s so hard to write good code. [3:48] What are the other book ideas Adam has to add to his existing four? [4:53] What motivated Adam to write Your Code as a Crime Scene and what is the premise? [9:02] When assembling the data, relevance, as well as quality, are both important. [10:29] Cyclomatic complexity is an old metric, as are many others, that is not quite tangible or relevant. [11:58] Why Adam prefers to look at code health vs. code quality. [13:26] The process is slightly different when looking at code health for existing code vs. writing new code. [15:23] How does CodeScene aid in the pull request process? [18:31] CodeScene integrates with your version control repository and work tracking tools to find where bugs were introduced. [22:22] Is CodeScene meant to be a standalone tool or can it work alongside many of the other tools on the market? [24:57] Adam’s rules of thumb for those getting started in software systems. [28:12] Why Adam’s preferred method of delivering software architecture has changed over the years. [30:36] What are the steps for implementing CodeScene into a codebase?   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! CodeScene — Free Community Edition Adam Tornhill on Github Software Design X-Rays Your Code as a Crime Scene Lisp for the Web Patterns in C “Code Red: The Business Impact of Code Quality”   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.   Quotes: “Software development and software code, in particular, are very abstract. There’s no way I can really take a software system and pull it out and turn it around and inspect it for flaws.” — Adam [6:34] “What I’m most interested in is trends; so are we moving in the right direction or the wrong direction?” — Adam [15:14] “My experience, from working with all of these companies, is that pull requests and code reviews, in general, are extremely valuable… but they also tend to become a bottleneck in practice.” — Adam [16:10] “A surprise is simply one of the most expensive things you can put into a software architecture.” — Adam [30:15] “While these mechanics are simple, information is only good when acted upon.” — Adam [31:20]   Adam: Website | Twitter | LinkedIn
undefined
May 16, 2022 • 41min

Rod Paddock: Application Longevity for Dummies - Episode 193

Rod Paddock is the CTO of Dash Point Software, Inc. and the Editor in Chief of CODE Magazine! In 2001, Rod founded Dash Point Software, Inc. to develop high-quality custom software solutions. With over 30 years of experience, some of his current and past clients include Six Flags, First Premier Bank, Microsoft, Calamos Investments, The U.S. Coast Guard, and U.S. Navy. Along with developing software, Rod is a well-known author and conference speaker. Since 1995, he has given talks, training sessions, and keynotes in the U.S., Canada, and Europe. Rod was a guest way back in Episode 111.   Topics of Discussion: [4:19] What was the state of the industry like when Rod started teaching? [6:12] Rod talks about the event that led him to have dinner with Top Gun pilots, and a moment of celebrity fame in an elevator. [10:11] Rod talks about Code Magazine and how it has developed over the years. [11:01] Rod speaks about the state of remote work, and how it’s giving people time back for more creativity. [15:29] What are the important factors and Rod’s process when planning for applications to live a long time? [21:26] Rewriting applications is a lot of times harder than building from the ground up. [23:22] There are a lot of ways to build, and that includes both planning and a little bit of luck. [24:02] When do you know if it’s time to rebuild a current application? [26:08] You have to know where your problems and pain are, and every system has pain. [29:34] Why is laziness a good thing for a software developer? [36:50] People are very resilient and very resourceful, and they will figure out how to make your software do stuff you would never expect.   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Dash Point Software, Inc. A Philosophy of Software Design, by John Ousterhout Software Engineering at Google: Lessons Learned from Programming Over Time, by Titus Winters, Tom Manshreck, and Hyrum Wright Code Magazine — Use Code TADP For Free Subscription The Mythical Man-Month: Essays on Software Engineering, by Frederick P. Brooks, Jr.   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.   Quotes: “I consider myself extremely fortunate in my whole career.” — Rod “Lots of people are getting essentially 20 hours a week back, and just not from commuting, which is pretty cool.” — Rod “Rewriting applications is a lot of times harder than building from the ground up.” — Rod “You have to pay attention to the way you’re building your applications, and that helps the longevity as well, and know the pieces that you can rip out and rebuild.” — Rod “People are very resilient and very resourceful, and they will figure out how to make your software do stuff you never thought it was going to do.” — Rod    Rod: Website | Twitter
undefined
May 9, 2022 • 39min

Udi Dahan: Distributed Computing - Episode 192

Udi Dahan is one of the world’s foremost experts on Service-Oriented Architecture and Domain-Driven Design and is also the creator of NServiceBus; the most popular service bus for .NET. Udi joined us back on Episode 32 to discuss Microservices.   Topics of Discussion: [2:47] Udi talks about some of the changes, and similarities, in distributed computing in the last five years as well as generational differences to approach learning. [11:27] Udi defines what a service mesh is and when it’s applicable. [14:46] Udi discusses his concerns regarding using a service mesh and common problems encountered. [22:28] With most of the new generation of programmers using Web service-based programming, what does Udi think they need to hear? [27:50] Why Udi thinks the larger companies and vendors need to take more responsibility and “do more good.” [32:48] Udi shares more on NServiceBus’s offerings and functionality and why developers need to learn more. [36:36] Are there any pieces of NServiceBus that will need more than just a .NET standard support?   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s YouTube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Particular Software — NServiceBus Episode 32 — Microservices   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.   Quotes: “Every generation of programmers needs to relearn kind of the same points over again.” — Udi [3:51] “We’re still essentially coming up with new generations of technologies that are addressing the same category of problems.” — Udi [6:16] “The problem is not rooted in what do they need to hear so much as who do they need to hear it from.”— Udi [23:51] “If you know a thing, if you can help, then you should.” — Udi [29:47] “NServiceBus essentially takes all of the problems that you never want to have, and the challenges that most people don’t know that they’re going to have so they don’t appreciate it until they have it, and essentially prevents them from happening.”— Udi [34:29] “That ounce of prevention is equivalent to a pound of cure.” — Udi [34:46]   Udi: Website | Twitter

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app