Becoming a Software Developer

Hear this today, there is no concrete rule to becoming a software developer or software engineer.

However, here are some useful tips that will be handy to you on your journey.

  1. Continuous Learning

Being in the software development industry means devoting in huge chunk of your time to always picking up new knowledge. There is no silver bullet or quick way to achieving this. You have to learn. So, what do you learn?

It entirely up to you! There tons of free and open sourced materials on the web for to pick up skills in any area you wish. Usually, areas of development are divided into Frontend, Backend, DevOps, UI/UX, Mobile App development.

Each of these are paths in which you have a myriad of languages, frameworks and libraries to aid you. Before picking up frameworks and libraries, it is important to learn the rudiments of the language of your chosen path.

I will advice you start by learning the languages that make up the web. HTML, CSS and JavaScript. A solid foundation in these languages will give you a solid background to being a good developer.

For Frontend, you most likely will want to pick up a skill in either VueJS, React JS, Angular JS, these are the most popular Frontend frameworks currently, with a burgeoning community of developers willing to help you out along the way.

For Backend, you most likely be looking at Laravel (if you want to learn and advance with PHP), Django (If want to advance with Python), Node JS/Express (if you want to advance with JavaScript), Ruby on Rails (If you want to advance with Ruby), Spring (If you want to advance with Java), and a host of others.

For Mobile App, you want to focus basically on Android and/or IOS, you can do both but choose one first, get good and do the other.

2. Focus on your path

As a budding software developer, it is pertinent that you stay focused on the track you are trying to achieve, whether Frontend, Backend or full stack. It is important not to be carried away with the noise. There will always be a new hot framework in town that everyone is making use of. You need to clearly understand your path and what you need to achieve to accomplish it.

Also, you need to understand that concepts like Machine Learning and Artificial intelligence are cool but might not be within your skill capabilities yet. Areas like that require a bit more advanced coding skills compared to when you are just starting out on your journey.

I will advice that you pick a language that suits your interest and path (see above).

3.Communicate with other learners

You probably of heard others saying this,

You cannot do it alone

As a tree needs to be connected to its roots, likewise, you need to be connected with other aspiring software developers who are on the same learning path or level as you with whom you can easily share ideas and new concepts learnt. This gives you encouragement and drives you to learn even more.

4.Get Mentor-ship and Advice

On your path to achieving your goal as a software developer, you need to also connect with other software developers that you can look up to for guidance and correction. They have most likely gone through your phase and will understand some of the issues you may encounter during your learning phase. Mentors can also give you advice on how best you can approach your chosen path and suggest better learning resources. Social media works best in this regard (my fav: twitter!).

5.It is not what you see in the movies!

Movies make you believe that you can program an app in seconds and everything works perfectly. If that's what you are hoping for, then Click Here and bang the keyboard as fast as possible.

In the real world, this will be you many times,

pc-dev.png

The road to becoming a software developer will not an easy one, accept it! There are couple of times when you have played it all by the books, still your code doesn't run as expected. The computer still isn't as smart as the human brain, your good code might sometimes not translate to good output. At those times, take a break and jump right back in!

I hope I have been able to give you some guidance as you journey on your path to becoming a world class dev!