Is it worth learning C# in 2024?

Is it worth learning C# in 2024?

I often see this question pop out in online communities— from developers still starting out, to experienced ones who would like to explore the .NET ecosystem. In today's blog, I will be giving some insights and hopefully help you find an answer.

A brief refresher

Taking it right from the Microsoft docs,

C# is a modern, object-oriented, and type-safe programming language. C# programs run on .NET, a virtual execution system called the common language runtime (CLR) and a set of class libraries.

To put it simply, C# is the programming language, while .NET is the runtime which executes your code.

Things to consider

Longevity

C# is backed by Microsoft, a billion-dollar company. C# and .NET is constantly worked on and improved by the best developers and architects. You can check out their activities at Github or view their community standups at Youtube.

Developer Experience

You can easily start coding in C# and build .NET applications with Visual Studio and/or Visual Studio Code. Both of these have excellent C# support that make life easier for us devs. They are also actively maintained with frequent releases. Deploying your C# applications to the cloud is also breeze with Azure, which is also another product of Microsoft.

What you can build

C# can be used to develop multiple types of applications. In combination of the .NET Core cross-platform support and frameworks like ASP.NET, Blazor, MAUI, WinUI, Unity and many more, you can do these things with C#:

  • Web development

  • Game development

  • Desktop app development

  • Internet of Things (IoT) development

  • Single codebase for native mobile apps (e.g. iOS, Android)

Proximity

Another thing to consider is the job market around your area. Do research in job boards in your city and observe the demand. Some regions are hiring C#/.NET developers more than others.

My personal observation is that C# is not exactly trendy or considered as cool unlike the more popular languages used by startups. It gives priority to stability and long term sustainability over development speed. So a lot of times, I have observed that most companies who favor C# or hire C# developers are usually enterprise level. I think this is also factor to consider when choosing your career trajectory— what types of applications you want to be doing, or what type of environment you want to be working in.

There's even an interesting Reddit thread related to this topic: .NET developers, are we doomed to boring enterprise software forever?

So what now?

I have been a full-time developer for almost 6 years now, and I've worked with C#, Javascript (NodeJS and React) and Python; C# is my favorite. Functional, versatile and fast!

If you are interested in getting started with C#, the Microsoft docs and the DotNet Youtube channel are great places to start!