In my article on Becoming a full-stack developer, I gave some tips on how to build your knowledge for taking up this kind of position. If you chose to take a full-stack .NET developer path, this article should give you more information on what technologies and frameworks you are most likely to be asked for.
The article linked above contains some general information about full-stack that you might want to read up first, if you haven’t already or if you’re not sure what is generally involved in this sort of job.
In the vast majority of the situations, back-end development will only involve ASP.NET. Whether that means ASP.NET WebAPI, or you are developing as part of an MVC project (see more about that below), it’s still the main skill you will need as a back-end .NET developer. Focus on project architecture, SOLID principles, and dependency injection – most other things will come with time.
In some other cases (mostly when working on legacy project, and most often for a big company), you might encounter WCF (Windows Communication Foundation). As long as you learn the architecture of the project, you should be good to go. The main struggle with this kind of project used to be setting it up, but there’s almost 0 chance you’ll have to do that.
When it comes to web development, there are two possibilities you will encounter while looking for job. You are still required to learn ASP.NET for both of them; it’s only the scope to which that is used that differs.
Full ASP.NET solution
This means that the whole project, front-end to back-end, is developed in ASP.NET, without using a separate framework for front-end. This could mean using the popular ASP.NET MVC, Razor Pages or the new Blazor. As I already said in the back-end section, you should focus on project architecture, SOLID principles, and dependency injection. If you have worked with other front-end frameworks, you should not have too much trouble getting a grasp on how this works.
If this is what you are interested to learn, check out my e-book on Full-stack development with ASP.NET Core.
Separate back-end/front-end projects
The other option is that you have the back-end developed in ASP.NET (as described above) and the front-end developed in a separate framework, such as React/Angular/Vue, or even Blazor. You can decide what to learn here based on what the jobs ask for around you – simply take a look at job ads and see what framework the majority of them demand.
Most .NET projects will use an MSSQL database, as it’s the easiest to integrate and it comes as part of the whole “Microsoft” package. You might also see some non-relational databases going on from time to time, but that’s a pretty niche situation.
You should also learn Entity Framework – both code-first and database-first are useful, as you might encounter existing databases in legacy projects. You can also see Dapper used as an alternative in some projects – take a look over it, and try building a small project with it; it will be understandable if you don’t have extended experience with this.
You might be expected to work with a cloud computing platform. In most cases, it will be Azure – again, because of the whole Microsoft ecosystem. In other cases, you might have to work with AWS – either because the company is building multiple solutions there, or for reasons related to compliance.
Besides all the technologies, platforms and frameworks that you will work with, you should be familiar with Git (and probably GitHub), as well as a CI/CD tool:
- Azure DevOps is a good candidate, since it’s part of the Azure platform;
- AWS CodePipeline, if you are working with AWS;
- GitHub Actions, since it’s already built in GitHub.