Andrew Lock: Testing Frameworks - Episode 376

Andrew Lock: Testing Frameworks - Episode 376

Andrew Lock is a staff software engineer at Datadog and educator whose contributions to the .NET ecosystem have shaped how developers approach modern web applications. Located in the UK, Andrew 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:

[2:56] Andrew talks about appreciating the joy of coding and the minutiae of figuring out the correct way to do things.

[3:28] Andrew discusses the various testing frameworks available for .NET, including MS Test, NUnit, XUnit, and TUnit. He explains the history and evolution of these frameworks, noting that XUnit has become the de facto default version.

[7:41] Andrew explains his interest in TUnit, a newer testing library that addresses some of the limitations of XUnit.

[9:29] TUnit is designed to be fast, supporting parallel execution and native AOT for better performance.

[12:16] Is there a way to radically speed up the execution of big test suites?

[15:39] Andrew explains the importance of each type of test in providing confidence that the software works as intended.

[21:26] Andrew notes that full system tests can provide strong confidence by exercising critical pathways in the application.

[29:44] Andrew mentions that tools like Octopus Deploy can be used to automate smoke tests as part of the deployment process.

[30:26] Advice to new developers regarding automated testing, and the importance of writing code that is easy to test, and thinking about testing when writing code.

Mentioned in this Episode:

Clear Measure Way

Architect Forum

Software Engineer Forum

Andrew Lock

"Andrew Lock: Containers in .NET8 - Ep 281"

"Andrew Lock: Web Applications in .NET6 - Ep 198"

"Updates to Docker images in .NET8"

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.

Avsnitt(377)

Rod Paddock: Application Longevity for Dummies - Episode 193

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

16 Maj 202241min

Udi Dahan: Distributed Computing - Episode 192

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

9 Maj 202239min

Scott Wlaschin: Domain Modeling Made Functional - Episode 191

Scott Wlaschin: Domain Modeling Made Functional - Episode 191

Scott Wlaschin is an expert on F#, author of the popular F# site fsharpforfunandprofit.com, and a board member of the F# Software Foundation. Known for his non-academic approach to functional programming, Scott is a popular speaker and has given talks at NDC, F# Exchange, DDD Europe, and other conferences around the world. Topics of Discussion: [2:40] Scott talks about how he got into F#, and the nonlinear path his career has taken. [4:00] Scott walks us through the history of F#. [6:52] What types of applications should developers be looking at F# for? [10:55] What was Scott's inspiration behind writing Domain Modeling Made Functional? [12:20] Domain-driven design has nothing to do with a particular language. It's a process. [17:32] As an industry, whether it be literature or art, there's so much to be gained by observing and reading prior works of others. [19:55] How does functional thinking impact architecture? [20:51] In functional programming, you want everything to be deterministic. [28:34] What are some of the examples of transcription scripts? [31:10] In functional programming, the main thing is the function and not the object. 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! F# Software Foundation Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes. Quotes: [3:00] "I started learning functional programming because I sort of felt like I really knew everything there was to know about databases and all that stuff. I thought I wanted something different." — Scott [8:52] "It really depends on how you like to program. If you like to program in a functional style, and you want to be on .NET, then F# is perfect." — Scott [12:00] "Don't focus on the technology, focus on what you are actually trying to build." — Scott [17:32] "As an industry, whether it be literature or art, there's so much to be gained by observing and reading prior works of others." — Jeffrey Scott: Website | Twitter

2 Maj 202235min

Heather Downing: Retooling for the Future - Episode 190

Heather Downing: Retooling for the Future - Episode 190

