by Akogwu Uche

How I got my first paid software developer job within 11 months of self-learning

by Trust "Tru" Katsande on Unsplash

I’ve always wanted to learn how to program since my university days, but I didn’t have enough financial resources to facilitate that dream (or so I thought). Every time I’d go to an information technology institute to enquire about a programming course, I’d get slapped with sky high price tags that would put me off and make me doubt the possibility of learning how to program.

But, shortly after graduating from university, I had 8 months before I had to start compulsory national youth service in my country, Nigeria. So I decided to use the free time to learn software development. I finally managed to raise the exact fee required by an institute that teaches web development in my area. But, I had another problem. I didn’t have a personal computer. 😢

The leap of faith

I watched as months passed and the time came for the one year compulsory national youth service. I knew I had to think of another plan and take another stab at fostering a career in software development. So, I decided to find a software development firm that would let me intern with them during my service year.

Luckily, I found a job opening on HotNigerianJobs.com that advertised a vacancy for an intern willing to learn software development. I knew that it was the opportunity I was waiting for, so I applied instantly. After a few tests, I got invited to an interview and my prospective employer, after assessing me, decided to give me an offer on the spot. There was just one condition.

I wouldn’t be paid throughout my service year. But, at the end of the year, they would decide to retain me and offer me a contract if I proved myself. I nodded my head in agreement after telling myself that I could do it. 👍

The Self-Learning Path

I started the internship, and on my first day, I was shown the learning plan that I was supposed to follow. It turned out that the stack was ASP.NET (with VB.NET), but before that, I had to start with the fundamentals which were learning HTML and CSS.

I was also shocked when I heard that nobody would spoon feed me throughout the whole learning process. 🥄

I expected a classroom setting, and I was given a link to W3Schools to read, practice, and ask questions where I found ambiguities.

I was asked to build a simple website about myself as an output from learning HTML and CSS in my first week. I almost gave up because I didn’t understand some concepts and everyone seemed busy.

After my first day, I knew I needed extra help. So I made friends with the three youngest programmers that I could relate with effortlessly. These guys helped explain some concepts to me and I learned enough to build my personal website.

That was my first win in my software development journey. I was so proud of what I had built. I showed everyone that cared enough to see my first website. My boss saw it and decided that I should move faster into the backend. My facilitator made some resources on SQL and VB.NET available for me to consume.

SQL was easier because it was basically like English. The language, its syntax, and its concepts were easier for me to grasp. I started to get familiar with Microsoft SQL Server and Microsoft Visual Studio (Microsoft’s Integrated Development Environment).

I started doing some work on the back end. I started by creating a few pages. My facilitator would build out a page with a specific feature and explain to me what the code was doing. Then, he’d give me something similar to do.

I realized I could copy and paste code and do some manipulations here and there to achieve results. Apparently, that was the plan all along so I could be ready to work on projects. Fortunately, I understood the craft well enough to make my boss happy. But it turned out that I was wrong!

The Wrong Way

I seemed to have settled in quickly and became an expert at downloading readymade website templates and editing them. But, I kept telling myself that something wasn’t adding up because I didn’t understand some concepts.

by NeONBRAND on Unsplash

My friends came to the rescue. They told me that VB.NET was an obsolete language and developer stack. I needed a proper learning path. They encouraged me to make plans to leave the company after my service year and concentrate on learning the fundamentals of web development if I wanted to be a world-class developer. What they said made a lot of sense, and thus I was introduced to freeCodeCamp.org and CodeCademy.

The Paradigm Shift

After my encounter with the HTML, CSS, and Bootstrap courses on freeCodeCamp, I realized that I had been wasting a lot of time looking for an institute or someone to teach me web development. I instantly had a shift in thought and I concluded that anyone can learn web development.

What keeps amazing me is the fact that the resources in freeCodeCamp are absolutely free. And with proper research, you will find more amazing resources on web development online.

I quickly engaged with freeCodeCamp’s build a tribute page challenge, and I amazed myself. I shared the web page with people all over social media and I got good reviews that boosted my ego and motivated me to do more.

The Significance of a Developer Community

