I love software development; it is a fascinating field. I developed my first software when I was 15 years of age. Several years later I developed software that is still being used at an organization I once worked with. In the past couple of years, I have not been actively developing software; business and management consultancy has been keeping me busy. All the same, I remain passionate and I hold software developers in high regard. Zimbabwe is a land of opportunity when it comes to software development – limitless untapped potential. This article is for upcoming software developers in Zimbabwe; here are some tips for you:

Do Not Prematurely Jump Into Coding

This mainly applies to when you are hired to work on a software development gig. In coding the fun and action is in the actual coding. I know this from experience and if you are not careful you get tempted to jump right in. This can cause you to prematurely start coding without grasping the assignment. You can end up assuming the wrong trajectory only to realize it later. You can also end up grappling with solving a particular problem for hours. Of which that could have taken a much shorter time had you taken time to understand what is needed first. Abraham Lincoln once said, “Give me 6 hours to chop down a tree and I will spend the first 4 hours sharpening the axe”. This is instructive in the field of software development; do not rush to code.

Solve Monetizable Problems That Exist

Software development is not just about doing it because you can. It is also not just about doing it because you think it looks cool or nice. The big question is does it address an actual problem that exists. Some time back I put together a definition for entrepreneurship for you:

The addressing of a common, widespread problem using a novel or disruptive solution, often tech-based, that is monetizable.”

The problem must be widespread – a lot of software developers miss that part. They tend to assume rather than empirically ascertain it is. At the end of the day, they come up with creative software solutions which sadly cannot be monetized. Why? There will be limited to zero people who need it. As software developers, before working on software innovations, make sure the problem you are seeking to address is widespread. If it is then chances are there will be a ready market; if not, you will just be wasting time and resources. It is frustrating to work on something and it turns out to be irrelevant, no matter how nice.

You Must Study Code As You Would Any Other Subject

Software development entails coding amongst other things. Coding is, of course, the juicy part and like any specialist, the area must be studied. I like to think of it as the game of chess; you must commit to studying code. Part of coming up with great software is knowing how to code for much functionality with shorter code. This contributes to the optimization and lightness of software packages. It all takes studying to better understand how to creatively write code. So you must clock in the hours to closely study code. Do not just cover the basics; delve deeper into all the ins and outs. Remember it takes over 10 000 hours to master a skill.

Do Not Obsess Over Learning Numerous Programming Languages

The classic adage of being a jack of all trades and master of none comes in here. I am not against you learning several programming languages. It will most likely diversify your portfolio but it is not always a smart move. It is wiser to specialize in one programming language or at most just 2 or 3 of them. This helps you to zone in your focus so that you master them. What will be imperative on you will be to figure out which programming languages you need to become widely sellable. It is said the 3 most popular programming languages in the world are Python, JavaScript, and Java. Start with one and you can always add on more programming languages gradually over time. Do not obsess over learning numerous of them all at once.

These are the 4 tips I wanted to share with software developers in Zimbabwe. Sadly, internet connectivity issues and high costs of data are impeding your progress. If those two problems are addressed, software developers in Zimbabwe will soar. I do see a near future where the need for software developers in Zimbabwe will drastically rise. I believe we are already in that future; so do not lose heart if you are a software developer in Zimbabwe. The world and future are yours.