A Guide to Starting a Career in Tech; How to get a great job in tech without leaving Nigeria

I get a lot of questions about how to get started in tech, especially from people who live where I live — Nigeria. While I can’t offer a one-size-fits-all answer to most of the questions, I think I can help by explaining how to thinkabout getting started.

Do I have to know how to code?

The majority of the questions I get about starting a career in tech in Nigeria are about learning how to write code. I think this is as a result of two things:

  • I’m a software engineer myself, so it makes sense that people ask me about that.
  • Coding is the most glamorous career path in tech right now, at least in these parts. A lot of people think coding is all there is. Furthermore, engineers and their managers are some of the highest paid in the industry worldwide.

I think it’s important to know that you don’t have to learn to code or take on what we refer to as a technical role. While I think that with enough dedication anyone can learn how to code, or be an engineer, you might just not want to.

There are so many other roles to consider in tech. I’ll give you my thoughts on some of them and I’ll explore how viable they are from the point of view of someone in Naija.

This isn’t an exhaustive list of the paths you can take that don’t involve learning to code.

Other non-engineering roles

Design: The concept of design in tech is pretty broad, but when people ask me about design, they tend to mean user interface (UI) design and user experience (UX) design. These two aspects of design are actually quite broad themselves. They involve pretty much everything that has to do with how the product will look, feel, and even sound.

In larger organizations, especially in more developed tech ecosystems, you’ll find more specialized roles under UI and UX. Some designers, who often start out as generalists, are solely responsible for illustrating icons, while some only deal with animation.

This kind of specialization is uncommon in Nigeria, as the industry itself isn’t mature enough to support that at any meaningful scale. In Nigeria, you’re more likely to find design generalists who do everything related to UI and UX.

In fact, it’s also common to find designers who are also front-end engineers. This is changing though. As more companies become more successful, they’re able to afford specialists and now have entire teams dedicated to design. Because of this, simply learning how to become a designer, and nothing else, is a perfectly reasonable path towards a lucrative career in the Nigerian tech space.

Project Management: Pretty much every industry needs project managers (PMs), so you can transfer experience and knowledge in other industries to project management in tech. Of course, not everything is transferable and tech PMs will need a good understanding of the technical details of the project being managed. If you think managing people, communication, and designing efficient processes are your strong suit, then consider becoming a PM.

Growth and Marketing: Growth can be broad, too. In a tech organization, these are the people who are laser focused on making sure there’s growth — be it the growth of subscriptions, orders, ads viewed, or whatever metric that best captures the core value that the product or service delivers. It also involves quite the cross section of skills; marketing, design, statistics, written and spoken communication, project management, and more.

Customer Support: This is often the most overlooked role for people considering working in tech. My theory is that this is because, generally, people in non-tech customer support jobs in Nigeria don’t earn much. This is a second-order effect of Nigerian establishments not valuing or investing in customer support because we have a deeply ingrained culture of  “manage it like that”.

Recently though, I’ve observed that this attitude towards investing in customer support is changing, at least as far as the tech ecosystem is concerned. Newer tech companies have realized that whether or not Nigerians will Manage It Like That, it’s still better and more lucrative to give customers the best possible support experience. Even if this weren’t the case, the next section will make even more of an argument for considering a career in customer support or the other career choices above.

Beyond the Nigerian market

A monumental benefit of the internet is that it erases boundaries between countries, at least in the realm of work and collaboration.

The fact that all the career paths mentioned above (and others not mentioned) are exportable, via remote work, means you’re not limited to Nigeria’s demand for designers, digital marketers, and project managers.

There are many options to participate in the global demand for design talent:

  • Remote freelance work: There are platforms built for this purpose including ToptalGigsterUpwork, and others. I freelanced on Gigster for about two years. There were a decent number of Nigerians there, too, and not just as developers, but also as project managers and designers.
  • Remote full-time work: Startups all over the world try to hire people who aren’t necessarily in their geographical location. You can see evidence of this on job board sites like Remote|OK.
  • Leave the country: This is the hardest to do in my opinion, for most Nigerians anyway. Travel isn’t necessarily easy for us considering all the requirements and costs involved in getting a visa to live somewhere else, especially outside of Africa. The good thing is that you don’t necessarily have to look beyond Africa. There are companies in South Africa, Kenya, Ghana, and other places looking to hire. Though admittedly, the demand and pay outside the continent are both higher.

