I’m a firm believer that the most effective way for us to improve as software engineers is to build software. However, I still publish free articles and videos to help supplement learning. And for that same reason, I’ll be offering courses of different kinds here. If you are using these materials to supplement your efforts in building things, then I think you’re on the right track!


Navigating Online Courses


Dometrain Courses

These are software engineering courses and programming courses that are hosted on Dometrain. Dometrain courses are paid for and generally much longer and more in-depth than the other courses I will offer here. Nick Chapsas has created an *awesome* platform for getting some of the most experienced software engineers and software architects together to teach you about all of their experiences.

I’m proud to be a Dometrain course author and will happily continue to support the platform!

Getting Started: C#

Getting Started: C# - Dometrain Course

Directly from the Dometrain website:

Whether you have no programming experience or already know a different programming language and want to learn C#, this course is for you. In this course, Principal Engineering Manager Nick Cosentino will teach you everything you need to know to start with programming and C#. C# is one of the most popular programming languages, with millions of lines of code powering some of the most used websites, services and tools. From Office to Azure, our lives wouldn’t be the same without C#. This is your chance to build your programming knowledge on the solid foundation powered by Microsoft themselves.

Deep Dive: C#

Deep Dive: C# - Dometrain Course

Directly from the Dometrain website:

Picking up where he left off on the Getting Started with C# course, Microsoft Principal Software Engineering Manager Nick Cosentino will dive deeper into C#’s feature set and explain more advanced features and patterns. This course covers features such as object-oriented programming with C#, with sections on inheritance and composition, low-level streams, advanced methods and functions like callbacks and delegates, and explaining multithreading and asynchronous programming. If you understand the basics of C# and want to gain even more in-depth knowledge of the language, then this course is for you.

From Zero to Hero: C# Course Bundle

C# From Zero to Hero - Dometrain Course

All the courses you need to learn modern C#! This bundle contains the previous 2 courses at a 20% discount!

From Zero to Hero: Refactoring for C# Developers

Courses - Dometrain - Refactoring for csharp devs - wide

Directly from the Dometrain website:

Are you a C# developer keen on enhancing code quality and maintainability? If yes, this “From Zero to Hero” course called “Refactoring for C# Developers” is tailor-made for you! This course will equip you with practical skills and the latest practices to refactor any C# codebase. Starting with an overview of refactoring, its importance, and when it’s needed, the course delves into various modern and clean refactoring techniques.

The best part? The course uses real-world examples to demonstrate how to transform a codebase to make it more efficient, readable, and extendable. With a focus on hands-on learning, guided examples are provided to demonstrate the refactoring process. But that’s not all! The course also covers the implications of refactoring on team collaboration and project scalability. By the end of this course, you’ll have a solid grasp of refactoring practices, which you can apply directly to your C# development projects.

This course is delivered by Nick Cosentino, a Principal Software Engineering Manager at Microsoft, and is based on years of hands-on experience in the field.


Member Only Courses

These are programming courses and software engineering courses that are offered for members only.

Coming soon! Sign up for the newsletter to hear when these will be launched:


Free Courses

These are software engineering courses and programming courses that are freely available to all! No membership. No cost. No strings attached.

Introduction To Software Development

Are you someone who has thought about getting into software development but is not sure where to start? Have you convinced yourself that you’re “not good enough” or “not smart enough” to be a developer? Maybe that software development is just “too hard”? This absolutely free mini-course is PERFECT for you then.

These short videos will provide you with some intro topics to software development and explain to you that software development is primarily problem-solving and communication. You don’t need to be a math whiz or a genius, just someone who enjoys solving problems and working with people on said problems.

Check it out here!