A major game changer in my software development journey was when a friend at my office introduced me to Andela Learning Community (ALC) and urged me to apply for the “ALCwithMicrosoft” front-end web development course.

by rawpixel on Unsplash

He said that if I got selected I would be given a scholarship to learn front-end web development properly for three months.

So, I applied, wrote a test, and got selected for the course. 👊

Since I had already taken courses on HTML, CSS, and Bootstrap, it was quite easy for me to follow through and learn some new stuff in that area. The challenge was the introduction to JavaScript, JQuery, and NodeJS. I went numb again and began to doubt myself, I think they call it “Impostor Syndrome”. I struggled to finish the course amidst pressure from my boss to deliver expected results at work.

The Real Game Changer

But the real game changer was when the same friend that introduced me to the Andela Learning Community told me about the Andela fellowship. I learned how they recruit potential software developers and turn them into world-class developers in six months while paying them to learn and hone their skills.

by Octavian Rosca on Unsplash

I remembered how beautiful Andela’s work environment was and how beautifully they organized the ALCwithMicrosoft course. So, I decided that I need to become an Andelan so I could become a world-class developer. That statement became my goal and drive.

I discovered that applications were ongoing for the Andela fellowship program, so I applied.

Andela gave prospective applicants access to their Homestudy curriculum to teach the fundamentals of software development.

The course comes in particularly handy to those without a computer science degree like myself.

I quickly engaged with it and got directed to CodeCademy’s introduction to JavaScript course. This course was really helpful in teaching me the fundamentals of JavaScript before I got introduced to Maximilian Schwarzmüller’s 2016 Javascript Bootcamp course which helped demystify Javascript for me. I also continued learning Javascript on freeCodeCamp as well as reading books like Eloquent JavaScript and You Don’t Know JavaScript to deepen my understanding.

The sacrifice

Few weeks before the end of my service year, I received contract papers from my boss offering me a full time role at the company. But I didn’t really like the contract terms, and besides, I was already in too deep in Andela’s recruitment cycle.

So I respectfully turned down his offer and tendered my resignation so I could concentrate on my learning and take advantage of Andela’s recruitment cycle.

My friends and relatives were shocked with my rejection of the permanent job offer as I had worked so hard. They didn’t understand why I would need to go through another series of intensive interviews with no guarantee of landing a job after that.

But, my mind was already made up. So I explained the reasons for my decision to them as much as I could. After going through various levels in Andela’s recruitment cycle, I got to the final stage which was the two-week Bootcamp.

A Whole new World

Andela expects that candidates should be able to build a full stack JavaScript app in four weeks: two weeks offsite and the remaining two weeks onsite with the client.

Prior to the Bootcamp, I had not done anything on the backend with JavaScript and never thought that I’d be able to build a full stack app in four weeks adhering to all of their requirements: ESlint, Airbnb style guide, JavaScript ES6 syntax (Modern Javascript), TravisCI, Code coverage, Test Driven Development, and GitHub workflow.

Impostor syndrome crept back in and got the better of me. Everything happened so fast. I had a hard time leveling up so I wasn’t selected for the final week of the Bootcamp.

The Make or Break Season

There was no time to feel sad or get disappointed. I asked my learning facilitator assistant (LFA), Temmy Ogunbo, why I wasn’t selected. He told me that the only problem was that I couldn’t explain my code because my understanding wasn’t deep enough.

I realized that he was speaking the truth, because I had just learned enough to build the project and I hadn’t bothered to understand the concepts. He directed me to take a course, Server-side Development with NodeJS, Express and MongoDB on Coursera.

I discovered that the course was only free for seven days, so I had to make sure I learned enough within those seven days. The course deepened my understanding of NodeJS, Express, HTTP Web Services, API’s and databases.

I also got informed of the ALCwithGoogle Africa challenge scholarship for a mobile web specialist course. I immediately applied and got selected after the screening. The course content was what I needed at the time: progressive web apps, modern JavaScript, and introduction to ES6 JavaScript.

