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

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 →

When building a domain model, proper object-oriented design and encapsulation should be applied as much as possible. Some teams choose to intentionally create anemic models with little encapsulation, which can lead to problems. Some of my past NimblePros clients have even had coding conventions and standards that basically required every domain entity be essentially a DTO, with no methods and a…

Keep Reading →

Commands and events are two common types of messages used in distributed application architectures, including microservice designs. Sometimes message formats need to be updated. Which party in the communication is responsible for the message definition? Who owns the message schema? Let's look at an example. Distributed Messages Example Imagine you have a product catalog service. Other systems rely…

Keep Reading →

The Aggregate Pattern comes from Domain-Driven Design and provides a way to encapsulate business logic among several related objects. The pattern has a few rules that, when followed, can help to organize complexity by creating an encapsulation boundary somewhere between the individual entity or value object and the whole domain model. The basic rules of the Aggregate pattern are: Every aggregate…

Keep Reading →


Copyright © 2021