Heather is a passionate coder and entrepreneur. She has experience working with Fortune 500 companies building enterprise-level voice, mobile, and C#/.Net applications. She focuses on external thought leadership, encouraging fellow programmers to present on topics outside of the office and in the community. She is also an international technical speaker, recently speaking at NDC, an early adopter of technology, and a conference organizer at KCDC, the Kansas City Developers Conference. Topics of Discussion: [3:00] Heather talks about her deep dive into her local community to figure out how we learn and how different generations are discovering content. [3:12] We now have a multigenerational community and it's important to consider that there are now four different groups of people that learn completely differently. [5:40] With so many people from different cultures and backgrounds, Heather thinks that if we're not accommodating, we're not going to be able to replace ourselves. [8:23] Heather explains the importance of every developer finding their favorite documentation. [12:29] The great equalizer is that we all want to solve problems. Heather talks about the importance of letting beginners ask the right questions, and giving them the space to problem solve. [14:36] Heather describes the reality she sees from university programs and boot camps, along with the importance of having basic people skills. [18:27] Heather describes how time boxing and The Pomodoro Technique can provide a structure for productivity and can help you accomplish more without overwhelm. [21:36] The book Atomic Habits was a powerful read for Heather and she wishes she had read it before! One of the takeaways is that anything that is broken down seems more digestible. When you focus on just getting one percent better at something every day, your goals start to get more manageable. [24:24] Resiliency is key in software. [24:49] Sometimes what you're trying to get better at is not software coding at all, but communication and really listening. [24:50] Heather gives her take on if you need to have a University degree to go into software, and where she thinks the engineering field will end up. [34:42] Heather's advice for young developers looking at older work — keep in mind that it's possible that they did the best they could have at the time. Plus, one day that will be you, so try to have some grace and understanding. 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! Charisma University Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones Kevlin Henney, Medium Kevlin Henney, NDC London Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes. Quotes: "You have to be able to think about how you want to solve this problem, but also communicate it and if you can't do that, it will limit you. You can be amazing, but if nobody knows what you're talking about, because you never mention it or you never speak up, that's going to limit you." "With so many people from different cultures and backgrounds, I think if we are not accommodating, we're not going to be able to replace ourselves." — Heather [5:15] "I feel like every developer needs to just sit down and find their favorite documentation that they've learned from and see if they can at least mimic that." — Heather [8:23] "If you're not enjoying something, maybe you can suggest a different way instead of just quitting." — Heather [12:04] "You aren't guaranteed to succeed. But you are guaranteed to struggle, struggle well." — Heather [23:24] "Maybe it really just takes a slight adjustment or retooling instead of blowing it away and building something completely from scratch again." — Heather [34:00] Heather: Website | Twitter

25 Apr 202236min

Mark Seemann: Code That Fits In Your Head - Episode 189

Mark Seemann: Code That Fits In Your Head - Episode 189

Mark Seemann is a Danish software developer based in Copenhagen, Denmark. His professional interests include functional programming, object-oriented development, as well as software development in general. Apart from writing two books, he has also written numerous articles and blog posts about related topics. Despite being a mostly .NET developer, Mark takes most of his inspiration from sources across a wide range of technologies, including Haskell and lots of pattern books. Originally poised to become a rock star or (failing that) graphic novelist (in the European tradition) he one day found himself with insufficient talent for either, a master's degree in Economics, and a desire for working with computers. He has been doing the latter intermittently since 1995. Mark is the author of two books so far: Author of Dependency Injection .NET as well as Code That Fits In Your Head. Topics of Discussion: [4:55] Mark talks about the thought process behind writing Code That Fits In Your Head. [10:10] Why doesn't Mark like software projects? [13:06] Yes, we want to create value for the businesses when we write code, but we also have to have a longer view on things as well. [17:11] Mark shares three of the most things for getting started with a new application. [19:46] Mark walks us through the process of automating a build. [22:42] Most compiler warnings indicate that you have problems with your code. [28:29] What are some of Mark's resources and pieces of advice for younger programmers? [35:31] In Denmark and Scandinavian cultures, you often feel like the CEO is within close reach and someone that you could easily have lunch with. Mark talks about overcoming resistance in long-time developers when learning something new that may cause some anxiety or insecurity. 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! Code That Fits In Your Head Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes. Quotes: "We're the odd types that find it fun to type characters that sometimes test the reaches of the keyboard, and just tell the computer what to do." — Jeffrey [4:20] "Treat all warnings as errors." — Mark [18:40] "Nowadays, it's not so much from the management that the resistance exists, but actually from other people." — Mark [37:40] Mark: Pluralsight.com/authors/mark-seemann

18 Apr 202243min

Derek Comartin: A Software Architect's Mindset - Episode 188

Derek Comartin: A Software Architect's Mindset - Episode 188

Derek Comartin is a software developer with two decades of professional software development experience. He has written software for a variety of business domains, such as distribution, transportation, manufacturing, and accounting. Derek also has a very active blog and YouTube channel (CodeOpinion.com) that focuses on Software Architecture and Design. Topics of Discussion: [3:21] Derek's mentor was an accountant who gave him more insight into business processes and changed his way of thinking. [9:42] How can we better relate processes in the real world to the solutions we are writing? Derek gives an example of reservation patterns and how that can translate to different places in software. [13:23] A conversation that is often lacking is that if you're writing software for business, are you really understanding what the business is trying to do? [20:10] You can be an individual contributor, even if your communication is just with your team. [28:22] A good question to ask is why you have this problem in the first place. [29:53] When software does something, who actually does it? [37:31] The best developers Derek has talked with or worked with have a unique combination of technical skill and business acumen. 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! Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes. Quotes: "If we're talking about an individual team, I think everybody can have or share some of the responsibilities. I think everybody can play a part in understanding what you're trying to accomplish." — Derek [23:25] "One thing that I've seen hurt programmers' trust is getting frustrated if somebody doesn't think like them." — Jeffrey [24:53] "The best developers I've talked with or worked with have this unique combination of technical skill, and this business acumen or knowledge." — Derek [32:08] Derek: CodeOpinion

