Good Approach, Bad Approach: My Experience As A Full Stack Developer.
Tags: javascript, webdev, beginners, programming
Published: 2024-06-29 05:29:15

Hi,

Just a little introduction here before we delve into the main topic of this post.

I am Victor, a full stack software developer of about half a decade.

![Myself at my workstation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zzps5bpfqu6m5e8thwvr.jpg)

In my early days in the world of Tech and Software Development specifically, I thought that I was supposed to learn everything there is to learn as long as it is a useful skill in the Tech industry. As I was learning Python, I was also learning Data Science. After a while I added Computer Networking to the list because I came across a video on Computer Networking, and the guy in the video was very nice and articulated with his explanations and illustrations. I thought this might be useful in this journey. Then I started with it too. Similar situation with UIUX Design, Mobile Develpment - Flutter/Dart (though my laptop at the time couldn't bear the weight of the all mighty Flutter - I was using Hp Pavilion g series, windows 10 Pro. Incapable of virtualization). I also added PHP to the list - I did PHP for more than a year, but mostly with a private framework that a friend and mentor(iceztech) built - awesome framework. All these, with no expertise in any (at the time).
I was also learning some basic IT stuff like Microsoft Office (I even tutored some people at the time on how to use the MSO apps really effectively), Typing (with Mavis Beacon), etc.

These were not total waste of time though because they have been helpful to me in one way or another along the line. But the point here is that the process I used while learning made it rather difficult for me to actually focus on one track (Python, for example) and become a professional in it, quickly. It rather made everything extremely slow and even difficult, unnecessarily.

And this leads me to the topic at hand - MY EXPERIENCE AS A SOFTWARE DEVEOPLER (full stack). This is not just any experience, but my earlier days' experience as a 'senior newbie' - more like an early intermediate web developer, at the time.
I got a gig to develop an investment app that is supposed to be using crypto addresses; you deposit and get interests every week day...

I had not built any full stack app prior to that. So, I knew for sure that it was going to be very challenging for me. But that is the point - growing in the process, and earning at the same time.
I had friends that could have helped me complete the app in about a week or two, but I decided to do it all by myself. I took as a challenge. Remember it was my first lone full stack gig. I was determined to do everything within my power to complete it all by myself. And I did.

The app is a web application. At the time, I had just finished learning the Full Stack Web Development at a company (remotely) called DUFUNA - a Tech company that specializes in grooming newbies into intermediate developers, through training from the scratch to hiring the available graduates for internship, etc. MERN stack and PHP were at the center of the training.
So I decided to use the MERN stack for the gig because I had fallen in love with the stack. It has a kind of sweet flexibility.

How did the development process go?

I started with the frontend (ReactJs), converting the figma design that I was given. The most difficult part was building the backend part with NodeJs. It was so difficult, I had to resort to videos from YouTube and some I already had in my PC. It was a big learning experience but it wasn't the nicest experience.
The app was supposed to be 'simple', but the development process dragged on for about 2 to 3 months as I was struggling with a lot of things.

A lot of the things I did during the development process of this app were my first time of doing them - like using Redux, toastify, useNavigate, admin site of the app, etc. A lot of things were messed up in the app during development. And the client had to wait for too long to use the app. And I almost got myself into trouble.

But I was able to pull through after all. I completed and deployed the app safely.
It was my biggest and daring challenge in my Tech career so far. And the experience was a bitter-sweet one.

This experience thought me that, inspite of all the things that I had learnt at the time (PHP, Data Science, MS Office, UIUX, Computer Networking, etc), I still could barely complete a simple web app on my own. I thought about it, and I realized that IT IS NOT ABOUT 'HOW MANY', BUT 'HOW WELL'.

YOU CANNOT BE A MASTER AT EVERYTHING!

Pick a technology/programming language of your choice. Focus squarely on  it alone. Keep on going deeper and deeper into this particular technology/language until you can comfortably develop a full-fledged app even in your dreams, without getting unreasonably stuck on the way. Until you can comfortably and proudly say to anybody anywhere that this is what you do, and can prove it. Then you can add another technology/language to the list, and apply the same process to it as the first one.

This is the approach I think is best for learning and development in Tech. This ensures mastery and professionalism; and that is what we should all aim for.

So, my friend, learn one technology at a time; not multiple technologies at once. These are two negating approaches to building a career in Tech.
And this is not just appicable in Tech, it applicable in any sphere of human endeavour as far as 'learning' and 'mastery' are concerned.

For this reason, I have also decided to join an internship program by [HNG Tech](https://hng.tech/internship). This will help me improve my skills a lot, increase my network, and generally expand my horizon in Tech. Plus, I aim to graduate as one of the best, and to get hired by a big company through [HNG Tech Hire](https://hng.tech/hire). There is another form of HNG Tech's internship program called [HNG Tech Premium](https://hng.tech/premium). But I decided to go first for the free internship. After my experience in the free internship, I might decide to go for the Premium version of it, if need be - it promises to have a lot more benefits to it. Check out these links. They might be helpful to you or any of your acquaintances.

Again, narrow down your learning process to 'one technology at a time'. Learn it really well before adding another one to the list. You will thank yourself soon or later for that.

IT'S NOT "HOW MANY" BUT "HOW WELL"

Alright. I will see you next time.

Bye.