Disclaimer: This post will not teach you how to code in order to build the next earth-shaking product and make a decent exit.
After Sunday service this past week, as I made my way out of the church premises I ran into an acquaintance, we shared pleasantries and spoke about everything in-between, just before we both parted ways, he ended the conversation with “Celestine, I need software engineers and if you can make referrals, I’ll really appreciate it.”
The scenario above isn’t new to me, I get to hear this almost every other week albeit not always in the church premises. Individuals and startups are on the hunt for software engineers. This shouldn’t come as a surprise to anyone who has been following industry trends.
No time in history, have we, as humans, experienced this much exponential growth with regards to technology. From social networks; Instagram, Facebook, Twitter, etc to eCommerce, self driving cars, the sharing economy; Uber, AirBnB, etc. Almost every human facet has been permeated by technology. These technologies, in most cases, improve upon on existing systems or bring about disruption to age old industries.
And with these explosions, comes about some radical changes to human behaviour, consumption habit and our general outlook on life. Imagine for a second what life felt like pre-WhatsApp, Uber, Konga(shameless plug), etc. Industries and business models are being disrupted and entirely new paradigm are emerging.
AirBnB and Uber, two companies I admire so much and ones that never existed 10 years ago are massively disrupting the hospitality and transportation industry respectively. Before now, having strangers share your home and car sounded not just foolish, but outright risky, 10 years later, these two companies are fast becoming indispensable. With a tap of a button on your mobile phone, you can share a ride with a total stranger and be at ease. The same holds for AirBnb, where, with a few clicks, you can share a home with someone you have never known from Adam.
What am I going on about here?
You see, for these companies to do what they do — summon a car at the tap of a button and shop groceries from the comfort of your home — they need software engineers to build these tools and build them really fast. But there lies the problem, they aren’t enough software engineers and the ones that exist as at today are either gainfully employed or are busy building their own thing.
How do we fix this?
The easiest way to fix this gap is to get more people coding. Simple. The sad and uncomfortable truth is that you can’t just instantaneously make copies of the existing engineers. You have to train new ones or people go out of their own and learn, and learning takes time.
This is the perfect time to learn how to code, yes learn how to code. While I advocate for people to learn how to code for fun and for profit, I’m in no way guaranteeing that this route will end all your financial woes, on the flip side, there is a strong likelihood that you will find work.
It’s estimated that over the next decade, there will be about 1 million STEM roles that will not be filled in the US alone. I’m not exactly sure what our own(Nigeria) numbers will be, but conservatively, I will put it at 10,000. Those are some staggering numbers. Anybody, that begins today and position themselves for that tomorrow, will be able to take advantage of these opportunities.
Today, you don’t have to attend an ivy league school in order to learn to code, resources are a dime a dozen. From Khan Academy to Udacity, Coursera, EDX, Code.org, etc. All of these places offer high quality learning resources and in most cases, these materials are always free. FREE. YouTube is another great place for awesome resources, I can’t count how many times I have had to turn to YouTube to learn a new piece of technology or a solve problem. Beside these places, fora like Quora and Q&A sites like Stackoverflow exist for asking questions and finding help and the beautiful thing about Stackoverflow is that before you even ask a question, there is a high likelihood that the answer already exist, that means someone at some point have had to ask these questions — your experience and learning process isn’t peculiar.
In today’s world, there’s absolutely no excuse not to learn anything and the other amazing thing is that people are willing to help, you just need to ask the right questions. Tens of thousands of people take time out of their busy schedule to write high quality articles that walk you through simple “How Tos” all the way to some really complex technologies.
Conferences, more than ever, are sharing recorded videos of their events online, what that means is that, you have access to the same quality of information like the person that attended these events physically and also spent hundreds of Dollars in conference fees and logistics.
Companies are organising tech talks and putting out those resources for everyone and they are doing this free. These same companies are open sourcing some of their core technologies for the greater good of the community. That means you have access to the same quality of tools like a Google or a Facebook engineer. The only thing required of you is to seek these information and use them to your advantage.
You will not become a software engineer overnight, it takes years of practice and perseverance. Sadly, there isn’t a magic wand just yet to convert you to one. You need to put in the time.
Where to begin?
Start with a plan and be systemic about it. Almost every modern system today has some sort of code somewhere; fridges, televisions, smartphones, etc, your first job will be figuring out which of these platforms you want to build for.
Since I primarily build for the web and that’s what I really know, I will try to talk more about it. HTML(Hypertext Markup Language) and CSS(Cascading Style Sheet) are the fundamental fabric of the web. Start with the low hanging fruits, learn HTML first. Understand the basic syntax and what they do. When and how to use them. When you’re comfortable with your HTML skills, you can now proceed to learning CSS, like HTML you need to understand the basic syntax and what they do. When and how to use them.
If HTML were building blocks, CSS would be its paint. You lay blocks and build walls before painting. Which explains why I chose the sequence; HTML before CSS.
Now that you are comfortable with these two fundamental pieces of technologies, it’s time to apply them. Pretend you want to build a website for your alma mater and build one. In my former life as a teacher, my first practical assignment was to ask my students to build the Google home page. Sounds simple enough — large input box with buttons.
If you’re like me and you learn better visually, here is a good primer on HTML and CSS
HTML for beginners
CSS for beginners
Technology, both consumer and enterprise are growing at a break-neck speed and it isn’t showing any signs of slowing down. It will be foolhardy to think it’s a flash in the pan. There will still be a high demand for software engineers and technology professionals. While this route isn’t a silver bullet out of financial woes, one thing is certain, there will always be a high demand for this skill set.
Like I said before and I will say it again, learn to code, there will always be a job. A quick search on Twitter reveals this too.
One needs a website designer in #Nigeria. Thanks
— Rosanwo (@rosanwo) August 11, 2016
Quick Job: PHP developer needed TODAY for a one-week job.
Experience with E-commerce would be a plus.
Good Pay...DM if interested.
— Benjamin Dada (@DadaBen_) August 8, 2016
I'll love to hear from you. You want to say hello? Email me