Some piece of advice for anyone starting software development

Photo by NESA by Makers on Unsplash

Starting out as a developer can be intimidating. Growing as a developer can be even more intimidating especially when you start wondering when you can qualify yourself as a junior/senior developer in your resume. This usually results from a fear of thinking you don’t know enough, not knowing enough, or thinking you know too much when you don’t know anything at all. In my opinion, thinking you don’t know enough is the best fear you could ever have while starting out. It often pushes us to learn more and become better versions of ourselves. I wrote this article to tell my story as a software developer.

Let me start with a little background story.

You can also check out this article I wrote in 2017 that explains how I started to code (How I started programming and loved it).

I started taking software development seriously after the first forLoopCU meetup (check out this article to read more about it and sign up for their newsletters to find more meetups near you) where Prosper Otemuyiwa and other wonderful and inspiring developers came to talk to us about how to develop ourselves. I had very little knowledge on how I was going to go about learning different concepts in software development but the good and most important things I had then were passion and interest (which are two things EVERYONE setting out to be a software developer should have. I have noticed a lot of people getting into it for the money, which is a great incentive by the way, but should NEVER be the only reason because of obvious reasons). I got exposed to concepts in software development particularly web development because that was very popular and is still is. I started learning random concepts about web development without much guidance. It was more like being in a maze and trying to figure your way out on your own. This method of learning has its own advantages and disadvantages and whilst it may work for some people, it might not work for some others. Be sure to do what works for you.

After much of figuring a lot of things out, the different pieces of information I got from numerous sources were starting to make sense. I started having those “Aha” moments when everything just connects and makes sense. This made me push harder. The more I learnt, the more I wanted to learn.

As much as I benefited from all these, there are a lot more I would change if I could. That is why I wrote this article. I would be pointing out some of the things I would like to change and why, things I didn’t do that I wish I did and things I did that were very helpful.

There are really no shortcuts

Before we continue, let that statement sink in.

This is probably the first thing I wish I learnt while growing as a software developer. While learning to develop software, I always had the mentality that I could learn everything at once or I could learn everything within a very short period of time. I am not saying you can’t learn in a short period of time, I am saying real learning and understanding takes time. Software development like any other skill requires learning and commitment which is not something you do overnight or take lightly. I read lots of articles and watched a lot of videos on how to write code. I always wanted to just consume everything so I could wear the badge of “know it all”.

My first advice for you today is to be patient. There are times when things would not just seem to make sense but with patience, they would. I remember when I was still learning how to build websites with Django, I had breezed through a YouTube tutorial series and thought that was it, then I tried to build something different from what was built in the tutorial and I realized I had not understood the framework well. After a few more times of rewatching the tutorial and retrying building something else I eventually understood the framework.

Every developer regardless of their level always has a “pothole” they sink into once in a while and even in those moments, I have found that just a little patience and sometimes rest would help you work with the fresh mind needed to decipher issues.

Have a mentor

It was entirely my fault that I did not have a mentor while starting out even though I have a mentor now. As a newbie, junior or even a senior developer, you need to have a mentor. It’s really important to have someone who is helping you and watching your growth as a software developer. You would avoid a lot of trial and errors. I worked at Tuteria Limited for my Industrial Training program. While I was there, I was mentored by Mr. Olaoluwa Faniyi and Mr. Abiola Oyeniyi. I consider myself lucky to have been mentored by these wonderful people. My growth as a software developer during the period of my Industrial Training Program was really explosive for me because I had people who challenged me to be better.

Experiment a lot

I learnt by watching tutorial videos and reading technical articles. This is probably the way a lot of developers today learn. The only problem I had with this was I followed tutorials a little too much. I did the same thing that was being done in the tutorials. I did not try to build things on my own. This is a really bad way of learning software development. Software development is a creative activity and if you are not creative with it, you would get bored easily and probably give up. I started learning how to experiment when I saw how it helped one of my friends (Nicholas Kajoh). When I started experimenting, I saw how it helped me to grow and learn more because I was now working on projects that required more understanding of tools I was learning to use. You would be forced to learn more about the tools you’re using and general programming concepts. It also helps you become more creative with code.

Keep constant communication with other software developers

I am a student so I am in an environment of like minds. My friends and I who code usually talk about software development and other interesting stuff. During our conversations, I usually pick up and learn new things. They also learn new stuff or have more clarity about the things they knew before. This is how a community actually grows. When there is constant communication among people with common interests. It is good to have both a small circle of friends and a large community of developers. In my school, we have a community of developers and designers where we meet weekly to discuss and share ideas. This can really boost morale and improve your learning speed. They both serve their purposes in your growth as a software developer. If you don’t have such friends, I advise you make friends with developers around you and belong to a community of developers around you.

It won’t always be easy

As cool as programming is, things can get really tough. If you are not prepared for this, it won’t go down well. There were times I was completely lost that some concepts won’t just make sense to me. I would feel like a complete idiot. I had to learn this the hard way, the first time it happened to me was when I was learning how to use my first framework (Laravel) and I did not just understand some concepts. I thought coding was not for me that period of time. I struggled to continue and later understood them. I still experience this now but I have a better mindset towards it. The good thing is this experience gives you more confidence.

Like I wrote at the beginning of this article, starting out as a developer can be intimidating but if you give it a chance and put a lot of effort into growing, I can promise it would be a very fruitful journey. You can avoid lots of mistakes by reading stories of people who have gone ahead of you, this article is a part of my own story you can learn from. There is definitely more advice there is to give. If you have more, you can drop them in the comment section. Thanks!

If you enjoyed the article, give it a clap. You also can follow me on Twitter and Instagram @olaoluwa_98.

--

--