Jared Parsons on DevOps on the C# Compiler Team - Episode 53

Jared Parsons on DevOps on the C# Compiler Team - Episode 53

Today, your host, Jeffrey Palermo is speaking with Jared Parsons, the Principal Developer Lead on the C# Compiler Team. Everybody tuning in probably uses his code on a day-to-day basis! Jared started out at Microsoft 15 years ago as a Developer; moved on to become a Senior Developer; then Principal Developer on Midori OS; and most recently, the Principal Developer on C# Compiler Team, which he has been with since 2014.

In this episode, Jeffrey and Jared are taking a look at what the DevOps environment looks like for the C# Compiler. They take a look at how the source code is organized, the configuration process, some of the challenges they’ve run into and how they’ve solved them, as well as Jared’s career journey with Microsoft.

The C# Compiler is a highly depended on, complex, widespread piece of software — so tune in to get all the behind-the-scenes insight with Jared Parsons!

Topics of Discussion:

[:39] Be sure to visit AzureDevOps.Show for past episodes and show notes!

[:49] Jeffrey gives some announcements and lets you know where to get a hold of his book, .NET DevOps for Azure.

[2:13] About today’s guest, Jared Parsons.

[2:27] Jeffrey welcomes Jared on to the podcast!

[3:17] Jared speaks about his background with Microsoft and how long he has been with the C# Compiler Team!

[4:09] Jeffrey and Jared begin to discuss what the DevOps environment looks like for the C# Compiler, starting with how the source code is organized.

[4:51] Is everything public on GitHub?

[5:15] If someone clones the Roslyn .NET compiler repository, will they be able to build it locally?

[6:44] Besides the compiler, what other components are included?

[7:35] Do they use Azure DevOps Services?

[8:13] Do they have branching models?

[9:47] Is it YAML-based?

[11:44] Jared explains the goal of their CI build, as well as all that they do in CI.

[13:25] Some of the early issues they ran on to on the Roslyn project.

[13:55] Jared dives back into describing the DevOps environment for the C# compiler.

[15:28] What platforms are the fastest to do this process with?

[15:53] A word from Azure DevOps Podcast’s sponsor: Clear Measure.

[16:20] Jared continues the conversation about CI.

[20:06] After the CI build, Jared speaks about what’s next in the configuration.

[21:12] After the CI build finishes, Jared explains how they package it up and release it.

[22:27] Do they use Azure Artifacts to store the result of the build? And what format of Artifacts have they chosen?

[23:53] Jared explains the final step in their release pipeline.

[25:33] Jared explains the next pipeline that’s kicked off after they complete their release pipeline.

[26:02] Jared shares how they enforce compatibility.

[26:50] Does Jared have static code analysis in place in their pipeline?

[30:08] Where to find everything Jared has been talking about today.

[31:13] Do they use any third party Visual Studio add-ins?

[31:54] How are they planning on targetting a platform that runs from a URL?

[34:17] Jeffrey wraps up this week’s podcast and thanks Jared for joining!

[34:39] Jared recommends a few resources for those looking to learn more.

Mentioned in this Episode:

Azure DevOps

Clear Measure (Sponsor)

.NET DevOps for Azure, by Jeffrey Palermo

bit.ly/dotnetdevopsproject

bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events!

.NET Conf 2019

Microsoft Ignite

Jeffrey Palermo’s Youtube Channel

Jeffrey Palermo’s Twitter

Jared Parsons (LinkedIn)

GitHub.com/dotnet/Roslyn

GitHub.com/dotnet/Roslyn-Analyzers

GitHub.com/dotnet/CSharpLang

Visual Studio

Azure DevOps Services

Azure Artifacts

Visual Studio SDK

Xunit Analyzers

Microsoft Build 2019

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.

Jaksot(367)

J. Tower: Modernization Strangler Fig Pattern - Episode 263

J. Tower: Modernization Strangler Fig Pattern - Episode 263

