How do you choose your first software development stack? More importantly, do you even know what a software development “stack” is?
Software development is more than just learning the syntax of a specific programming language. It’s about learning the ecosystem and how all the pieces and tools work together for a faster, more effective development process. A “stack” is a set of programs and tools built around a specific language to help you build software.
First, let’s get some background. ASP.NET Core (often simply referred to as .NET) is not a programming language. It’s an open-source web application framework created by Microsoft — just as React is a framework built by Facebook and opened up to the wider development community.
What You Can Build with .NET
For a full picture of the .NET family, read this article from Cesar de la Torre at Microsoft.
With Xamarin, mobile apps can now be built using .NET and C#, meaning developers who know this language can learn the mobile ecosystem and add “mobile app developer” to their skill set.
Universal Windows Platform Applications
.NET is used to create desktop apps, which can run on any device running Windows 10. That includes PCs, XBOX, mobile devices, Internet of Things, and Surface Hub. It can also be used to create Hololens apps for those interested in the world of virtual and augmented reality.
The platforms above are just the tip of the iceberg when it comes to where .NET is used. Perhaps less exciting (but potentially more impactful), .NET is used to create enterprise solutions — the internal tools and programs that companies around the world use to manage their businesses.
Currently, web applications using the MVC (model-view-controller) architectural pattern can be built with .NET, with other capabilities for online apps expected in future releases of the framework.
Jobs for .NET Developers
Job titles vary a lot in the tech industry and the startup scene, with no concrete definition of each one. Titles range from specific (something concrete, such as “software developer”) to vague (something outlandish, like “Tech Ninja”), with many variations in between. Titles for specific jobs depend on company culture, experience level required, specifics of the job, and much more. With that in mind, below are some examples of titles for jobs involving .NET development.
- Software Engineer
- Computer Programmer
- Full-Stack ASP.NET Web Developer
- Software Developer
- Web Developer
- Front-End Developer
- Application Developer
- C# .NET Developer
Salaries of .NET Developers
According to Indeed (and as of this writing), the average salary for a .NET developer in the United States is $88,806. It’s even higher in Seattle, averaging at $105,783.
How to Learn C# and ASP.NET Core
If you’re getting started in C#, we definitely recommend The C# Player’s Guide. It’s great for experienced programmers and beginners alike, and walks through each step of building an application in C#.
Get started in .NET in 10 minutes with this guide from Microsoft. Once you complete this easy four-step process to build your first (albeit small) .NET app, you’ll be directed to more great content to boost your learning.
C# Corner is a rich community of C# programmers and tech professionals. It’s a great learning resource, with contributed content in every form, from articles to videos to blogs.
When in doubt, go to the docs. When learning C# and ASP.NET, your best source will be the content written by the professionals. Microsoft Docs houses the documentation on every software Microsoft has produced.
We launched our first Code 401: Advanced Software Development in ASP.NET Corein October 2017. Along with learning industry best practices that are standard for any .NET developer, you will also go through our Career Development curriculum, where you will create a resume, polish your online presence, learn how to make the most of networking opportunities, practice interviewing, and much more.
In this course, you’ll still learn C#, but we teach it in the contenxt of .NET because many companies are hiring for developers with this specific skill set.