Home ยป How I learnt Web & Mobile Apps Development (Self-Taught)

How I learnt Web & Mobile Apps Development (Self-Taught)

Arinze coding
Share this post:

When a would-have-been mechanical engineer learns to code in multiple programming languages as a self-taught software developer, shouldn’t he be proud of himself? ๐Ÿ˜œ

I studied Mechanical Engineering, not computer science, but today I am a software developer (or software “engineer” as some call it) and can build both web and mobile apps. Talk about what we studied vs what we end up practicing!

I can code in PHP, JavaScript, Java and TypeScript; have some knowledge of Swift iOS, and basic knowledge of Kotlin. Of course, there are languages I know more than the others. Can’t be that good in all these languages.

The frameworks, libraries and technologies I’ve used the most are Laravel, Java (Android), React Native, Node.js/Express, and React. Others are Bootstrap, Tailwind CSS, etc.

How did I learn to code and became somewhat versatile?

Apart from the very beginning, it has been self learning all through. I use multiple online resources such as 

  • YouTube videos
  • Official documentations
  • StackOverflow
  • Udemy courses
  • Medium articles
  • Blog posts
  • Etc.

The Unusual Beginning

I was an undergraduate student at the University of Nigeria, Nsukka. The famous UNN! ๐Ÿ˜

After my first year at the university, I went for AUTOCAD Computer Aided Design training at Kelvin Academy, outside campus. AUTOCAD is a popular design software used by engineers hence, I felt the need to learn it.

Getting to Kelvin Academy, I saw another course on PHP & MySQL for web development. Out of curiosity I registered for the web development course as well.

Prior to that though I have been playing around with Google Blogger platform. No coding was involved with the Blogger thing but being able to create a “website” (Blogger blog) in a matter of minutes was quite fascinating!

So I started learning to code along with Computer Aided Design.

Along the line I started to find the web development course more interesting than the AutoCAD.

Although the course was titled PHP and MySQL, we actually did some basic stuff with JavaScript. And of course, there must be HTML and CSS.

I can’t remember how long the trainings lasted but I completed both of them and got the certificates:

After the trainings, I went on to start learning on my own. It wasn’t easy then because I also had academic workloads to take care of. I managed to carry both along anyway.

Now when I think about it it’s kind of weird because most people I know started learning web development with HTML CSS before getting to JavaScript. 

For those who went on to learn backend programming they first got comfortable with the front end technologies before learning the backend technologies like PHP, MySQL, Java, etc.

The Hard Languages

In my second year we also did two courses that have programming.

I can’t remember the course titles but they were courses from the Electronic Engineering department, general courses for all 2nd year engineering students irrespective of your department.

We were taught the basics of C and C++ programming languages in those courses. C/C++ was all confusing then. It wasn’t fun but I had to pass my exams.

I continued learning web development anyway.

In my 4th year when I went for SIWES Industrial Training (IT) in Lagos, I had more time to learn coding whenever I’m at home. This time experimenting more with JavaScript than I used to.

I made much progress that period before going back to school after the IT.

Taking the Leap of Confidence

As of final year, I have reached a certain confidence level at web development. At least so I thought.

In one of our final year projects my team and I built a web application that sizes different components needed for installing solar power at homes.

It was a basic application that when given the estimated power requirement for home it computes the sizes of the different components needed, such as battery capacity, charge controller ratings, number of solar panels needed by their ratings, optimal tilt for the panels so they can get maximum energy from the sun, etc.

Learning by Teaching

On different occasions I organized web development training, that lasts a few weeks, for fellow students at the university.

The last of such training was the one I organized with my friend, Prosper, before I left for NYSC. That one lasted about 1 and half months.

I always enjoyed teaching because it challenges me to learn the topics more in depth. Although the person teaching can’t know everything, you don’t want to “fall your hand” where you shouldn’t!

Not long ago I started making programming lessons on YouTube. You can see my ZestMade YouTube channel.

Welcome to Java!

If I have a language I loved the most, that would be Java. Well, not until I met Swift ๐Ÿ˜œ

Also in my final year I started learning Java programming. My motivation to learn Java doubled when I saw my classmate, Leo, building an Android app with Java. I think he was building a kinda mobile version of Nairaland.com.

