BEGINNER PROGRAMMING FOR SELF-TAUGHT NIGERIANS: AN UNCUT VERSION IN TWELVE POINTS
So you're a Nigerian living in Nigeria, and with zero background in tech you want to become become a programmer... But you have absolutely no idea where or how to begin.
Well, you're not alone, which is mostly a good thing. And it's not exactly surprising since the tech industry has witnessed a significant increase in intrinsic value since the industry's rise to prominence in the late 1990s and early 2000s. Today the tech space accounts for trillions of dollars worldwide, and has successfully elevated several otherwise average people to the highly exclusive ultra-wealthy status, making millionaires and billionaires out of everyday people.
This century will definitely go down in history as one of the most remarkable because for the first time in forever the world is truly digital and anyone can truly be anything. The only obstacles in your way are the ones in your head. Read that last line again. Remember it. Because you'll need it on your journey to Techland, Techistan, Techtropolis, Techtopia, the Techiverse, whichever does it for you.
That said, if you've been thinking about becoming a programmer for a while now with absolutely no tech background and no idea where or how to begin, walk with me, talk with me, let's get your situation situated.
1. DISCARD ALL YOUR PROGRAMMER STEREOTYPES.
All of them, every last one! The ones from the movies, the TV series, the stories and even your own imaginations. Expectations hurt, so tone the expectations down. Your expectations will hurt you and hinder your progress, because you'll be stuck struggling to reach unrealistic standards like a dog running in circles hoping to catch its own tail.
The only person whose opinion of programmers matters at this point is yours. Take your time to discover your own preferences, what you like and what you don't, what works for you and what doesn't, as opposed to what you think programmers are SUPPOSED to like or prefer.
2. WHY DO YOU WANT TO BECOME A PROGRAMMMER?
What is this really about, this switch? Why are you convinced this is the next right step for you?
Do you intend to simply get a job that pays well, or to become a freelancer, selling your skills to the highest bidder while experimenting with cool tech on the side? Are you simply trying out something new? Are you just moving with the crowd, fueled by the fear of missing out? Do you intend to build the next tech giant, the newest innovation hub unlike any other, to take the world by storm, one magazine cover at a time? Are your intentions of a more noble variety? To change the world, make the world a better place, make a difference, footprints, sands, time, you get the gist.
This is not a job interview, so as long as your reasons are not illegal or objectively reprehensible, there are no wrong answers. Whatever your reasons are however, you're going to want to glue them permanently to your mind, because the journey ahead is not for the faint of heart. Programming requires a lot of time, effort, patience and consistency, which is a subtle way of saying that it's very easy to get discouraged and give up. And it'll be particularly tempting for you since you're new to the field and no one will miss you. Don't. Giving up is not worth it.
3. FIND YOUR LANGUAGE. OR LANGUAGES.
Getting to this point means you're convinced you're ready for the next step. Amazing!
Now, goals and dreams are largely general terms. They need to be broken down into bite-sized chunks or short-term goals for precision. Becoming a programmer is a process, a marathon not a sprint. And this process, much like the journey of a thousand miles, begins with a step, or in this case a language. Just one. Along the line you're free to learn as many other languages as you deem necessary and useful. But for now, let's keep it simple and stick to one. Just one.
There are over 200 different programming languages in the world today, which is a lot. And there are only so many languages one programmer can learn. These languages are mostly designed for specific purposes but can sometimes be combined for maximum effect.
Finding the perfect programming language for an absolute beginner depends largely on the answer to one question: what exactly do you want to do? So how about we start with a niche. What exactly are you interested in? Frontend, backend and full stack web development, app development, game development, data science, Blockchain development, DevOps, cyber security, ethical hacking, FinTech, machine learning, the list is endless.
Select something you're interested in and take your time to research on this something you've selected (a simple Google search would yield hundreds of results). Different niches or fields often require a nice selection of languages. Start with one and then slowly work your way up the ladder. A vague example would be:
Frontend: HTML, CSS, JavaScript, etc
Backend: Python, Java, C++, etc
Data Science: Python, SQL, etc
Blockchain: SQL, Python, Java, Solidity, etc
4. GET AVAILABLE RESOURCES.
I took the liberty of classifying these resources into two.
a. Learning resources.
These will help you learn the basics of writing code. You'll learn the syntax, general rules and exceptions, the do's and don'ts as they apply to the language you've chosen learn.
The 2 most indispensable learning resources for any beginner self-taught programmer are apps and YouTube videos. You may add books along the line if you so wish. There are scores of interactive apps both on your Google PlayStore (for Android users) and Apple Store (for team iOS). Again, a simple search would yield helpful results.
My favorite app, and the best really, is called Sololearn. Available on both Android and iOS devices, the app offers extensively detailed lessons for a wide range of languages, with a host of exercises and projects that earn you experience points upon completion and courses completion certificates for every course completed. It also provides a platform for asking and answering programming-related questions, sharing code blocks and making new programmer friends, among other features. It is the beginner-friendly version of StackOverflow, which makes it beyond perfect for a self-taught coder such as your fine self.
You know how YouTube works. It's like the Google for videos. And much like the actual Google, all you need to do is enter your keywords and let the app do its thing. YouTube videos are important because watching someone do something makes the learning process easier and faster.
b. Coding resources.
These are the apps you'll use to write code. Your interpreters, compilers, assemblers, Integrated Development Environment (IDE), and so on.
You'll have to find the best apps for your chosen language, download, install and set them up on the appropriate devices in order to use them. Once the setup is complete, you're free to start writing code.
5. WRITE CODE. JUST WRITE CODE.
It's not rocket science. Practice makes perfect. The only way to learn to write code is by writing code. No number of videos or lessons will make you a good programmer without practice. They'll help, but only as long as you practice what you learn.
You'll get more errors than you'll know what to do with, and it's okay. It's perfectly normal. Find out what went wrong, fix it and run the program again. And don't be afraid to repeat this process as many times as it takes to get it right. Find small projects and exercises online and challenge yourself everyday. You'll learn new more efficient ways of writing code, and you'll be better off for it.
6. NETWORK. MAKE PROGRAMMER FRIENDS.
A career switch as significant as this will require an equally significant adjustment to your social circle. Make friends with people who're either where you want to be, doing what you want to do, or people who just like you are well on their way up there.
You have two options.
a. Find programmers around you. The best programming results require teamwork. So like misfortune, programmers seldom come singly.
b. Find programmers online. If finding programmers around you is impossible or uncomfortable for you, there are several apps designed for these kinds of things. Find the ones that suit you and get started.
7. USE TECH TERMINOLOGIES.
As often as you can. The easiest way to internalize the technical names you'll encounter in the coding process is to incorporate them into your personal vocabulary. Don't sell yourself short. You're a programmer now. The least you can do is act like it.
Use these terms in your conversations with your programmer friends and pay attention to the things they say, the words they use and the way they use them. Ask them the meaning of the words you don't know when you can ask. Otherwise just make a mental (or actual) note of the words and Google them later.
Using technical terms in your everyday conversations will not only help you adjust faster to your new career choice. It'll give you a generous amount of confidence and make people take you seriously. You're welcome.
8. THERE WILL BE ERRORS, SO TONE DOWN THE PERFECTIONISM.
This is particularly for people like me with perfectionistic tendencies. There will be times when these tendencies will serve you well because perfectionism usually comes with attention to detail, which will come in handy while debugging your code blocks. But the same tendencies can also make you set unrealistic standards and expectations for yourself and sometimes underestimate the challenges you'll encounter in the process.
Sometimes the best way to mitigate failure is the good old-fashioned attention to detail. Sometimes this isn't necessarily applicable. The trick is to know the difference and make your perfectionism work for you. If you don't control it, it'll control you. Remind yourself that you're the boss, that you're in charge.
9. GET READY FOR DISAPPOINTMENTS.
Things will not always go according to your plans no matter how bulletproof the plans are. And I'd say you should always have a plan B, which is very important, but there are no guarantees. Like Lil Wayne says, your best bet is to be "prepared for the worst but still praying for the best".
Depending on the part of the country where you reside, electricity might be a problem. It'll probably be one of your worst problems, but you'll get through it. If you have access to backup generators then it's all good. If you don't, learning to code on your phone can be helpful. There apps for Android and iOS, and although it can be a little uncomfortable, it's just temporary until power is restored.
Also, while you're working hard and all, you may not learn at the pace or speed you hoped you would at the beginning. This is primarily because of the absence of a tech background. It might take twice as long to complete a course or project. Expect it. This way it won't take you by surprise. You'll figure it out. Take your time.
You will not get your dream job as quickly as you expect. Like I said earlier this is a marathon not a sprint. Take your time to learn as much as you can first otherwise you'll make yourself mediocre at best, expendable at worst.
10. THROUGH IT ALL, BE CONSISTENT.
You will be tempted to procrastinate. You will procrastinate. But don't overdo it. Take the time you need to get everything on track and get back to work. The job of a programmer is never done.
11. KEEP YOUR MIND AND BODY OPTIMAL.
Your mind and body are temples at this point. Treat them accordingly.
Eat healthy foods whenever you can. Fruits, vegetables, fibre, low sugar, low sodium, low fat, lots of water, you get the point.
Get enough sleep. Programmer or not, you're human not a machine. Your brain needs rest to work at full speed. So take out quality time to recharge your brain, which at this point is your greatest asset. Experts recommend 6-8 hours of sleep daily for adults.
Exercise as regularly as you can. This may not be very feasible since programming doesn't require a lot of physical movement, but try. Practice good posture wile typing and avoid sitting for too long. Take a walk, try basic aerobics, it doesn't have to be extreme to count. Also, yoga and meditation are not very Nigerian things but there's no harm in trying. You might grow to enjoy them. Or not. There's only one way to find out. If you're the religious type, there's nothing wrong with spending some time catching up on your spirituality. Praying, meditating, whatever dies it for you. Knowing that you're not alone can be very comforting.
Don't be scared to take a break when you feel overwhelmed. Sometimes you have to take a step back to get a full view. So take some time off. You can try some comedy. Watch a funny movie or some funny posts on Instagram and TikTok, or talk to people who make you happy. You can treat yourself to foods that make you happy. Chocolate, ice cream, pizza, shawarma, whatever comfort food works for you, with moderation of course. These will boost oxytocin and serotonin production, and give you a general sense of wholesomeness and wellbeing. You're welcome.
12. IF YOU CAN, PAY FOR PROFESSIONAL CLASSES.
At the end of the day most people who're self-taught are either too busy to attend formal classes or can't afford to pay for them. But this is an investment in your future and overall wellbeing. The skill you'll get from classes will be an asset. You can't put a price on that.
So yes, if you can pay to learn more, find a nice class and get yourself enrolled. Use these resources you have now to bide your time until you can afford to get into a class or bootcamp.
FINALLY,
There's not much else to say, except that the comment section is open to everyone. Do you have questions about anything you just read? Ask away. Are you an experienced programmer with some extra tips? Don't hold back. Let us know what you think. Sharing is caring.
And... To all our readers who're finally ready to take their first steps, good luck!
Comments
Post a Comment