DEV Community

CoderFoundry
CoderFoundry

Posted on

Should You Learn C# in 2019?


(Watch the video version https://youtu.be/ZUgNy-okDQ4)

Choosing a programming language is really hard for a beginner.

If you’re already working as a developer it’s easy. Whatever project you have at work determines the languages and tools you pick up next.

But what if you are a beginner?

There’s no one telling you what to learn. And you don’t want to mess up and study a language today that will be abandoned tomorrow.

So you go to Google and search “Popular programming languages”. And Google gives you back 104 million results.

(That’s the actually number by the way. 100 and 4 million!)

So you wade through a couple of results and you see that one blogger says “Ruby is the best programming language”. But another blogger says “Ruby is dying!”

No wonder so many aspiring devs I talk to are so confused.

There are more people writing articles about their code than writing code!

I call these people SPITRs - the Smartest Person In The Room. (And I don’t mean that as a compliment). To a SPITR no technology is ever cool enough. There’s always something more “cutting edge” to try.

When you ask a SPITR which programming language to study, they don’t really want to help you. They just want to make themselves look smart, by making you look dumb.

That’s why I say, when you talk to a SPITR, you end up wet!

I’m going to help you decide if C# is the right language to study.

But this won’t be like the 104 million articles in Google. I’m not going to tell you about how beautiful the C# syntax is, or how welcoming the community is. I won’t confuse you with a lot of jargon, or tell you if C# is open source or not.

I’m different.

I run a software company. We make money by building stable, reliable software. What’s cool to me is being paid to use my talent to create powerful software solutions. If that sounds cool to you, then you’re in the right place.

Now I do need to explain two things first.

Number one: when a general purpose programming language like C# is used to build web applications, it almost always used within a framework, or stack.

So, C# and Microsoft’s .NET framework go hand in hand.

If you learn C# and you want to build web software, then you’ll also learn the languages and tooling around NET.

So, don’t ask should I learn C# or Javascript or SQL? If you learn .NET you’ll learn all three. It’s just that each language plays a specific role in the architectural pattern of your software project.

The next thing to know is that C# and .NET were created by Microsoft and are popular in the enterprise. But don’t let the word “enterprise” scare you. That just means large or B2B businesses.

For example, I created a software company that battles bank fraud.

Our software was used by financial institutions around the country, and we were named one of the fastest growing private companies in America (four years in a row, by the way).

I created the software using C# and .NET.

That’s a common story. A lot of the behind the scenes software you use every day runs on C#.

So just because consumer facing companies like Uber and Airbnb don’t use .NET and C#, doesn’t mean that it isn’t popular and trusted.

Banks, airlines, construction companies, and sports leagues - .NET and C# is popular with all of them. The developers at these companies are too busy writing software to write an article about writing software!

Now, C# didn’t get adopted by these companies by accident.

And here’s the part you really need to understand. C# was invented by Microsoft in the year 2000. Two years later the NY Times reported that Microsoft spent “five million hours of labor and $2 billion dollars” getting the new language into the hands of developers.

Here’s why that should matter to you. Microsoft will never let C# become obsolete. The second largest company in the world is heavily invested in making sure
that C# developers are always viable in the marketplace.

But truth be told, Microsoft could fail and bring down C# with it. Any tech could fail.

So let’s focus on right now. Is C# good to learn this year?

The answer is still yes.

Course Report is a news site that covers coding bootcamps. They did a study of coding bootcamps across the country and found something surprising.

Let me quote this word for word: “Students who learned C# were the most likely to be employed as a developer after graduation”

Now, why is that? Why are coding bootcamps graduates with C# skills getting jobs at such a high rate?

It’s not because .NET and C# have so many stars on Github. And it’s not because .NET has a cool logo.

Coding bootcamp graduates get hired at a high rate because enterprise companies hire junior devs. If you want to get hired fast, learn C# and apply to a large company. They need devs for all sorts of work..

In the past these companies outsourced their overflow of work overseas. But now they’re seeing bootcamp graduates enter the marketplace, and they’re snatching them up as fast as they can.

Here’s a test: Go to indeed.com and type in “.NET developer”.

Then filter the results by “entry level” positions.

I just looked and there are 1,860 entry level .NET jobs available. That’s more than any other stack.

Just to compare, I also searched “Rails developer”. I found 1,935 jobs. So there are as many junior .NET job opening as total Rails jobs.

Now, beyond the enterprise companies, you have startups that sell to them. And they need C# devs too. My companies sold software and services to large firms. We specialized in .NET because that’s what our clients wanted.

I know several programming languages. But I’ve made the most money from .NET.

So, why should you learn C#? The best reason is that .NET and C# is what what’s your first job will want to see on your resume.

Think about it this way. Let’s say you worked at a company. And that company got purchased by a Chinese firm. So now you have a new boss, and your new boss only speaks Cantonese. Now guess what language you should study? Cantonese!

It’s really that simple.

We had a student at Coder Foundry who really impressed me.

His name is Evan and he lives in Portland. He earned his degree in Political Science, but even during his studies he wanted to be a software developer.

However, like any aspiring developer, he didn’t know which programming language to study. Should he do C#? Should he do something else? He wasn’t sure.

His next step was different than what most people do. He didn’t go on Reddit and ask a bunch of strangers which programming language to study. And he didn’t look up the tech that runs his favorite app and choose that.

Instead he went to about 4 different tech employers in his area and said, “Hey, I am studying to be a developer. Which technologies do you use?”Evan says that over and over again he heard it was .NET and C#.

So Evan looked up .NET coding bootcamps and found Coder Foundry. He relocated and we taught him how to code. Now he’s back in Portland, working remotely, writing code for a consulting company.

Evan did his research the right way. He found out which coding language employers like me are hiring for. Now here’s the last reason you should learn C#.

Remember what I said about Microsoft being determined to keep C# viable?

Well, you see that in all of the technology that uses C#.

You can build games with Unity. You can build AR applications for Halolens. You can build desktop software. You can build iPhone and Android apps with Xamarin.

Internet-of-things, cloud services, and machine learning - .NET and C# has your covered.

So let’s recap.

Will learning C# future-proof your career? No, nothing will. But Microsoft is determined to make sure your skill are in high demand.

Are C# and .NET devs in demand today? Yes. Especially for junior positions.

There’s is no better language and stack to know than C# and .NET. And what if you have other interests like game development? Well, C# is still a smart bet.

I hope that clears up any confusion. And you didn’t have to read 104 million articles to get clarity.

Now stop researching, and get to coding.

That’s the best way to prove who is really the smartest person in the room.

Discussion (4)

Collapse
jjtowle profile image
Jason Towle

Having been developing in C# for my whole career my bias is obvious but I can't disagree with this. It's a great language and has evolved and added some cool features over the years and I believe there's more to come this year with the release of v8.0. As far as I can see the job market, here in the UK, for the C# and .NET stack is highly in demand too so I absolutely doubt it's going anywhere anytime soon.

Collapse
draganbpw profile image
draganb-pw

As a senior engineer I can agree with all said. I would add just one thing. Before you go too far with programming be aware that software development is a painful experience as well. Quite often you'll be on a roller coaster. Today you're in a heaven because everything works great. Tomorrow they change their request slightly and you can't make your code meet the demands. And the deadline is 2PM today. If you don't enjoy the work you'll suffer and won't be happy with any programming language. In that case you'd better pursue your career in something else. If you do enjoy and can handle all the pain that comes with it there's something you should know. Multiple surveys with software developers tell that among the most popular programming languages .Net programming is the least painful and makes programmers the happiest. In short - with c# you don't miss the target.

Collapse
nelsoneric profile image
Nelson

Sir I'm just a beginners on c#, please could you guide me through on what is need to became a good c# developer?
Here is my contact 08139110968 Nelson by name.

Collapse
coderfoundry profile image
CoderFoundry Author

Nelson, if you follow these five steps you'll be a great C# developer: