Introduction to .NET
Hi, I'm Spencer, and I'm super excited to be here at Frontend Masters to teach you about .NET.
Let's start with the spicy take of the year:
A Bold Declaration
.NET is the best platform for building web apps in the world.
This isn't your grandpa's .NET. It's a modern, powerful, and versatile framework that's continuously evolving to meet the needs of today's developers.
About the Instructor
Hello! My name is Spencer Schneidenbach and I'm the instructor for this course. I'm excited to share my experience with you:
- I'm the President and CTO of Aviron Software, a software consulting firm specializing in .NET development, Microsoft Azure, React, and React Native.
- I've been recognized as a Microsoft MVP for nearly 10 years. My award area is Developer Technologies, specifically .NET.
- I'm a .NET consultant with many years of hands-on experience. I've seen dozens of codebases across a huge array of companies from startups to enterprises.
- I've spoken at conferences around the world on many different .NET topics.
My goal is to prepare you for professional .NET development. The material in this course comes directly from experiences I've had working on real projects.
Why Choose .NET?
There are several compelling reasons to choose .NET for your development projects:
- LOTS AND LOTS OF JOBS!: There is huge demand in the marketplace for .NET skills.
- Fun to use and write: I might be biased, but I have more fun when I write .NET than any other language and on any other platform.
- Open Source and Cross-Platform: .NET is fully open source and runs on multiple platforms.
- Strong Developer Ecosystem: Benefit from the "network effect" of a large, active community.
- High Performance and Scalability: Modern .NET is designed for efficiency and can handle projects of any size.
- Modern and Secure: Backed by Microsoft and regularly kept up-to-date.
The goal of this course
The goal of this course is to teach you about the most important parts of the .NET ecosystem and the C# programming language.
I define "important" as being "important to the real world" - the entire course was built for people who want to write real code the way the pros do, in an easy-to-digest, approachable format.
Thus, there are parts of the language and ecosystem that I will happily tell you are not important, or have not been important to me in my career.
There are no ivory towers here. The course is meant for productivity because I want to help you ship stuff. I don't want to dictate the "one true way" to do things. I want to highlight what has worked well for me and what I've avoided to be successful and productive in .NET.
I also believe in minimizing "magic" in code - it should be easy for other developers to understand what is happening with a particular piece of code. That includes the .NET core libraries. Thus, we will be digging into actual decompiled source code as much as we can to understand more about what's going on under the hood.
What You'll Gain from This Course
This course is designed to give you practical, professional-level knowledge of .NET:
- Real-World Experience: Learn C# as it's used in actual projects, not just theory.
- Professional Best Practices: Understand how experienced developers write C#, including what we do and we DON'T do.
- Source Code Deep Dives: We'll examine real C# source code regularly.
- Practical Examples: Throughout the course, we'll work through real-world scenarios to solidify your understanding.
Some examples are things I wouldn't write in the real world, for the sake of demonstrating the language feature. I'll call those out when they happen.
Let's embark on this journey to master .NET development together!
One last thing
Spencer is pretty opinionated. Opinions are useful because they help you make quick decisions - just don't be dogmatic about 'em - know when to hold 'em and when to fold 'em. Quick decisions are almost always better than analysis paralysis. Mistakes will happen, and ultimately that's a good thing.
Some mistakes will be made along the way. That's good. Because at least some decisions are being made along the way. And we'll find the mistakes. We'll fix 'em. -Steve Jobs, on building products, axing products, and making decisions
I used to have a saying to put things into perspecive when things were getting really crazy at work and we were freaking out over the Daily Crisis: Breathe. It's just software, we're not saving babies here. Now, to be clear, if you ARE saving babies or working on software that does, for crying out loud, don't breathe and make sure you've got unit tests! -Scott Hanselman
As I mentioned, this course is built from his real world experience and from that experience, he's got some spicy takes. Those will be denoted with the chili pepper sequence as follows: 🌶️🌶️🌶️