C#: THE PROGRAMMING LANGUAGE THAT OPENS UP DOORS!

What are the uses and benefits of C# in programming? CFG Ambassador Addi shares her insights and tips.

QA Engineer and CFG Ambassador Adelaide Baron shares how C# (C sharp) opens up career opportunities for aspiring developers, and common use cases of C#. Addi also shares her advice for learning and working with C#, applicable to those who are experienced in working with C#, or total beginners! Connect with Addi on LinkedIn or Instagram.

SIX QUICK FIRE QUESTIONS!

What is your favourite coding language?
Anything C based!

What is your favourite season?
Autumn

What is your comfort food?
Cheesy chips

What is your favourite flower?
Peony

What is your favourite way to destress after a long day of coding

Exercise – particularly rowing! Really helps clear the mind, and get active after a stationary, wfh, day

Hi Addi! Please give a brief intro about yourself and your tech experience.

Hey, I’m Addi👋 I’m a software engineer, with a passion for developing and testing solutions, data, and AI! My journey into tech began in 2022, when I joined the CFG Kickstarter Class program. I later completed the CFGdegree in data, and I’m currently on the Mid-Level Accelerator.  

I got into tech during my undergraduate degree, when I was struggling with a project that involved coding – a skill I didn’t yet have! That’s when I discovered CFG, and took the Python and SQL Kickstarter Classes. Not only did they help me with my project (I got a first!) but they also opened my eyes to careers in tech.

In 2022 I started teaching the courses, and decided to become an ambassador too to share the love of CFG to develop others careers. Whether you’re chasing a new career or enhancing your current one, I truly believe coding is a skill everyone can benefit from.

How can proficiency in C# open up career opportunities for aspiring developers?

C# is one of the most popular languages at the moment (#5 on the GitHub since 2020, up from #8 in 2014), making it a great choice for breaking into and advancing your career as a developer. 

C# isn’t new – but you wouldn’t be able to tell. It’s a high-level language, meaning it’s written in a more natural human-readable way, making it a great beginner’s language. 

Did you know, C# is a millennium (2000) baby, created by Microsoft? As such, it has a huge support network, both from integrating tools, to the community and documentation. If you’re interested in the Microsoft suite, such as Azure cloud computing, or the AI/ML offerings, then C# is a fantastic language to utilise. It also has a huge user network – with most cities offering a monthly meetup! 

C# is popular in multiple industries, learning it opens up so many doors! Here’s a few areas where C# leads: 

  • Gaming
  • Web & App Development
  • AI & ML
  • Enterprise applications (those used by organisations)

Being C-based, C# is also a great gateway language. The syntax and style is similar to other major languages, such as C++, Java, And JavaScript! So, by learning C# – you’ll be able to pick up these other languages with more ease, too. 

Keep an eye out on the CFG Intro courses and Kickstarter Classes website pages to begin your C# learning!

By learning C# - you’ll be able to pick up these other languages with more ease, too.

What are some common tasks or projects you work on using C# in your day-to-day tasks?

My current role is in a Software as a Service (SaaS) company, meaning we create software for customers to use. SaaS provides cloud-based apps, for example emails or calendars. In my case, we have a small frontend (maintained by a specific team), and the rest is backend (behind the scenes). For that reason, we don’t use C#, but rather Java across the board for consistency. 

However, in my personal projects, I use C# for microservices – predominantly web APIs. For example, I’m making a small app for my local sports team, and C# integrates really nicely as a whole system (several microservices). 

If I were to split my work code bases between Java and C# I’d use Java for the larger, complex, enterprise applications (e.g. a customer relationship management system). You really can’t beat Spring (a Java framework) for complex development. Any microservices, or anything with a front end (e.g. order processing service, a desktop photo editor, a user authentication service), may be better suited to C#. Additionally, I’d use C# without a doubt if we had other Microsoft technologies – like SQL server.

What do you enjoy most about working with C#?

How readable it is! I didn’t learn C# using any particular resources, I just picked it up whilst working with Java. I found it quite easy to experiment with and get it working, as it’s similar to most modern languages. But take another language like C++, there’s no way my mind would say “print, yes – that must be cout << “message”;”.

Additionally, the documentation. Something about the Microsoft documentation seems a lot more supportive and user-friendly than the Oracle (Java) guides.

I found it quite easy to experiment with and get it working, as it’s similar to most modern languages.

How does C# differ from other programming languages, especially those in the C family like C++ and Java?

All languages are constantly evolving, but modern C# has adopted many features to make it even more expressive and concise. C# is high-level (more human-readable), which can be seen in a comparison of the print messages:

  • C#: Console.WriteLine()
  • Java:  System.out.println()
  • C++: cout << “message”;

Regarding the code base, C# can be written in different styles of programming to suit your needs, whereas the other languages are stricter. Looking at applications, C# is usually for desktop apps or games, whilst Java is reserved for backend development and mobile apps. C++ is even more backend, think OS and web browsers behind the scenes.  

Getting a bit deeper beyond the syntax, while C# is compiled like Java and C++, it doesn’t have the same level of platform independence as Java, being more Windows-based. However, it still offers cross-platform capabilities through tools like .NET Core. Memory and performance-wise, the difference is negligible between C#, Java, and C++, although C++ is considered to have a slight edge due to its low-level (less human-readable) nature. 

