Don't make the same mistake I made while trying to get that first software job. 
Tags: codenewbie, productivity, reflection, knowledgegaps
Published: 2020-03-03 11:43:20

# Intro

I’m Ibrahim Alausa, a software developer from Nigeria.


When I decided to become a software developer, I researched the programming languages I should be familiar with to increase my chances of getting a job in Nigeria and noticed many companies were looking for PHP(Laravel) and Javascript(JQuery, React, and NodeJS) developers. I learned just enough to get myself a role at any company.

After almost a year of studying, reading articles, watching tutorials, attending meetups and <mark>most importantly coding</mark>, I finally got a job 🎉 🎉🎉 .<br> <br>


[![Happy person photo by Andre Hunter on Unsplash](https://images.unsplash.com/photo-1454486837617-ce8e1ba5ebfe?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1052&q=80)](https://unsplash.com/photos/p-I9wV811qk)<br>

After working professionally for the company for about 9 months, I was comfortable with a couple of things including

-   Build user-ready features with ReactJS and Redux.
-   Convert mockups to functional User Interface,
-   Became familiar with building APIs.
-   Write Tests using Jest, Mocha, and Chai
-   A lot more :)
    <br> <br>

### Then there was a lay-off

[![Sad person photo by Nik Shuliahin on Unsplash](https://images.unsplash.com/photo-1493836512294-502baa1986e2?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1067&q=80)](https://unsplash.com/photos/BuNWp1bL0nc)<br>

Unfortunately, there was a massive lay-off in the company and I had to start searching for a new job. I thought it would be a smooth ride since I had some skills on my toolbelt, however as time went on I realized the saying, <mark>Job search itself is a full-time job</mark> is a very accurate one. Believe me when I say It was not as easy as I thought.

After attending a lot of interviews during this period, I realized that there are lots of gaps in my knowledge. Many Interviewers didn’t just want to know if I can build and deliver features with my stack. They also wanted to make sure I have a concrete understanding of important concepts about the tools and programming languages.

#### A few questions from several interviews

-   What are closures in javascript?
-   Please can you explain the concept of hoisting in javascript?
-   As a react developer, what would you call a _SIDE EFFECT_ in your application?
-   As someone familiar with redux, please describe the thunk in redux?

Those are just a few from a lot of questions I was asked at different interviews. Since I could not accurately answer many of these questions, it was very evident that I didn't have a firm understanding of certain concepts.
<br><br>

### The problem was my learning approach

These interviews made me realize that the problem was my approach to learning programming when I was trying to get that first job as a software developer, I focused mainly on knowing how to implement a feature and get the job done.

[![The End photo by Matt Botsford on Unsplash](https://images.unsplash.com/photo-1522292923399-bf8ddbd6e4e2?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=700&q=80)](https://unsplash.com/photos/TgjSku4-g6Q)<br>

I never considered having an in-depth study of any technology I was using, to learn about how it fits with others. I just needed to get a job with a steady monthly income. I never recognized it, but the same mindset stuck with me even after getting my first job, so it was no surprise that I found it difficult to explain core concepts concerning the technologies I was working with every day.
<br><br>

### My new learning strategy

> If I can't explain it totally, I don't understand it well enough.

<br>

This platform will serve as a way for me to expand on whatever I learn extensively, just like I’m teaching a 5-year-old. I can't wait to experience the light bulb moments.

To make sure I fill up my previous knowledge gaps, <mark>I have decided to become a Newbie once again 😎 </mark>. I will start learning web development from the basics with a primary focus on front-end technologies. I’m starting from where it all began, _the internet_.
<br><br>

### It's a Wrap

I have a lot of respect and admiration for developers that teach. Especially those that can break down complex concepts and terminologies to anyone who is trying to learn. I don’t think it’s hard to figure out that these people can do these things because they have a solid understanding of the tools they work with and that’s my target.

Thanks for making it this far. I appreciate it. This is a new start for me and I hope you will also take the time to reflect on your knowledge gaps and work towards having a solid grasp on the programming languages and tools you use every day.

Keep Coding, Keep Learning 💪🏿 .