Brutally Honest Advice for New .NET Web Developers

0

Brutally Honest Advice for New .NET Web Developers:

If you want to learn .NET in 2025 then what should you learn and what should not, In this article I am explaining complete .NET Roadmap and topic that is important to learn in 2025.


Learning C# 

The first thing you obviously need to learn is C#. If you don't know C#, you will get horrendously stuck. You need to be able to write a console application before you even begin to consider writing a web app of any type.

What Not to Learn

  • Visual Basic .NET: As a beginner, you should not learn Visual Basic .NET ever today unless you want to work on horrible legacy code.

  • F#: This is for people with galaxy brains, and you might not be there yet.

Moving to Web Applications

Once you are ready to move on to web applications, you should learn ASP.NET MVC first before you do anything else.

What to Avoid Initially

  • Razor Pages: The patterns in Razor Pages do not map to other web application frameworks such as Ruby on Rails or Node.js.

  • Blazor: It's an abstraction over an abstraction over an abstraction, and you will not learn anything. It is extremely clever but not for beginners. It's for people that don't want to learn JavaScript. You can do this after you've learned .NET MVC.

Core Concepts in .NET MVC

The reason you need to learn .NET MVC is that these three core concepts will be everything in C# and .NET web application frameworks:

  1. Routing

  2. View Models and MVVM

  3. Web API and API Controllers

Do not move on until you know what these are.

Basic Web Technologies

The next set of table stakes are HTML, CSS, and JavaScript. These are the basic building blocks of the web, and don't let crazy abstraction layers over these basic technologies distract you from actually learning the fundamental principles of how web pages are made.

Single-Page Application Frameworks

If you need to learn a single-page application framework, learn React. Don't bother learning anything else. Do not do Angular, and certainly don't try to learn Blazor before you can do MVC.

Foundational Software Architecture Concepts

You need to know the following:

  1. Dependency Injection

  2. SOLID Principles

  3. Testable Code: You don't need to do strict TDD (Test-Driven Development) 100% red-green-refactor at this stage in your career, but you need to be able to write testable, decoupled code.

Recommended Books

To help you get there, I've chosen three books I would consider as Bibles for .NET developers:

  1. Pro C# with .NET 6

  2. Clean Code by Robert C. Martin: Despite his politics, you need to read this book because everybody else in the office will be talking about the contents of this book.

  3. Dependency Injection in .NET by Mark Seemann: He is a genius. This is a classic book, and all the concepts still apply all the way through to the new dependency injection frameworks in .NET Core.

Databases

For databases, you need to learn SQL Server. 95% of applications using .NET will be in SQL Server. Do not be tempted to try and use PostgreSQL or MySQL at this stage. These are very esoteric options that very niche companies use with .NET.

You can use Entity Framework Code First as your ORM. You might want to experiment with Dapper, but you don't need to. Entity Framework will force you to understand LINQ as well, which is extremely important. You should also install SQL Server Express on your local Windows machine so you can get used to SQL Server Management Studio, which you'll be spending a lot of time with in your future career.

Types of Companies Using .NET

Be aware of the types of companies that actually use .NET:

  • Enterprise: Big companies, banks, insurance companies, and so on. Big and stable, may or may not be much fun to work at.

  • Small Software Companies: Started a long time ago, maybe a decade ago, that use quite old versions of .NET. They might have updated their stacks and frameworks, but there are not many new startups using .NET today.

Job Hunting Tips

When you are job hunting, be very careful with job descriptions:

  • .NET Core vs. .NET 5: .NET Core was rebranded to .NET 5, so be careful with job descriptions to ensure you're not getting a job that uses .NET Framework.

  • Red Flags: If the job description mentions WebForms, SOAP, WCF, or MSMQ, avoid those jobs to stay sane.

Advanced Concepts to Avoid Initially

Don't bother with advanced concepts until you can build a full-stack web application:

  • Event Sourcing

  • CQRS

  • Message Buses

  • MediatR

You do not need to know these as a junior developer. Some of this is over-engineering for 90% of applications.

Final Advice

Before you consider applying for a job as a .NET developer:

  • Build an App: Find something that you want to make and do it in .NET. This is table stakes today.

  • Be Full-Stack: You cannot just be a backend dev, frontend dev, or database dev. You need to be full-stack.

  • Use Azure App Service: Start with Azure App Service. They have a free plan, and it's built for .NET.

  • Learn Docker: Only learn Docker once you actually have an app that is running.




Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)