Loading...
Would I still pick C# for coding?

Would I still pick C# for coding?

Intro

I got a nice message and a question from one of my readers – Mike and decided I would make my response a blog post. The short answer to the question in the blog title is [ jump to the end ]. If you have not jumped to the end, there are some things you will gain from the in-betweens. Let us start. Please note, I will share only from my personal view and experience.

I decided for C# sometime in November 2010 in my first year at the university studying computer science (you do not need a CS degree to be a programmer/developer/software engineer). Would I have picked Java? – maybe. I did a Java course in my third year, and I loved it, but C# had already got my fancy by then. Java and C# are remarkably similar in the way they are structured. Both are

  • Strongly typed

  • Object oriented

  • Cross-Platform

  • Free (Java to a wide extent (check OpenJDK vs Java SE vs Java EE), C# all the way)

  • Kinda descendants of C and C++

  • Advanced

However, there are some subtle differences that makes C# shine more for me,

  • 100% Free and open source

  • Ease of installation for a beginner

  • Easy learning curve (probably because it was my first love)

  • Effortless application to various platforms (check

  • this

  • )

  • Lightweight – for the PC configuration I started coding on (although these days, which is not an issue)

Getting a dev job with C# vs Java (In Nigeria)

In my personal experience (90% of my career has been in the enterprise space – so my view may not be so wide), there is more demand for C# developers than Java. Yes, I have seen lots of Java developers – mostly on the backend side of the gigs – but not as much as C# developers.

Most of the scenarios I have seen Java excel in the Nigerian enterprise space is through outsourcing partners of such enterprises that build back-end systems and integrations for them. Java excels a lot in the fintech space for some of the core banking ops in Nigeria.

The apps you use in Nigeria

Most of the solid apps and solutions I have seen built in the last 3 years in the Nigeria fintech space (I have my biases) have been with C#. You will see most of them mix this way (Note: ASP.NET , Xamarin and Razor are development frameworks with C#).

  1. ASP.NET

  2. Web API, Flutter Mobile, React Front End

  3. ASP.NET

  4. Web API. Xamarin.Forms Mobile, Razor Front End

  5. Java Web API (Spring boot), Flutter Mobile. Angular Front End

  6. Node Web API, Flutter Mobile, React Front End

  7. ASP.NET

  8. Web API, React Native Mobile. React Front End

There are a few (older institutions) you will see with this combination

  1. ASP.NET

  2. Web Forms, Java for Android, Objective C for iOS

  3. ASP.NET

  4. Web API, Java for Android, Swift/Objective C for iOS, Razor Front End

One of things that may interest you to know is that most of the banks use outsourced solutions for managing their core engines – so you may want to find the companies they outsource to and find out what techs they are using and base your learning on those.

So far, I only know one bank that built their own core banking system – Kuda Bank. You probably have seen this in the news.

You may then want to ask, is it just in fintech that I can find a job as a developer? My answer to that is no. There are many other industries that employ programmers – eCommerce, logistics, start-ups, oil and gas, telos, and lots more.

The Answer

Yes.

I would still pick C#. These days, I do more CICD and cloud deployments and automations than I code – did C# contribute to that skillset? – Yes. Any other programming language would have also.

One of the things I advise programmers starting out is that you should decide on your target tech niche on the start of your career. Can you diversify? Definitely.

When I started out, I picked Microsoft technologies as my niche and decided, and I would know as much as I could about it – from coding to productivity to the cloud. Today, that is what I’m mostly known for – aside from being a saxophonist and a lover. Have I dabbled into other niches? Yes. I have deployed React, Angular, Python, Java, and many other languages apps and services during.

So, my advice would be

  1. Identify the niche you want to be known for

  2. Research the languages and technologies needed for that niche

  3. Begin your journey by learning the fundamentals

  4. Maintain focus

  5. Document and share your journey (I made a

  6. short video

  7. about this)

  8. Build connections within your niche

  9. Secure that job

  10. Grow in your role

  11. Give back to the community

I hope this answered a bit of the question. What do you think? Let me know in the comments. Thank you.