11 Apr 202244min

Daniel Markham: How to Share What You Know - Episode 187

Daniel Markham: How to Share What You Know - Episode 187

Daniel is a semioticist logician (otherwise known as a programmer). He likes to help people learn to make better tech. He believes that once you know the "why," you can figure out the "what" on your own. As an active coder and manager, Daniel has spent time the last several years with clients as an Agile/XP Technical Coach, helping them rediscover how to discover and create value at speed. His clients include several Fortune 100 companies all over North America. He is also a technical coach and the author of Info-Ops and Info-Ops ll cross-dedicated and shared (due to high cost/low availability) hardware systems. Package management and high-layer orchestration through other tools, layers is where Azure is partially intersecting. Topics of Discussion: [4:41] Dan talks about his website and building a place to learn and relax. [5:55] Dan discusses when he learned that he wanted to teach others and share what he had learned. [9:43] Dan walks us through his setup and how he focuses on the content more than the technical aspects. [11:38] What is Dan's chosen format for getting it up on a video? [16:22] How does Dan prioritize what he is teaching? [18:13] What should new programmers know? [20:23] It's important to step outside the constraints you are given. [21:38] What's "good enough programming?" [23:49] Strong typing systems are only useful in the terms of one particular business feature at one time. [26:24] The platform and the language choices should actually tell the business something they didn't know before. [33:57] By creating these larger universal-type systems, we're subsuming the business into the code. 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! Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes. Quotes: "I used to tell people you know, at heart, I really am a writer. I'm a writer who can program very well and has a sort of natural skill in programming." — Daniel "I think it's important to demonstrate kicking back and just talking about what's going on in the tech world without any sort of altering your agenda." — Daniel "I find that we have a lot of people trying to be perfect programmers who have no experience of being good enough programmers, and that's a problem the industry's had for a long time." — Daniel Daniel: Website | Dark | Podcast | Books

4 Apr 202242min

Kevin Kirkus on Automated Testing Embedded Code - Episode 186

Kevin Kirkus on Automated Testing Embedded Code - Episode 186

Kevin Kirkus is a Principal Engineer at Intel. He has been there since 1999, designing, building, and testing Intel processors, both the chip and the code that runs the chips. Kevin is a Post-Silicon Validation Architect Lead for multiple Intel Xeon generations and more recently transitioned to Global Post-Silicon Automation Lead for server, client, and device products at Intel Corporation. He has served in various past areas of validation, such as PCIe, socket-interconnect, Platform Configurations, Boot Flows, Fuse, before transitioning to more technical leadership roles in validation architecture and strategy. As a Technical Leader in silicon validation automation, his roles and responsibilities have extended to global standardization and alignment of tools, flows, and methodologies across Intel global product segments (server, client, device), including mentoring environment domain, leads, aligning global sites and strengthening local product sites to excel in automation investments. His technical and leadership experience for validating advanced complex technology has been integral to the success of Intel product teams and their competitive products. He is passionate about developing people and future leaders, building on their strengths, influence, and impact. Topics of Discussion: [3:33] What are some high points that lead Kevin to where he is today? [8:06] Kevin talks about focusing on functional validation execution, and what he likes as a Post-Silicon Validation Architect Lead. [9:03] Kevin walks us through the process from where the code is embedded, the silicon is made, and there's a system of trial and error to test if you are on the right track. [15:33] What are the penalties for the turnaround time? [15:48] What is the mix of code types that are a part of this? [17:18] Kevin talks about the concept of fuses and SKUs or stock-keeping units. [21:12] Kevin talks about the format of the test themselves, the language in which he writes the test cases, and the partnership between the host and target system. [31:42] Where are test harness codes and firmware loaders stored? [31:47] Firmware has to be handled a little bit differently; it has to be cross-platform deployment packaging. [35:20] Most of Intel Xeon's solutions are proprietary, and their bug tracking is proprietary. [39:05] How does Kevin coach people to have the technical skills they need in this space? 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! Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes. Quotes: "My job starts when they have gotten to the point where it boots up and it's reaching the point of fetching the operating system code to where we can actually see it in the operating system." — Kevin [20:02] "If we can deliver a healthy environment to our functional validation team, it gives them a chance to focus their energies on writing tests that actually find the most bugs." — Kevin [39:54] Kevin Kirkus: LinkedIn Intel Intel Xeon

28 Mars 202247min

Populärt inom Politik & nyheter

svenska-fall
motiv
p3-krim
rss-krimstad
fordomspodden
aftonbladet-krim
flashback-forever
blenda-2
rss-viva-fotboll
aftonbladet-daily
rss-sanning-konsekvens
rss-vad-fan-hande
dagens-eko
rss-krimreportrarna
grans
olyckan-inifran
rss-frandfors-horna
krimmagasinet
rss-flodet
spotlight