It was fascinating because I never thought it was that simple to just open your laptop and start building a mobile app.

Java was different. Today, when people say Java isn’t awesome because it is verbose and all that, I just think they’re looking at things from different angles because that verbosity helped me understand Java easier.

NYSC for the Codes

I did my NYSC at Southern Kadunaโ€ฆ all the way from the Southeast. 

It was my first time going to the North, despite the fact that I have a number of relatives in the metropolis over there. 

I can remember the day I saw Southern Kaduna in my NYSC deployment letter. It wasn’t an easy feeling given that I’ve read several articles about Southern Kaduna prior to the deployment letter, including some crisis not too long ago that claimed many lives. 

But, I have to serve my country!

My Place of Primary Assignment (PPA) was a secondary school. I was posted there to teach Basic Technology.

With time I got used to Southern Kaduna and some fears I had left my body.

The people in my host community are super friendly. The way they pamper NYSC corps members, eh, you wouldn’t like to leave after service.

Whenever I return from school (PPA), I dive into coding. Most times I work on Android apps. My pet projects.

It was still a struggle for me then. Learning to build mobile apps seemed more challenging for me than learning web development.

I wasn’t proud of any of the apps I was working on so I never cared to deploy any of them on the Play Store.

One day I posted screenshots of one of the apps on my WhatsApp status, asking if I should deploy the app or not. Everyone was like “why not? Deploy the god-damned thing!”

My cousin even sent me $25 Naira equivalent to deploy the app! Which was the fee I needed to create a Google Play developer account before deploying apps. Thanks cuz ๐Ÿ˜

The app now has over 50k downloads.

The Hustle

I’ve always been a hustler, an entrepreneurship minded person ๐Ÿ˜œ. So, finding a job wasn’t in my mind all the while. My goal was to build apps or websites that will be generating money while I relax and take care of myself.

Arinze at Lagos beach
Arinze at Lagos beach

I stayed in Kaduna city for about a year after my NYSC before moving to Lagos. All the while I continued trying to figure out this entrepreneurship thing.

I learnt Swift, Kotlin and a little bit of Java for backend along the way.

After about a while in Lagos and it seemed I might not figure out the next Facebook of my dreams, I started applying for jobs ๐Ÿ˜

I got two offers that time. One was web development which I didn’t take because it involved some WordPress development and I didn’t want to do WordPress development. The other that came shortly after was Android development. I took the Android offer, why not. I was in love with Java! ๐Ÿ˜

I can’t say the pay was what I was expecting but the experience was challenging enough to further sharpen my skills.

What I Would do Differently

If I could go back in time and change something it would be getting into the industry (job-wise) early or just focus on the hustle all through. You know how it is when your CV or qualification is weighed based on where you’ve worked, not anything you claim you know or can do? I have been there!

Well, maybe I’ve gone past that now.

On the flip side though, the decision to hustle isn’t a waste. Because of it I know how to survive even without a job. Not to mention there has been times my side hustle paid more than my job. Isn’t that encouraging?

Another big gain from my decision to hustle is the entrepreneurship sense and knowledge I’ve acquired over time. I’m not the programmer who just codes and sleeps. I’m actually more entrepreneurship minded than coding minded and that isn’t going to change.

Hopefully, I’ll become the entrepreneur of my dreams someday.

What’s Next for Me?

So far I’ve worked on a couple web and mobile apps, both as an employee, freelancer, and on personal project. Weighing myself however, I would say I am not there yet both in the knowledge and the money aspect.

There are many things I think I am supposed to know but don’t know them or don’t know them well enough. Next.js, GraphQL, AWS are some of them but I’m actively learning, especially AWS.

The most challenging part of learning is time. Being a very busy person it is difficult to squeeze out enough time to learn all these!  It can be overwhelming sometimes!

Arinze thinking
Arinze thinking

But then, I have to keep pushing knowing that “nothing good comes easy” as they say. And always keep reminding myself that “If it were easy, everyone would do it.”

The journey continuesโ€ฆ

2 thoughts on “How I learnt Web & Mobile Apps Development (Self-Taught)”

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.