Ask Developers: Why Should You Learn C#?

Ask Developers: Why Should You Learn C#?

To celebrate our new Learn C# course release this week, we interviewed several developers who work in C# extensively. We got a ton of insightful answers on what it is like to work in C# and why it is a valuable language to learn. Unfortunately, we couldn’t fit everything into the weekly course drop email so we wrote this blog post for the remaining helpful responses from our interviewees. Meet these developers: Nam, Altan, Nada, Jesse, Hayden, Harley, Young and Simon!

  1. Tell me a little about yourself!
  2. How and why did you learn C#?
  3. How do you use C# in your day to day?
  4. Why should I learn C#?
  5. Top tip when learning a new language or specifically C#?

Tell me a little about yourself!

Hey! My name is Altan. I’ve been passionate about technology ever since I was 3 years old playing video games on a Super Nintendo. As I grew older, that passion developed into a curiosity about how software is built and I decided to study computer science when I went to college.

I’ve been working at Microsoft for over 4 years, where I’ve helped build big data applications and mobile device management solutions. In my free time, I love staying active through skiing, weight lifting, and golfing. I try to always be reading a good book and recommend that everybody do the same.

– Altan G._

Hi, I’m Nada! I’m a Texas gal who moved to the beautiful Pacific Northwest 3 years ago. I’m a Software Engineer working in Azure IOT at Microsoft.

Outside of coding, I love spending time outdoors—running, hiking, and skiing, and travelling when I can! My next adventures are going to Japan for cherry blossom season and hiking around Patagonia.

– Nada I._

I was born and raised in New Zealand, when I was 22 I moved to Vancouver and now I live in Seattleworking for Microsoft on the Sway web application. My first experience with coding came from making a simple “Tag” video game with my dad who is also a Software engineer.

My first job in the tech industry was as a game tester for Ninja Kiwi, the creators of the “Bloons” game series. I got to bug test the “Monkey City” and “SAS 4” flash games before they were released. I am an avid video game player and an amateur fencer.

– Harley A._

How and why did you learn C#?

I originally learned C# to write apps for Windows, since I’d just got myself a Windows Phone (RIP). I came to love the language so much that I eventually decided to try it for back-end web development (I’d been using [PHP]() for years and was eager to try something new).

After a couple of failed hackathons struggling with ASP, I finally started to gain my foothold there, and now it’s my go-to! Though I’m starting to finally edge into the Node world, since so much of the front-end world is strongly coupled to it.

– Hayden A._

At work and because it pays the bills. In all seriousness though I’ve been lucky enough to have the opportunity to learn C# on the job with the help of my manager and coworkers. I’ve always been a hands-on learner and so this style of learning-by-doing has always worked really well for me.

One of the reasons I chose to work on the team I currently am in (the Capacity Infrastructure Service team under Azure) was because exactly this. In most teams, at least in Microsoft, you can’t go far before needing to learn some form of it.

– Young K._

I first got in contact with C# during high school. My uncle got me interested in programming at that time and lent me a book about learning to code in BASIC. I wasn’t quite happy with the language and was looking into alternatives already.

At the time our math teacher assigned us some homework that was long and tedious and I didn’t want to do it by hand – instead, I wanted to write a program to solve those tasks for me and I picked C# as the language to write it in. I basically taught myself the basics of C# that day.

Later on when I was at university I got to know the entire C# and .NET ecosystem in more detail and really learned to appreciate it.

– Simon D._

Harley: I first picked up C# during my computer science degree. I remember appreciating how easy it was to debug the code. Stepping through, line by line, and seeing what every command did was the best way to learn how to write C# code. I found that most of the tech companies in my home town were using C# along with the .NET framework, so having these skills was helpful in my job search.

How do you use C# in your day to day?

Altan: Learning C# at my first internship was really useful because I ended up using it at all of my internships and my full-time job at Microsoft!

Here is a quick list of some of the C# projects I worked on:

  • A touchscreen mapping application.
  • A Windows desktop application to monitor a messaging system between stealth jets.
  • An application for graphic designers to fit any custom-made design on blank document within an image (imagine a picture of you holding a blank piece of paper, this application could apply any design onto the paper).
  • An application for photographers to preview what a custom design would look like on natural curved surfaces, such as embroidery on wrinkled clothing or images on water bottles.
  • A distributed system made up of a web application, web service, and big data service that processes terabytes of data daily.

Simon: I am working on some Azure microservices that are almost fully written in C#.

Our client application is a webpage written mostly using Typescript and common JavaScript libraries, but from the code that serves those pages to our users, over the backend all the way to our DevOps and build pipeline tooling (both on our build machines as well as tooling for our local repositories on the dev machines) pretty much everything else is written in C#.

Since I am working on the backend of our service, pretty much my entire day is working on C# code.

Why should I learn C#?

C# is a very versatile language that many organizations use to build web services that scale. In addition, for people who are learning to write code for the first time, C# is a great place to start because of its object oriented nature and extensive library support.

– Jesse F._

Young: In the past some of the more popular languages I’ve used included Python, Java, and Javascript/Typescript. I’m constantly impressed with how elegant programming in C# can be, and how much support it has, both in terms of what you can do with the language itself and the C# community (looking at you Jon Skeet!).

It also goes without saying that a lot of companies (Microsoft included) look for C# developers. Another nice thing about learning a language like C# is it has a lot of similarities to other (C-family) languages, and a lot of the concepts you’ll learn carry over too.

Altan: C# is one of the most ubiquitous languages used in tech today and can be adapted to almost any type of application that you would like to build. For example, you can use C# to build a Windows application, a web application, mobile apps for Android and iOS (when used with the Xamarin library), or a back-end system doing heavy data processing.

The syntax is straightforward, the best practices are tried-and-true, and the documentation is excellent. The developer toolset typically used with C# (Visual Studio) is the best in the business. As a beginner, you won’t have any problem searching the Internet for any issues or questions you have about the language because of its popularity.

Lastly, C# is built and maintained by Microsoft, a company that has an incentive to help software developers become more productive, so it still receives useful updates regularly and will be continued to be supported in the future.

Top tip when learning a new language or specifically C#?

Learning a new language is always difficult. That can be especially true if it’s your first programming language. That said, as is the case with a lot of things in life, do not skip on building a strong foundation to your knowledge. When faced with a bug or a new concept that a language brings, it can be very tempting to rely on easy solutions found on the web.

However, if you spend the time to understand the reasoning behind why a particular solution exists and if you allow yourself to pursue follow-up questions you may have, you will find that you will gain a much more solid understanding of the initial concept you were originally curious about and how it may apply to other similar situations.

– Nam N._

Nada: When learning a new programming language, it’s easy to quickly get lost by the terminology and syntax and be unable to verbalize what you have learned. My advice would be to constantly take a step back while learning a new programming language and ask yourself, can you explain what you’re learning to someone else? If not, spend more doing mini coding challenges to help you better understand what you’re learning.

Young: If you use tabs in a C# file, it won’t compile, so don’t use tabs. Just kidding. My real advice is use an IDE if you aren’t already (e.g. for C#, something like Visual Studio). Code completion can be a real lifesaver when getting started (and even well after that)!

Responses have been condensed and edited for clarity sake.