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!
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 Promoted as a Software Engineer
Directly from the Dometrain website:
We all want to get promoted in our jobs and scale the career ladder. It can, however, seem like a very hard task, but thankfully, there are techniques and practices you can follow to make sure you get your dream promotion. In this course, Microsoft Principal Software Engineering Manager at Microsoft, Nick Cosentino, and Engineering Manager at Yelp, Ryan Murphy, will teach you everything you need to know to get your well-deserved promotion and ensure that you can navigate the corporate hell that might come with making a case. This course was created by two engineering managers who interviewed hundreds of engineers and helped them get their promotion.
Nailing the Behavioral Interview
Directly from the Dometrain website:
When interviewing for your next software engineering role, being a good developer can only take you that far. You might think that during the interview process, the only thing that matters is how good your code is or how good your architecture answers are, but the truth is, most developers fail to get their next job because of the behavioural part of the software engineering interview. The good news is that you can prepare for the behavioral interview and ace it every single time. In this course, Nick Cosentino, a Principal Software Engineering Manager at Microsoft and Ryan Murphy, a Software Engineering Manager at Yelp, will use the knowledge that they gathered throughout the years during hundreds of interviews they conducted to make sure you are ready to pass your next interview.
Getting Started: C#
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#
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
All the courses you need to learn modern C#! This bundle contains the previous 2 courses at a 20% discount!
From Zero to Hero: Reflection in .NET
Directly from the Dometrain website:
Reflection makes programming feel like magic, even more than it already does. It allows developers to gain access to programming capabilities, that compile time safety might not allow. Reflection is used everywhere, and it is the glue that brings some of the most advanced features in .NET together to enable us to build APIs, web applications, mobile apps, desktop apps, and so much more. Knowing how to use reflection is one thing, but very few developers fully understand it and use such a powerful tool responsibly. In this course, Microsoft Principal Software Engineering Manager Nick Consentino will teach you how to use reflection in your codebases correctly to build incredible software.
From Zero to Hero: Refactoring for C# Developers
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.
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.