Jonathan, or J. as he’s known to friends, is a husband, a father, and the owner of Trailhead Technology Partners, a custom software consulting company with employees all around the world. He is also a Microsoft MVP in .NET and frequently speaks at software meetups and conferences. He doesn’t mind too much because he loves sharing what he’s learned, and it also gives him an excuse to visit any nearby National Parks, a passion of his, proven by the fact that he's currently made it to 56 of the 63 parks.   J. also has a passion for building community and has served on several non-profit boards over the years as a result. Currently, J. sits on the SoftwareGR board, a non-profit trade organization dedicated to building the software industry in West Michigan. He also runs Beer City Code, a software conference, and has served as president on that board for over a decade. J. loves hiking, reading, photography, and trying to see all the best picture nominees before the Oscars ceremony.   Topics of Discussion: [4:18] J starting his own consulting company, Trailhead. [4:55] The two categories that make up software architecture. [5:54] J’s philosophy on when he would rewrite a legacy software system. [10:52] The pros and cons of making small improvements over time. [11:33] What is the strangler fig pattern, and how does that turn into a strategy for a software update? [16:02] Bringing older ASP.NET applications up to .NET7. [19:55] What is a reverse proxy? [22:21] We reference the book Working Effectively with Legacy Code. [25:08] In this process, do both of the applications just get access to everything, or do you have to do something specific? [31:28] Architecturally, does this approach work in modernizing from older or other platform web applications? [34:02] The concept of microfrontends.   Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us at programming@palermo.net. Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! J. Tower on Twitter J. Tower on LinkedIn YARP Basic YARP Sample Strangler Fig Application   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

18 Syys 202338min

Chris "Woody" Woodruff: Network Programming - Episode 262

Chris "Woody" Woodruff: Network Programming - Episode 262

Chris Woodruff, or as his friends call him, Woody, is a software developer and architect of over 25 years. Woody loves software engineering, especially allowing applications and services to communicate across networks and through Web APIs. He has been a Microsoft MVP in SQL, Data, and C# in the past, along with multiple years of being awarded the AWS Community Builder Award. Woody lives in Grand Rapids, Michigan, where he explores the many breweries in West Michigan and travels with his family. Woody is also a long-time bourbon fan and loves hunting for whiskey bottles.   Topics of Discussion: [4:46] The many positions Woody has held in his career. [7:14] The genesis behind Woody’s new book, Practical Network Programming Using C#. Dive deep into #CSharp12 and #DotNET8. [9:24] The second book Woody is working on co-writing, on the patterns of developer relations. [14:10] The original intent of the internet was to protect the military. [15:22] What is a packet? [21:08] A brief history of web services. [24:00] Who was Roy Fielding? [28:48] Woody talks about using different applications, the WebSocket service, and Dapr. [35:36] You have to know about the transport across the network, as well as how to build the code and architect your application so that it utilizes the network efficiently. [40:14] We can expect the book out by May or June 2024.   Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us at programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Chris Woodruff's Blog Chris Woodruff LinkedIn Chris Woodruff Twitter   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

11 Syys 202342min

Jeremy Miller: Parallelism in Software - Episode 261

Jeremy Miller: Parallelism in Software - Episode 261

Jeremy Miller started his career as a “real” engineer but wandered into software because that looked like more fun. Since then, Jeremy has worked in and led software development teams in the computer manufacturing industry, finance, insurance, health care, and banking industries. Lately, Jeremy has been focused on leading software architecture teams and helping mentor other software architects. Having had roles both as an in-house software architect and as a software consultant, Jeremy has a great deal of insight into the challenges that confront companies developing and maintaining enterprise systems over time.   Jeremy is well known for his Open-Source Software tools starting with Structure Map and continuing today to Marten and Wolverine. Jeremy is also a frequent author and technical speaker at software conferences. Jeremy recently helped found JasperFx Software to build a sustainable business around the “Critter Stack” tools.   Topics of Discussion: [6:10] How Jeremy got into open-source development. [6:50] Being a part of the codebetter.com website in the pre-Twitter days. [9:30] What most developers should be aware of in the space of getting code to run or multiple instances to run at the same time and having it come out well. [12:04] What is Marten, and how does it work? [12:26] TPL Dataflow Library is a hidden gem inside of Microsoft. [15:25] The two parts of Marten and how they work together. [17:42] What is a producer-consumer pattern? [20:05] How to implement a queue pattern. [24:04] You should probably have some basic understanding of one level underneath you, but Jeremy thinks you don’t want to work on the thread level yourself. [25:38] Jeremy defines “Critter Stack.” [29:55] Jeremy’s advice for new developers. [32:59] Jeremy talks about the type of customers he is looking to collaborate with.   Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Jeremy Miller Twitter Jeremy Miller LinkedIn Jeremy Miller Website Jasper FX Marten Wolverine   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

4 Syys 202336min

Nathaniel Schutta: Thinking Architecturally - Episode 260

Nathaniel Schutta: Thinking Architecturally - Episode 260

