Skip to content
Preptima

The .NET platform and C#

One language, two job markets — modern cross-platform .NET running on Linux and in containers, and .NET Framework keeping Windows-only systems alive that still fund a great deal of the work. Find out which one a role means before you prepare for it.

High demand20 min readBackend engineer (.NET), Full-stack engineer (.NET with Angular or React), Enterprise application developer, Azure cloud engineer, Integration engineer, Legacy modernisation engineer, Game developer (Unity)Updated 2026-07-27

Assumes you know: Object-oriented fundamentals: classes, interfaces, inheritance, Comfort with a statically typed compiled language, SQL, and enough HTTP to describe a REST endpoint, Basic command line, on Windows or Linux

Overview

What this area actually covers

C# is a statically typed, garbage-collected, object-oriented language that compiles to an intermediate language executed by the CLR, the Common Language Runtime. The CLR provides just-in-time compilation, generational garbage collection, type safety and reflection. Around it sits a very large first-party library — collections, networking, cryptography, serialisation, dependency injection, logging — which is why .NET codebases tend to reach for fewer third-party packages than their JavaScript or Python equivalents.

The framework layer splits by workload. ASP.NET Core serves HTTP, from minimal APIs up through MVC and Razor Pages, with a middleware pipeline and built-in dependency injection. Entity Framework Core is the default ORM, and its translation behaviour is a reliable interview topic in its own right. Blazor runs C# in the browser or on the server for interactive UI. WPF and WinForms build Windows desktop applications and remain very much in production. MAUI targets mobile and desktop. Unity uses C# as its scripting language, which makes game development a distinct market that happens to share the language.

The critical distinction is not framework but runtime. .NET Framework is the original Windows-only implementation, at version 4.8, shipped as a component of Windows, in security-fix maintenance and receiving no new features. Modern .NET is the rebuilt cross-platform implementation — .NET Core, then .NET 5 onwards, now released every November with even-numbered versions carrying long-term support. The two share a language and much of an API surface, and are otherwise different platforms with different tooling, different deployment stories and different interview questions.

One more separation is worth making, because it explains why .NET conversations can be confusing. The language, the runtime and the libraries version independently. C# has its own version numbers and its own release notes; the runtime has others; the base class library moves with the runtime but individual packages ship on their own schedules. A team can be on a current C# compiler targeting an older runtime, or on a current runtime writing thoroughly dated C#. When someone says "we're on .NET 8", they have told you about the runtime and nothing about the code.

What people wrongly bundle in is Microsoft's product estate. Dynamics customisation, SharePoint development, Power Platform work and SQL Server administration all frequently appear alongside .NET on a job advert, and none of them is the same skill as writing C#.

Where to go next

Now practise it

15 interview questions in .NET & C#, each with the rubric the interviewer is scoring against.

All .NET questions
dotnetcsharpaspnet-coreenterpriseclr