The fact that Andela is always recruiting made me concentrate on leveling up before applying again. I eventually applied for their fellowship cycle 35 and got into the Bootcamp again. This time around I was better prepared for all the hurdles and challenges, with proper guidance from my two learning facilitator assistants, Rachel and Temidayo.

I got selected and received the “Welcome to Andela email”. Since then, my joy has known no bounds for accomplishing a major goal in my life and career.

I got my dream software developer job within 11 months of staring to learn software development. I hope this inspires anyone who might want to begin their own software development journey or switch careers. Everything is possible if you are willing to pay the price for it.

Lessons Learned throughout my Self-Learning Journey

I don’t think my story will inspire some people if I don’t outline some of the lessons I learned during these past 11 months while learning software development by myself. So here they are:

  1. There are free resources online to aid in learning web development. Start with typing “how to learn web development in 2018” on Google and choose your resources wisely. You can google and find absolutely anything.
  2. Select a the learning path that you’re comfortable with. I understand better with hands-on learning, learning and building at the same time and that is what freeCodeCamp, CodeCademy, and W3Schools will give you. Always read the docs and understand the concepts, as it will help deepen your understanding and thus help you explain your code to someone else.
  3. When learning a technology, always start from the fundamentals. When learning web development, start with HTML, CSS, and JavaScript. You don’t start to build a house from the roof but from the foundation.
  4. You will not go far in software development without a mentor and a role model. A mentor is one that is willing to guide you step by step and is physically accessible to you. A role model, on the other hand, is one whose life, stories, tweets, and posts will inspire you to be a better software developer — but they need not know you personally. Start with having a mentor (I have three) because you will see farther and get quicker solutions standing on their shoulders.
  5. You need a developer community. A lot of information circulates in a developer community. Techies are wonderful, awesome, and very supportive. The community gives you access to other techies and a sneak peek into their software development journey, thereby granting you access to potential mentorships.
  6. Have a goal or vision. I learned early that if you don’t tie your learning to a goal, then you’ll run out of fuel and give up. The easiest goal you can have in learning software development is “getting a junior software developer job in 6, or 7 months” and start applying for jobs as soon as you can build a web page with HTML, CSS, and JavaScript. Don’t wait till you become a pro, because I’ve learnt that no one is actually a pro in their career. We just have more experienced developers, and you can only gain experience while working on real-life projects. The best way to learn is when you are paid to learn and have access to a team of techies that can answer your questions and clarify ambiguities.
  7. You need to be persistent and keep pushing yourself beyond errors and impostor syndrome. Of course, errors and impostor syndrome are a part of a developer’s life. Every software developer experiences them. The easiest way is to always remember your small wins — problems and errors you solved in the past and also projects you’ve built. They have a way of inspiring us as developers to do more and give more. Learn Git and GitHub so you can always host your code and projects, it will help you access it faster.
  8. At Andela, “Asks Questions” and “Seeks Feedback” are two of the skills required to become fellowship ready. So I will reiterate here again. When you encounter a blocker, error, or a challenge, just ask questions. This is where mentorship comes in handy. There is a huge probability that your mentor has encountered that blocker before and you will just tap into their wealth of knowledge and clear you blocker within minutes.

Finally, know that there will be rejections and failures, but they are not as important as your goal. The goal should be to learn and become a world-class software developer. Every rejection or failure should teach you something positive. When you’re rejected, seek feedback and act upon the feedback. Always have in mind that they own their job but you own your learning. At Andela, we call it YOYO (You Own Your Own).

Appreciation and Acknowledgements

Photo by Unsplash

Thank you to freeCodeCamp. I intend to donate a percentage of my salary when I get my paycheck 💰 so that others can make use of your amazing free resources.

I want to thank my mum and sister who constantly made financial resources available for me to keep learning, and also my friends and colleagues that supported me and gave me proper directions: Ibrahim, Sidiq, Dika and my boss at Softbase Technologies, thanks a lot. This wouldn’t have been possible without your help.

I cannot conclude this article without thanking Andela for a wonderful learning community and the opportunity they provide for Africans to become world-class software developers. Brilliance is evenly distributed but opportunity is not. Find opportunity to become a world-class software developer at Andela today. They are always hiring.