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#).
- ASP.NET Web API, Flutter Mobile, React Front End
- ASP.NET Web API. Xamarin.Forms Mobile, Razor Front End
- Java Web API (Spring boot), Flutter Mobile. Angular Front End
- Node Web API, Flutter Mobile, React Front End
- ASP.NET Web API, React Native Mobile. React Front End
There are a few (older institutions) you will see with this combination
- ASP.NET Web Forms, Java for Android, Objective C for iOS
- ASP.NET 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
- Identify the niche you want to be known for
- Research the languages and technologies needed for that niche
- Begin your journey by learning the fundamentals
- Maintain focus
- Document and share your journey (I made a short video about this)
- Build connections within your niche
- Secure that job
- Grow in your role
- 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.



