Become a Better Developer with me!

Master software development and your career

Ardalis is Steve Smith

Ardalis is Steve Smith

Proven Expertise

Steve Smith has been recognized by Microsoft as a Most Valuable Professional (MVP) since 2002, and was a member of Microsoft’s Regional Director program for 10 years. He is also a founding member of the ASPInsiders, an external advisory group for the ASP.NET product team. As Microsoft launches their new version of ASP.NET, he has been contributing to the product and authoring many sections of the official documentation on GitHub.


How can I help you

I offer various different professional services that includes private training for corporate customers, accelerate your project with a bit of mentoring or even a home like inspection for your code and a software application.

Mentoring

You or your team can benefit from Steve’s experience with ASP.NET using SOLID development principles, proven design patterns, and Domain-Driven Design (DDD).

“Our team could spend many hours with other developers figuring out a problem or best practice, or we could set up a meeting with Steve.”

“[Steve] is able to quickly understand the problems we are trying to solve and then works with us to solve the problems.”

Read more…

Online Training

Steve has published many courses on Pluralsight, covering topics from N-Tier architecture to Refactoring to Domain-Driven Design. You can also follow Steve on YouTube for more online video content. See what others say about Steve’s courses.

Assessments

Quickly learn where your application could be improved with an application assessment from Steve. An assessment will reveal “low hanging fruit” that will add the greatest value for the least effort, and can identify security and performance issues as well as maintainability anti-patterns and technical debt. Read more…

Workshops

Look for Steve’s workshops on software craftsmanship, ASP.NET 5, and Domain-Driven Design at an upcoming conference, or schedule one for your team. Contact Steve for more details.

Speaking Engagements

Steve is a regular speaker at tech conferences like Codemash, Stir Trek, DevIntersection, and more. You can find some of his past presentations on SlideShare and SpeakerDeck.

Watch Steve discuss Software Quality on Channel 9 with Seth Juarez:

Interviews and Podcasts

Listen to interviews with Steve Smith on various industry shows and podcasts.

Latest Articles



When and How to Use Blazor Components Blazor is a powerful framework for building web applications using C# instead of JavaScript. One of the key features of Blazor is its component-based architecture, which allows you to create reusable and encapsulated UI elements. In this article, we will explore when and how to use Blazor components effectively. Why Use Blazor Components? Blazor components…

Keep Reading →


Most .NET apps use EF Core and a DbContext for data access, but maintainability can suffer when the use of a DbContext or an IQueryable derived from it is allowed to spread throughout an application. Let's briefly describe how IQueryable works with EF Core and then consider how restricting access to IQuerable (or not) affects the overall maintainability of an app. What is IQueryable The and…

Keep Reading →


I'm evaluating different approaches to data access and other cross-cutting concerns in .NET 7 Web APIs, both for clients and in preparation for an upcoming conference talk. I wanted to be able to load test endpoints locally as one way to assess performance. Looking for good local tools that aren't bloated and hard to use (yes I'm talking to you, JMeter), I quickly found K6. It seemed to serve my…

Keep Reading →


This is something I usually try to write in early January but here it is March already and I'm finally feeling up to it. It's been a rough winter and I've not been motivated to write or create much content, but I'm starting to come around. Getting this done will hopefully let me knock out a bunch of other things I have in the queue. So, without further preamble, let's take a look back at 2022. Oh…

Keep Reading →


It often happens when you're looking for a solution to a problem that you end up with a bunch of browser tabs open. Some were dead ends. Some added necessary clues along the way. All of them have some of the context of the thing you were trying to solve. That context took you time - hours, days even - to put together. And yes, there's a great sense of relief in finally being able to close those…

Keep Reading →


If you have your own web sites or apps that you maintain, it's helpful to know when they're not working. One tool I've been using for a long time is a site called Uptime Robot. Of course, with just a little bit of code you can easily write your own small application that can periodically check the status of one or more sites and alert you to a problem. The Problem I run a number of sites…

Keep Reading →


Although Visual Studio and the dotnet CLI both offer clean commands, neither one really cleans up bin and obj files generated by the build process, and often things are left behind that cause problems. Here's how to really remove all bin and obj folders recursively. Scenario You want to remove all bin and obj folders from your solution or git repo. Sometimes there are files in the bin and/or obj…

Keep Reading →


If you need to just create a new solution file with all projects in all subfolders in it, this should work for you. Scenario For whatever reason, you'd like to quickly create a Visual Studio solution file that includes all of the Visual Studio (dotnet) projects in any subfolder. In my case, sometimes I've needed to do this in order to easily be able to calculate code metrics on the total of a…

Keep Reading →


In November 2022, I started having problems logging into the Azure portal with my Microsoft Account that I've had for years, and which worked elsewhere. I managed to resolve the issue finally with the help of a Microsoft support ticket. Read on if you're having a similar problem. The Problem When logging into the Azure Portal (portal.azure.com), with my Microsoft Account (which is not a "Work or…

Keep Reading →


Redis is a popular open source cache server. When you have a web application that reaches the point of needing more than one front end server, or which has a database that's under too much load, introducing a Redis server between the application server and its database is a common approach. However, sometimes a single redis server is insufficient for the required load and performance requirements…

Keep Reading →