Today's interview is with Mudi, a self-taught developer from Nigeria. He was doing a dead-end door-to-door sales job beforehand. Learning to code has meant he has a good job now working for global clients and earning foreign currency! Check out his tips for learning coding and getting hired for the first time.
Hey, so can you introduce yourself?
Hello, I’m Mudiaga Ejenavi, You can call me Mudi. I’m a Full-stack Software Developer (mostly Frontend) living in Lagos, Nigeria. I started writing code about 9 years ago. I’ve been doing Software development professionally for 6 years now. In my free time, I like to play FIFA on Playstation, tweet or hang out with friends.
Why did you learn to code?
I actually got to know about coding by chance and out of curiosity. I had just graduated with a degree in Biochemistry when I first learnt about Software development.
I was in the middle of a conversation with two friends, when they started talking about HTML & for the next 30 mins I just stood there, I couldn’t contribute to the conversation. That made me really curious, so I got home and googled “What is HTML” and that’s how my journey started. It was really exciting the first time I wrote my first Hello World web page and when I found out I could inspect the browser’s web page, I couldn’t stop afterwards.
What job were you doing before software development?
My first job after graduating was as a Sales guy at a Bank in Lagos, Nigeria. It was a job I did just to make ends meet. I was never really interested in selling bank products. I had just moved to Lagos, didn’t have any connections or friends and was putting up with my aunt in the outskirts of the city.
It was a really stressful time in my life trying to get accustomed to a new city and new job - I had to go through the terrible Lagos traffic situation to get to work and even though the salary was okay, the sales targets at work were highly unobtainable for me. I remember I would walk under the scorching sun for hours, sweaty in my suit, worn out shoes bottom, selling to businesses in the local markets. I had 2 handkerchiefs, one for my face and the other to dust off my shoes when I got close to prospects’ offices.
I ended up not meeting my monthly sales targets and my job was continually threatened daily. I literally hated my job! After working for one year, I decided to resign without a new job offer in hand. This was a risky move considering the unemployment situation in Nigeria, but I was willing to take the risk. I only knew I wasn’t happy where I was and then I remembered practising coding makes me happy. It was at this point I decided I wanted to become a professional Software developer and to be honest, I didn’t even know it was a lucrative career then.
How did you learn coding?
So, after resigning, I spent the next 5 months at home jobless, studying HTML, CSS, JavaScript and some PHP. I was learning mostly with Homeandlearn.co.uk and W3schools.com and it was almost a 24hours routine for me. Not that I advise to spend the entire day on your computer, but it was something I did back then. I remember there were a few nights I didn’t sleep, I just spent the night reading, building and tackling bugs on small projects. Some of the apps I built were a Calculator app, Todo app and a Timer app.
Back then, I had a lot of unanswered questions with no mentors or anybody to ask. One major confusion I had was how all of this knowledge was used in real world apps, what were standard practices professional developers applied in their daily work. I was having difficulties understanding how to build a server side app with PHP and MySQL and because I had nobody to ask questions on coding, I paid a guy to teach me some more PHP with some of the money I had managed to save from the bank, while I kept practising HTML, CSS & JavaScript on my own.
All this while learning, the information overload was insane for me. It seemed there was always something I was expected to know but didn’t. It was a mixture of emotions for me, I would find myself thinking sometimes that maybe I wasn’t developer material enough and nobody would want to employ me. I would then occasionally go watch motivational youtube videos from Professional developers to encourage myself. At the same time, I started searching for organized trainings online and then I came across the 4Afrika Initiative by Microsoft and CChubNigeria so I applied and was accepted into the programme to get trained on C# and .Net technologies. We were about 30+ people who started the programme, people started dropping out when the difficulty level started to increase. After about 3 months, when the training was over, we were only about 10 people who finished the programme successfully.
8 months jobless and at the end of the training, one of the trainers in the programme who had his own startup was willing to take in one of us as an intern. After interviewing with him, I was selected to join his startup as a developer intern working with ASP.Net on the backend and AngularJs on the frontend. The pay was NGN25k (~$100 then) monthly, only about 15% of my previous bank job salary. But I didn’t care about the pay, I just wanted production experience plus it was all just exciting.
That internship changed everything!
How did your internship help you?
Before the internship I only knew basic JavaScript, jQuery and some PHP. The best app I had built was a Calculator app, a Todo app and a simple Timer app that saved data using PHP to a MySQL database. I had heard about and seen some tutorials on Angular JS but I wasn’t very sure what it was or why it was useful.
The internship automatically gave me access to experienced mentors to guide me, answer all my questions and point me to the right learning resources. It also helped me understand the application of many concepts like Debugging, Object Oriented programming, Database modelling, Software architecture, APIs, Application deployment and troubleshooting etc.
I particularly remember how confusing the concept of APIs was for me for a long time before joining the internship. For the first time, I understood how a frontend app was different from a backend app and I saw how everything fit together to become a standard professional web app that real customers used and paid for.
Within the 3 months of the internship, even though I wasn’t actively looking for a job, I somehow got two offers. The second offer was a referral from a former fellow intern and it came immediately the internship ended. I took the second offer, the pay was just a little more than my previous bank job. I was to work as a Junior developer with a Software consulting company working on AngularJs and .Net projects with multinationals in Africa.
How has your life changed since learning to code?
The major thing that has changed from my days as a banker to now is that now, I’ve got 100% job security and I absolutely enjoy what I do. I get offers thrown at me occasionally (both full-time and freelance jobs). I mean unlike my bank job, even if I got to resign my job without a new job offer, I would be very sure to find another one in time whenever I decided to.
I’ve been working with global top companies as a Senior developer at my last three companies, so I’m paid in foreign currency which when converted to my local currency Naira, is multiple times a lot more than I would have been earning if I had remained in the bank.
Working remotely with global companies has also allowed me to make friends and acquaintances internationally. I've also had to travel to the USA for work purposes, which was actually my first time travelling outside the African continent - all just because I write code. Now I build useful products at amazing companies and I have the ability to build out my own ideas into real world apps that people can use.
Do you have tips for people who want to learn to code without doing a degree?
Firstly, I would say again, you don’t need a CS degree to learn to code, neither do you even need to be a degree holder at all. I’ve worked with amazing colleagues before who didn’t even go to the university/college.
There are a lot of resources out there on the internet to get started with coding. Some people prefer videos, others prefer reading books and written courses. Pick one that suits your learning style, focus on it and avoid the temptation of jumping between too many tutorials.
It is also very important to find a mentor who you can ask general coding related questions. This will help you avoid making some mistakes or learning irrelevant things along the way. If you don’t know any professional developer personally who could act as a mentor, the Twitter tech community is a good place to connect with some.
Lastly, it is very important to practise by building small random projects as you learn to code. It helps you to appreciate how much you have learnt and exposes more things you need to learn, forcing you to grow fast.
What are your career goals for the future?
I plan to have my own online businesses that solve problems for people worldwide. I currently run https://jsjobbs.com/ a job board to find and hire JavaScript developers globally and I plan to maintain and grow it long term.
I also want to mentor and share as much knowledge as I can with budding developers. Perhaps in the future, I could team up with other experienced developers to create some sort of mentorship outfit to train more newbies into professional developers.
As a step to achieve these, I find myself tweeting a lot lately and connecting with other developers both newbies and experienced. You can follow me at https://twitter.com/ejmudi/ where I share Programming tips, start up Tech discussions and talk about my everyday personal experiences as an Indie hacker and a Software developer.
Thanks for the interview!
Join a community of self-taught developers - get help with your code and ask experienced developers for career tips in our exclusive voice calls.