Software development is one of the most in-demand skills in today’s world. The demand is so great that developers of all backgrounds—from the self-taught to the university grads—have been able to find worthwhile and often profitable uses of their skills. It is because of this (and in some cases the myths of overnight riches) that more people are becoming interested in the idea of software development as a career, business or just a particularly rewarding hobby. This article is meant to serve as the first stepping stone for those who want to become software developers.
Consider formal schooling
For you to (honestly) call yourself a software developer and sell yourself as such, you first need to at least acquire some of the relevant skills and knowledge. One of the best ways of doing this is enrolling into a Computer Science (or another related programme) with one of the local universities or other institutions of higher learning offering these. If this is too much of a commitment for you, you can sign up for the online versions of these programmes instead. If you consider such full-length degree programmes (whether online or otherwise) to demand too much of your financial or time resources, then the rest of this piece is written with you in mind.
The low hanging fruits
Nowadays the areas in most demands for the skills of software developers—or low hanging fruits so to speak—in Zimbabwe are web and mobile app development. Web development consists of both basic website development (which strictly speaking nowadays usually requires a talented designer rather than a software developer) and web application development. The latter is specifically the reason why I wouldn’t encourage a novice developer to pursue desktop application development; nowadays traditional PC applications like word processors and POS software are rapidly getting replaced by their online counterparts. Mobile application development also holds a lot of promise because of the increasing ubiquity of smartphones in the country.
As a developer, if you feel like you are creative enough, you can produce your software to sell or to monetise using any of several business models. It is, however, more common for (self-employed) developers to offer for a fee their services for creating these websites, web apps or mobile applications.
The skills to acquire
Now that we know what the low hanging fruits of software development are, we can then get around to listing the skills one needs to acquire before they can be able to develop and make money. First and foremost if you intend to be self-employed (which is usually the only option for self-taught people without any formal qualifications) you need to have a great head for business. Clients will not suddenly start scrambling to get through your door once you start operating. You need to become a great salesman and marketer of your skills and services.
If you are interested in website development, you are in luck as nowadays there are two routes for getting there and one of them doesn’t require that you know any coding. High quality, professional-looking websites can be completely constructed using a Content Management System like WordPress without any prior coding knowledge. As long as you know your way around a computer and have a great eye for design and detail, the learning curve for developing using WordPress is not that steep. Just go online, follow the instructional articles or videos and with enough practice and experience, you will be creating great looking websites.
Mobile Application Development
Where to learn
Teaching oneself only a limited set of the aspects of software development is one of the fastest ways of acquiring the skills but it still requires dedication. You can teach yourself each of the programming and other languages mentioned here through online courses or books such as Wiley Publishing’s For Dummies series of books which I highly recommend.