From Zero to Hero in Software Engineering

Caleb Mbakwe
5 min readFeb 3, 2021

Over the span of my career, I have been fortunate enough to mentor a number of software engineers, and one question I have always been asked is “how do I build my career?” Well, today, I thought it wise to write down a guide for anyone who wishes to know how to grow their career from zero to hero.

So your end goal is to become a rockstar developer and land a job at a prestigious company? That’s good. However, everything that has an end, had a beginning so what is the best way to start this journey?

Build the skills

What? Did you think I would tell you to start a career any other way? Well, guess again.
There are many ways to start out, some people attend courses like codeinstitute, springboard, some people are self-taught, using platforms like pluralsight, coursera, while some people just pick up IDEs and start brewing code. Whichever way you start, just know that the 10000-hour rule (the magic number of hours it takes to master a skill according to Malcolm Gladwell) applies to you. In other words, practice makes perfect, and the more you apply yourself to coding and software engineering, the better you will become.

Do not, I repeat, do not compare yourself to other engineers even if you started learning at the same time. Some people learn faster than others, while some people take less than 10000 hours to master certain fields. Take your time and build your skills at your own pace.

Be aware that this learning process might involve/require some sacrifice so be prepared to take one for the cause. Take me for example. Fresh out of school, even though I finished as the best graduating student, I stayed back in school to continue building my skills. Though I was earning little or nothing (and my bills were not smiling), I remained focused on building myself because I wanted to jump-start my career and didn’t want to take a “wrong” job.
After one year of constantly grinding and applying myself, I felt I was ripe enough. Alas, my first job was as a tech lead and I was earning more than triple what I would have earned as a junior developer.

Build your Network

You must have heard the saying that your network is your net worth, but as cheesy as that may sound, it is totally true. Take me for example. The first contract job I got was from a friend who knew me from way back. The first real full-time job I got after school was from a CEO’s interview recommendation (I met him while I was a student and it helped that he also knew the friend from the contract job). The interview for the job I got after that was from someone in a company who got my name based on a recommendation, The next job I got was from, you guessed it, someone who knew me from working at a previous job and recommended me for an interview… You see the point here? If I hadn’t met, known, or influenced any of these people in one way or another, life would have been more difficult and I would never have gotten interviews for these jobs so I implore you to meet people and most importantly, treat everyone with decency.

Other than your friends or peers, conferences, developers, IT-related meetups, and virtual connections are also very helpful. Linkedin is a very helpful place for building networks. Meet as many people, attend many conferences, and send and accept as many LinkedIn connection requests as you deem necessary. Feel free to connect yourself to recruiters also. You never know who can help pull you up or help you get your next big interview.

Build your portfolio

In the real world, actions speak louder than words. The same is true in software engineering. Moreover, you will not always be available to speak for yourself at all times but your portfolio can do this for you so do your best to make it as impressive as possible even though you are only starting out.

Be intentional about doing things that matter and don’t be shy to make some noise. Attend tech conferences, volunteer for tech activities, build impactful solutions, contribute to open source, … (I tried to write these down from easiest to most difficult) but all in all, document these activities on your resume, Linkedin profile, or wherever you feel it will be easily recognized. You never know which activity will open doors for you.
For example, other than devoting myself to the software craft, I was a Google Developer Group member and a Google Student Ambassador. These two combined got me in several interview meeting rooms without writing a single line of code.

Finally, after you have built your skills, your network, and your portfolio and are starting to have a promising career in software engineering, please be kind enough to give back to the community. Mentor other junior developers, give recommendations, teach classes, give talks, refer people for interviews and bring up others. Not only is it beneficial to you as it helps build some other skills, the experience will make you better (teaching is a good way to learn) and it is also beneficial to your portfolio.

Thanks to Orjiewuru Kingdom for helping to review this article.

--

--