Nathaniel Schutta (or Nate) is a software architect focused on cloud computing and building usable applications. A proponent of polyglot programming, Nate has written multiple books and appeared in various videos. Nate is a seasoned speaker, regularly presenting at conferences worldwide, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota where he teaches students to embrace (and evaluate) technical change. Driven to rid the world of bad presentations, Nate co-authored the book Presentation Patterns with Neal Ford and Matthew McCullough. Nate has published Thinking Architecturally and Responsible Microservices both available as free downloads from VMware.   Topics of Discussion: [5:12] How Nate decided he liked development and architecture, and who was Dr. Evil? [7:10] Nate worked at a software company for a brief period and spent a lot of his time building enterprise web apps. [10:13] Is it possible to think and talk about software the same, regardless of language? [14:17] Nate Defines circuit breaker. [15:56] The importance of having good observability and monitoring in place to see what is going on. [22:35] Nate gives some categories of architects and where he thinks it changes in responsibility and scope. [26:14] To quote Ralph Johnson, “Architecture is the important stuff, whatever that is.” While we may have different definitions of “IT,” Nate thinks that it has the decisions that are hard to change later, and the ones we hope we get right in the first place. The “IT” is also what matters to the application at hand. [36:14] Are we currently at another inflection point? [38:03] The current landscape and challenges of inventing things on the fly. [45:22] What can we expect from Nate’s new book? [55:54] Engineers often overlook soft skills, and the Dale Carnegie books on leadership are a great place to start.   Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Nate Schutta Twitter Nathaniel Schutta Website Thinking Architecturally Fundamentals of Software  Dale Carnegie    Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

28 Elo 202359min

Bob Walker: Painless Operations - Episode 259

Bob Walker: Painless Operations - Episode 259

Bob started as a .NET Developer back in the early days of .NET 1.1 with the goal of converting ASP pages to ASP.NET web applications. During that time, his career progressed from .NET Developer to Lead Developer, to Architect, to where he is today. As a technical director at Octopus Deploy, he helps solve complex customer problems as Octopus Deploy. As a team, we help answer both technical and non-technical questions. Bob has been a fan of making it easier to deploy software since the early 2010s, when working for a company the only time to deploy to production was 2 a.m. Saturday. That has led him down the path of CI/CD, DevOps, TDD, and automating all things. He was exposed to Redgate tooling and Octopus Deploy while working at Farm Credit Services of America and has been a fan ever since. In his current role, Bob gets to work with a variety of technologies every day.   Topics of Discussion: [1:41] One of the biggest high points in Bob’s career was being one of the champions of automating database deployments, and seeing that spread across all these other teams. [3:51] Also, he adopted test-driven development and was able to improve the speed of his application from 500 milliseconds per request to 50 milliseconds. [5:20] Bob talks about test-driven development. [7:00] The rules of thumb for people to get right to make running their software system more painless. [8:14] The problem of database management. [10:10] There are two schools of thought: state-based management and migration approach. [12:59] Distributed source control and having a build server are two of the main tools to consider. [15:28] The critical ingredients of monitoring and recovery. [22:07] The two ways to define a tenant. [24:11] One of the advantages of multi-tenancy applications is having a shared application and a shared database, where all the data of all the customers is intermingled with one customer’s data. [27:29] Managing complexity in the cloud. [33:53] I’s all about improving a little, every day, and practicing to get better just a little bit more.   Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Bob Walker Twitter Bob Walker LinkedIn Blog — Octopus Deploy Octopus Deploy   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

21 Elo 202334min

Damian Brady: GitHub Copilot - Episode 258

Damian Brady: GitHub Copilot - Episode 258

Damian Brady is a Developer Advocate Manager at GitHub. He's a developer, speaker, and author specializing in DevOps, MLOps, developer process, and software architecture. Formerly a Cloud Advocate at Microsoft for four years, and before that, a dev at Octopus Deploy and a Microsoft MVP, he has a 25-year background in software development and consulting in a broad range of industries. In Australia, he co-organized the Brisbane .Net User Group and launched the annual DDD Brisbane conference.   Topics of Discussion: [2:12] How did Damian get into the field? [5:50] What is GitHub Copilot, and what are some of the most impressive and time-saving features? [8:38] What is the model that GitHub Copilot uses? [10:32] How have they decided what code is appropriate for this model? [12:13] Damian talks about both the prompt engineering and the server side. [17:30] How do you know if your code is good code? [19:50] Damian shares some cool prompts he has seen in Copilot Chat. [26:10] Github Copilot Voice is an experimental tool, useful for people who find it hard to type or who can’t type. [32:48] The aim of Copilot is to basically increase your productivity, but increase your happiness as a developer as well. [34:40] Will this eventually take the job of all developers? [38:14] Whether it’s GitHub Copilot or a competitive tool that does AI programming, it’s just going to be the way that you do software engineering. [43:07] The difference between junior and senior developers.   Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Damian Brady on Twitter Damian Brady website GitHubNext CoPilot for Docs GitHubNext | Copilot for Pull Requests Copilot for CLI CoPilot Voice DDD Brisbane   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