Earning foreign exchange and spending it in Nigeria does good for Nigeria.

I personally prefer remote work for two reasons:

  • It’s close to a perfect deal for both the employee and the employer. The employee’s point of view was probably something like: “Work no dey, Naija. I spent the last two years learning all I can about customer support from the internet but it’s N25,000 that they want to pay me.” However, the employer thousands of miles away from you values your expertise and is financially motivated to hire you because it’s highly likely that it’ll be cheaper than hiring people in their geographical location. While this sounds like a bad thing, it’s not necessarily so. Looking at absolute numbers to get a sense of how impactful earnings are to someone’s life isn’t particularly useful. Consider the cost of living in the regions in question. It might make more sense to be a remote developer in Ibadan earning $40,000 a year versus earning $100,000 a year living in San Francisco.
  • Earning foreign exchange and spending it in Nigeria does good for Nigeria.

What about coding?

The question: “What to learn?” is particularly pertinent here. Writing code is so broad a term that beginners are bound to get confused and overwhelmed. There are so many different programming languages and tools and their applications are numerous. Beginners, especially autodidacts, tend to be bombarded by all this all at once.

“Learn JavaScript but it’s not Java but Java is good to learn, too, if you want to do server-side or Android stuff but JavaScript can do server-side and Android stuff, too, but it was for the browser first. You also need HTML, CSS, Python, Bootstrap (no Bootstrap is bad, or is it?), React, Vue, Rails, PHP, Mongo, Redis, Embedded C, Machine Learning, Solidity, etc.”

The good news is, it doesn’t have to be this confusing. 

Here are a few tips:

1. Think of what you’d like to be able to build: In order to figure out what to learn, it’s useful to try to envision what you want to create.

  • You might want to be able to build an Android app that lets you keep track of expenses.
  • You might have always thought it’d be cool if you could build your own blog by writing code instead of using WordPress or Medium.
  • Or you think the way your internet banking looks and works isn’t good enough.

It doesn’t matter whether the thing you’d like to be able to build has been built before. It doesn’t matter whether anybody else will use it. It doesn’t matter how stupid or impossible you think it is.

What this does is that it gives you a starting point. You can now go forth and Google, “how to code a blog.”

Another way to figure out a starting point is to decide what you’d like to be.

  • “I’d like to be a machine learning engineer.”
  • “I’d like to be an iOS developer.”

This also gives you Googleable starting points like, “learn machine learning.”

2. Incremental learning: Right after you find a starting point, there’s still ample room to be overwhelmed. This is because in building a fully functional blog, for example, from scratch, there are nontrivial amounts of programming languages and tools you need to know about. However, at the beginning, none of this matters.

Studying the very basics can sometimes feel confusing because it’s difficult to see how what you’re learning applies in the real world. But keep at it. It’ll become clear.

Let’s continue our example from above.

Say I Google “how to code a blog” and stumble on an article that is 1,000 words long, containing terms like HTML/CSS, JavaScript, SQL, etc. I’ll start by taking the first term I don’t understand (e.g: HTML/CSS) and Google things like:

  • “What is HTML & CSS”
  • “Learn HTML & CSS”

3. Tunnel vision learning: Focus. Ignore everything else for the time being. Start from the very basics. Learn as much as you can about “HTML & CSS” (or whatever it is) until you feel like you understand it enough. Studying the basics can sometimes feel confusing because it’s difficult to see how what you’re learning applies in the real world. But keep at it. It’ll become clear.

After this, you can focus on something else you don’t understand. Rinse and repeat, ad infinitum; the learning never stops.

How to learn

So you’ve decided to give digital marketing or design a go. How do you navigate:

  • Dedicating limited time and resources to learn?
  • Managing Nigeria and all the inefficiencies that make literally anything 50 times harder?
  • Hustling for money to chop?

Honestly, I don’t have all the answers. And it’s an especially difficult question to answer because, well… Nigeria. The playing field isn’t even if you’re going to become a world class professional. Access to a computer, steady electricity, and a good enough internet connection isn’t something most people have.

I didn’t have all three at the beginning and the conditions I started with are a far cry from how bad it can be. However, there are things I learned along the way that might be useful.

Note: A lot of the resources I link to below will probably be for coding because that’s what I know but you can easily find similar resources for all of the areas of interest listed above.

The internet is your greatest resource

