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.


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.


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…


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

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 →

Spectre.Console is a dotnet library for making beautiful, more useful console applications. Here's a quick introduction to getting started with it. If you'd rather watch a video, I've recorded a quick video for NimblePros' YouTube channel: YouTube: Introducing Spectre.Console Getting Started The quickest way to get started with Spectre.Console is to add it to a new console application. You can…

Keep Reading →

If you have a linux VM you need to work on, the typical way to connect to it is with ssh. Here's how to get started. What is ssh The utility ssh is short for Secure Shell or Secure Socket Shell and is similar to the insecure terminal emulator telnet. You can use it to create a terminal session on a remote computer. If you're coming from a Windows background and are used to using remote desktop/RDP…

Keep Reading →

A popular extension and later core feature of VS Code, rainbow bracket colorization is now available as a free extension for Visual Studio called Rainbow Braces, by Mads Kristensen. It was just released in the last week and currently lists support only for Visual Studio 2022. Colorizing brackets makes it much easier to visually match opening and closing brackets (or braces or parentheses or curly…

Keep Reading →

Pricing is hard, and pricing yourself and your services can be one of the toughest things to get right. While I can't claim to have the answer for how to ideally price your services, I can tell you this: If no one says no, your price is too low. Getting to No There's a popular book, Getting to Yes, which offers some great information on how to negotiate. It's the obvious inspiration for this…

Keep Reading →

Solved! My dell monitor had started showing an annoying error every 30 seconds or so saying 'Unsupported audio format. Set the audio output to pulse code modulation PCM'. I solved it with a quick change to my video card settings. I'm sharing this here for future me when this happens again (probably with a new video card or a driver update), but hopefully it helps some of you as well. My monitor is…

Keep Reading →

GitHub Issues offer a simpler approach to work item management than many other systems like Jira or Azure DevOps. Despite being lightweight, it can and is used to effectively track and prioritize work on thousands of projects of all sizes. Everything is an Issue In GitHub, every work item is an Issue. Issues can be decorated with tags that indicate whether a particular Issue is a Bug, Question…

Keep Reading →

I do a fair bit of video editing as part of producing content for Pluralsight, clients, and YouTube. Recently I took on the task of editing 48 videos from the Stir Trek 2022 conference, each of which mostly just needed time trimmed from the start and end of the presentation. I tried my usual tools, but then I found a new tool that works much better! TechSmith Camtasia I've been using TechSmith…

Keep Reading →

If you're an employee, you probably have a boss, manager, supervisor, or similarly titled person to whom you report. Normally, you figure it's their job to "manage" you, and your job to do what they tell you. But it's actually a two-way relationship, and understanding this can have a very positive impact on your career. Managing Up The idea of "managing up" has been around for a long time. The "up…

Keep Reading →

Domain models should encapsulate logic operations so that there is only one way to perform a given logical operation. That means avoiding exposing entity state and ensuring operations flow through specific methods. By funneling specific operations through specific code pathways, you can be sure constraints around the operations are enforced. In the previous article, I demonstrated some of the…

Keep Reading →