How to improve your software development skills

Software development is fun, exciting, and can be frightening for some. Fun in the sense that you get to work with other people, building products that impact the world positively. Exciting in that you get to see people use the product that you have contributed to and frightening in the sense that coming into the field requires dedication, practice and lots of learning.

We can all agree that it takes a lot, sometimes years of practice to become really good at any craft and same is true for software development.

I’m writing this as a guide to help those inspiring to become software developers. These are some knowledge I have gained over the years.

  1. Get a mentor: I believe learning is mostly about you as an individual, so you must be willing to put in the work to learn. However, mentorship cannot be overemphasized. A good mentor will provide sound advice on everything software development, from architecture, to design patterns, algorithms, databases, etc. A mentor does not necessarily have to be in the same location as you, but you should be able to reach them by email or phone. Someone who understands the ins and outs of software development can be a mentor, not necessarily an expert developer.
  2. Follow coding standards: Software is almost never fully supported by its original author, so it is important to follow coding standards to enable other developers to understand your code. The coding standards will help new developers to understand your codes faster and better. Every organization or team you may work with may have its coding standards. Try to understand it and adhere to it. People set out a narrative of you based on your work, and I am certain we all want others to think good about our work.
  3. Learn to document your codes: Just like coding standards, code documentation helps other team members get up to speed on your code, and what your thinking was when writing the code. This helps them understand the codebase and how they can improve it. Documenting your code can be tasking and tiring, but it is as important as writing the code itself. So, always make it a habit to document your code.
  4. Utilize google and other sites (StackOverflow): My first programming class in school was in C, and believe me it was so much to take in. I wondered how one person can take all of this in. I asked my seniors for help and they seem to answer almost immediately, I felt they were superhuman. How on earth do they know this much? But then there was the issue of availability as they have their own issues to deal with. That was when I started utilizing google, learning new ways to find solutions to my problems. Googling stuff and finding ways to solve your problems doesn’t make you less of a programmer, I really think it helps you become efficient as you will get to solve your problem quickly and also gain knowledge about that problem. It is also worth mentioning that not all answers you find online will be the best, learn to use them effectively. Take your time to use google and other sites to help resolve your problems.
  5. Practice regularly: Practice make perfect they say, and I agree. Sometimes we just sit down waiting for a gig before we get hands-on with something. This is not good as you may forget all you have learned especially when you are new to the game. What I did in my early days and still do sometimes in my spare time, if I have any, is to work on pet projects. Working on pet projects help you stay in tune with what you know and also enables you to learn new things. There are also free coding platforms you can practice on such as leetcode; utilize them.
  6. It is okay to make mistakes: Don’t let people tell you otherwise. It is okay to make mistakes. No one becomes a superstar, a top software developer overnight. It takes years of practice and hard work, which is also accompanied by mistakes and failures. No one gets it right on the first try, so don’t beat yourself up when you make mistakes. It is important to know that everyone is still learning, I am still learning, and my mentor is still learning. The most important thing is that you learn from your mistakes so that you can avoid making them in the future and also teach others how to avoid them.
  7. Contribute to open-source projects: This is an area I am beginning to improve on myself. It is vital in today’s world to contribute to open-source projects. It will open great opportunities for you. Also, it is worth mentioning that using other people’s code doesn’t give us the right to take advantage of their work by doing nothing, we should learn to contribute to the software development community.
  8. Stay informed: Technology changes every day. New ways to do things emerge. New versions of our favorite programming languages. It is imperative to stay informed with the latest happenings in the world of tech. You can do so by joining online communities on Twitter, Quora, following blog posts, etc.

I hope this article is useful and helps someone out there. Learning is a constant thing; you just have to be open-minded and willing to.

Finally, do not be afraid to fail. Like Winston S Churchill said “Success is not final, failure is not fatal: it is the courage to continue that counts”