If you already have steady access to internet, or can easily afford it, then you’re good on this front. If not, well, you have to maximize your usage whenever you have access to it. While not ideal — especially because you can’t quickly Google answers to questions — a lot of programming practice can be done offline, after you’ve downloaded tools for initial setup and the learning material.

I would:

  • Download everything I needed for setup and installation.
  • Download books, PDFs, and videos for offline perusal.
  • Save webpages. If you see a tutorial that you probably won’t be able to get to right there and then, save the entire webpage to your machine. Resources like freeCodeCamp let you download their repository containing their entire syllabus.
  • Mobile data became one of the things I spent the most money on. Managing mobile data, especially if your plan is to tether it to a computer, is a skill that you have to develop. Luckily, the cost of data has gotten cheaper in the past few years.

Don’t I have to pay for books, tutorials, and courses?

Actually, no, you don’t. There’s an overwhelming amount of free resources out there:

  • Codecademy has a free plan.
  • Udacity’s courses are free, except the nanodegrees, some of which actually have all their videos on YouTube.
  • Coursera and Khan Academy have a ton of free stuff, too.

And there are thousands more out there.

Admittedly, paid content can sometimes be of higher quality and while I currently, conveniently, frown upon this, I pirated books and videos when I couldn’t afford to pay for them.

Lastly, the most powerful tool you have on the internet is Google. I’m barely scratching the surface on just how many resources there are. All you have to do is search for what you’re looking for and you’ll likely find it.

You need a computer for coding and design

If you already have one, you’re good. If you don’t, then it’s something you’ll have to figure out how to get. One good thing is that to get started, especially with web development, you don’t need anything fancy. These are good enough specs:

  • 1.6 GHz Processor
  • 4 GB RAM
  • 120 GB hard drive

You could probably get something like this for N70,000, even cheaper if you buy secondhand. And no, you don’t need a MacBook.

Approximately six years ago, I was learning WordPress development and I had to borrow a friend’s HP laptop pretty much every single day. I knew which days and times he needed it for class and I knew what time he’d fall asleep, so I could use it then.

These suggestions might not necessarily work for everyone, N70,000 might not be easy to access, and there might not be anyone around you with a laptop you can borrow. The important thing is that you need to figure out how to get your hands on one.

If you’re not trying to learn design or code, then your smartphone is perfectly good enough to learn those other things. Of course, using a laptop is a better experience.

If you don’t have a computer all the time, there are mobile apps that are great for learning on-the-go, for free, too. A decent amount of them also support offline learning.

  • Codecademy GoPy are good for learning how to code on-the-go.
  • Google made this beautiful app called Primer to teach digital marketing skills.
  • KA Lite is an app that lets you watch Khan Academy videos offline on mobile.

I’m sure there’s more, you just have to search for them.

Getting help

You don’t have to do this alone. Here are a few training resources:

  • Andela: Andela trains you to become a world class developer while also paying you a salary. The entire program lasts four years and, in that time, you’ll not only learn but actually build software for tech companies worldwide, gaining invaluable experience along the way.
  • Lambda school Africa pilot: Lambda School trains you to become an instantly hireable quality developer in nine months and you don’t have to pay a single Naira until you land a job. In collaboration with Paystack, Buycoins, Cowrywise, CredPal, and other Nigerian companies, the Lambda school program is now available in Africa. Applications are currently closed for the first batch, but we’ll be back next year, surely.
  • IA Scholarship: Legendary frontend developer. This is particularly exciting because it’s not just programming. Udacity has nanodegrees for digital marketing and other business related disciplines. Applications are closed right now as the second iteration is ongoing.
  • Resplash: Resplash is a free, mentor-led scholarship program for women. With Resplash, you’ll not only learn how to code but also how to build and run a startup with support from seasoned founders.

Other tips

  • Make time every single day to learn and practice.
  • Actively search for things. They’re on the internet. Search.
  • If light no dey, become an expert at managing your smartphone and computer batteries. I still charge my devices every chance I get because I’m so accustomed to being paranoid about not having electricity when I get back home.
  • As soon as you’ve built confidence in your ability to learn any topic or concept, try to find contract work that forces you to learn to complete it. It matters less how well you’re paid at this stage and extra money is always good.
  • Put yourself out there. Let people know you’re doing this for real. There are many ways to accomplish this. Build your own website, start conversations with people, engage on social media, or blog.
  • Don’t give up.

Leave a Reply

Your email address will not be published. Required fields are marked *