14 Elo 202349min

Glenn Burnside: Managing Developers - Episode 257

Glenn Burnside: Managing Developers - Episode 257

Glenn Burnside is the Principal Engineer at Skimmer. For 11 years, he was the Executive Vice President at Headspring until they were acquired by Accenture. Before that, he held a number of development management positions as well as leadership roles in the Boy Scouts and other community roles. Glenn holds an Executive MBA from Quantic School of Business and a Computer Engineering degree from Texas A&M University, where he held leadership positions in the Corps of Cadets, Company B-1. You can find more about Glenn at glennburnside.com.   Topics of Discussion: [3:48] Glenn shares a funny story of threatening to quit if he became a manager, and what it feels like to bug people about filling out their timesheets. [5:13] What Glenn realized about software team management and paving the way for others to grow. [9:03] Glenn talks about his thought process of adding someone to the team, whether it’s from scratch or adding someone to an existing team. [10:08] A concept from The Ideal Team Player, of finding someone that is humble, hungry, and smart. [13:14] Why Glenn asks to look for demonstrated ability or demonstrated actions from their prior history rather than answering a hypothetical question. [14:05] The STARR method: Situation, Task, Action, Resolution, Retrospective. [17:44] The importance of finding someone that can improve with you and learn as they go. [19:46] The younger generation of developers has skills but lacks confidence. [21:54] Gathering data points of the industry as a whole from outside your inner circle and place of employment. [23:07] You’ve got the great people on your team, now how do you get them to stay? [25:02] Keeping everybody aimed at the higher mission. [31:11] Having respect for the whole team, not just thinking of yourself as an individual player.   Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Glenn Burnside on LinkedIn Glenn Burnside   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

7 Elo 202334min

Dennis van der Stelt: Microservices and Distributed Systems - Episode 256

Dennis van der Stelt: Microservices and Distributed Systems - Episode 256

Dennis van der Stelt is a Software Architect who loves building distributed systems and the challenges they bring. To be better than the day before, he continuously searches for new ways to improve his knowledge of architecture and software development. What he learns he tries to share via numerous articles, presentations, and posts on his blog. If you want to chat, feel free to ping Dennis on Twitter at @dvdstelt.   Topics of Discussion: [3:07] How did Dennis get into distributed systems? [5:24] Helping customers with building distributed systems. [7:00] Dennis describes the essence of distributed systems. [9:07] The role of asynchronous messaging between components in distributed systems. [12:38] Dennis shares a story about a panicked CEO when the database went down, and the lessons learned from the experience. [14:44] Starting with synchronous distribution, and then moving to asynchronous when you find the benefit. [16:05] The downsides of using asynchronous communication. [17:28] Who decides what happens when things go wrong? [22:34] What Amazon does right. [27:18] Microservices and event-driven architecture — Jeffrey has yet to find a microservices expert! [35:48] Thinking more about the domain model in vertical slices.   Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer’s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Particular Software Dennis on Github Dennis on Twitter Dennis van der Stelt   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

31 Heinä 202338min

Suosittua kategoriassa Politiikka ja uutiset

rss-ootsa-kuullut-tasta
aikalisa
ootsa-kuullut-tasta-2
rss-podme-livebox
politiikan-puskaradio
rss-vaalirankkurit-podcast
otetaan-yhdet
et-sa-noin-voi-sanoo-esittaa
the-ulkopolitist
rikosmyytit
rss-kaikki-uusiksi
rss-hyvaa-huomenta-bryssel
linda-maria
rss-raha-talous-ja-politiikka
rss-pallo-keskelle-2
radio-antro
rss-mina-ukkola
rss-aijat-hopottaa-podcast
rss-polikulaari-humanisti-vastaa-ja-muut-ts-podcastit
rss-50100-podcast