This being said, they’re all super similar – especially Java and C#. If you know Java, you’ll pick up C# nicely, to me it feels virtually the same but with subtle differences in architecture and general code. If you know C++, the same applies – but it might be a bigger difference (but c’mon, you know C++).

Are there any particular challenges or barriers that developers should be aware of when working with C#?

I initially found the structural differences between C# and other languages, even within the broader .NET ecosystem, is a bit challenging. However, understanding the underlying architecture is crucial for adhering to best practices early in a project.

Given the rapid pace of C# and .NET framework releases, staying updated with breaking changes is essential. This requires more active monitoring compared to languages like Java or Python.

They’re all super similar - especially Java and C#. If you know Java, you’ll pick up C# nicely.

Can you share any tips for working with C# (e.g. best practices, debugging/troubleshooting)?

The usual tips apply for an object-oriented programming (OOP) language, adhere to SOLID principles and the four pillars of OOP, and use typical casing conventions (or whatever your team uses). 

For debugging, and pre-emptive troubleshooting, start with logging! This is only going to help you debug moving forward, and can also help with monitoring further down the line. Additionally, adopt unit testing early on. I found this the best way for me to ensure my code ran smoothly from the start, using a loose TDD approach. 

C# has a unique architecture, so utilise design patterns – these are proven layouts for particular coding problems. No point in reinventing the wheel! 

What advice would you give to someone just starting with C# development?

C# isn’t just about writing code; the overall application structure plays a huge role. While it’s tempting to dive straight into advanced topics like architecture, it’s best to start with the basics.

I recommend beginning with C# syntax (like the grammar of code) and control flow, followed by OOP and application structure. Once you have a solid foundation, you should adopt unit testing – the earlier the better.

Thank you to Addi for providing such a thorough introduction to C#! Interested in learning C#? Keep an eye out on our Intro Courses or Coding Kickstarter Classes for C#! 🤩

TUI Logo (1)

TECH HIRING IN PORTUGAL

TUI leveraged our program to hire Junior Software Developers from a cohort with 75% career switchers and 100% non-computer science backgrounds.

Commercetools logo

HIRING TECH TALENT IN GERMANY

Commerce Tools used our programme to hire entry-level tech talent for Junior Software Engineering and Junior Site Reliability Engineering roles.

Rolls Royce Logo Code First Girls Partner

ROLLS-ROYCE HIRING IN THE USA

Rolls-Royce exceeded hiring targets by 150%, bringing in software engineers, data ops managers, and scrum managers, with 83% from underrepresented ethnicities and 50% first-generation university attendees.

blank
SS&C company logo

OPPORTUNITIES IN TECH IN INDIA

Unilever Logo

CLASSES TO CFGDEGREE: HIRING IN INDIA

Unilever leveraged our pipeline to place CFGdegree graduates in roles like Solutions Factory DevOps Specialist and Solutions Factory ML Ops Specialist.

The Economist Group Logo Code First Girls Partner

TECH TALENT PIPELINES IN SINGAPORE

The Economist’s program supported tech pipelines with 78% oversubscription, drawing a cohort of 84% beginner-level women, 69% from underrepresented ethnicities, and 44% career switchers.

Nike Logo Code First Girls Partner

TRAINING TECH TALENT IN HILVERSUM

IQVIA Logo

Lorem ipsum dolor sit amet

TUI Company Logo

TECH HIRING IN KRAKOW AND WARSAW

Morgan Stanley logo

FROM BEGINNER TO SKILLED IN HUNGARY

Morgan Stanley used our program to hire entry-level software engineers from a cohort with 99% underrepresented ethnicities and 85% career-focused participants.

Goldman Sachs Logo Code First Girls Partner

FINDING TECH TALENT IN poland

Goldman Sachs used our oversubscribed program to hire in Poland and the UK, drawing from a cohort with 63% career switchers and 44% first-generation university attendees.

Credit Suisse Logo

TECH TOPICS UNLOCKED IN SWITZERLAND

Credit Suisse enhanced its employer brand and hiring pipeline by training a cohort that was 81% new to tech, 63% from underrepresented ethnicities, and 61% career switchers.

Skyscanner Logo

FINDING SOFTWARE ENGINEERS IN SPAIN

Skyscanner’s pipeline achieved a 4% year-over-year increase in women in tech roles, with 62% beginner-level participants and 85% career switchers.

blank

HIRING TECH TALENT IN SPAIN

Capgemini Logo Code First Girls Partner

CLOSING THE TALENT GAP IN GERMANY

Capgemini’s pilot program closed Germany’s talent gap, placing 80+ graduates globally and generating job-ready candidates for junior infrastructure admin roles.

GfK Logo Code First Girls Partner

UNLOCKING TECH TALENT IN POLAND

Booking.com Logo Code First Girls Partner

ENTRY-LEVEL TALENT IN THE NETHERLANDS

Booking.com used our program to hire junior software engineers from a cohort with 94% underrepresented ethnicities and 50% career switchers.