Working as an independent mobile, web and software developer in Africa can be a trying experience.
Africa for so long has being recognized by the world as an agricultural continent and for the past decade many software developers (African Code Kings) are working tirelessly to prove that we are also a technological continent by building great websites, mobile apps and software that aims to solve our problems on the ground.
This does not come at a cheap cost. We live in an environment that tech equipment costs two to four times than what it does in Europe and North America, where technical books are almost non-existent in most parts of the continent, and where most people do not have credit cards to purchase from Amazon. Add to that, a good number of African countries have been blacklisted from PayPal.
In Africa there is a perception problem though, some people still think technology comes in a box like a camcorder, computer, laptop, iPad and so on.
We need to all visualize technology as a process and something we are going to build ourselves here in Africa.
I have listed below a few of the agonies myself and most developers go through as African Code Kings.

Load Shedding

Infamous load shedding - a practice of cutting off electricity to whole sections of the city in order to conserve power in countries such as Ghana and South Africa, to name a few.
They never mind that you need electricity to work and you need to work to eat. Nowadays, in Ghana, things are much better - they just cut off electricity without any warning whatsoever or the power fluctuates crazily and the electricity corporation thinks that is entirely normal.
With this load-shedding factor you can rest assured that most developers, especially in Ghana and Nigeria, cannot meet their deadlines.

High Internet Cost

Internet bandwidth has been my major problem since I decided probably six years ago to venture into software and web development.
There is no special data packages that I know of that are being sold to developers who consume huge amounts of data.
Telecommunication companies forget that the internet possesses a huge amount of informative data that can be used as a powerful tool for boosting economic growth and poverty reduction.

Investment

Most developers set up a tech start-up in search for investors to fund their projects. In Africa, most people do not understand the Silicon Valley style of Angel investment and funding.
In Africa, my observation is that most so-called tech-investors, when they fund a start-up they are looking for short term profits.
For good developers who believe they don't need funding, they work their ass out trying to bootstrap their personal projects. They end up taking up so many odd web dev jobs that will in turn slow down their personal projects and innovations.

Salary Factor

It takes a lot of guts and zeal for a good African developer to turn down job offers and internships to pursue his passion.
Once the money sets in, the developer tends to slow down in innovating and instead works hard to better the firm or company he's working in and to gain more promotions.
A web and software developer in Africa earns from $10,000 to $20,000 dollars per annum whereas their colleagues in Europe and the US earns at least $100,000 dollars per year. You could be working hard to build great technologies that can help you rack in tons of thousands dollars when you are a tech-preneur.
Next time if you want to be comfortable with such a job, think again?
I personally turned down a lot of internship and job offers when I came home for the long vacation and I have learnt so much and earned so much recognition for a small I.T start-up Oasis Websoft which I started.
I am currently changing from being just a developer into a great business man. Every day I meet great techies who work for huge tech companies but they would have been better off as entrepreneurs building great technologies for Africa.

Jack of All Trades and Master of None

It is difficult to find a team who believe in the same vision for them join a start-up in Africa.
You will realize that there are so many developers and startups building similar apps instead of coming together in the spirit of free and open source development to build one great app.
An African developer tries to play all the roles in a company from being the CEO to the company’s publicist. Instead of focusing on one thing and mastering the art.
He spends his time mastering all the aspects of a company. It is sometimes good but it comes with its own banes.
It is also great for a developer to understand all the roles but it will be best if he can focus on one lead role and be a master of it. So in one start up we could have a developer, user interface designer, two top coders and one marketing guy.

School

Each month a horde of new programmers, freshly trained out of Universities and professional ICT institutions graduate with impressive looking subjects, certificates ,degrees etc.
They claim to have skills in Java, C++, C, Php, JavaScript, COM, Oracle, SQL, HTML and MS Office. The problem is that, though the syllabus looks good and would be a good starting point for being a software and web developer, these students do not spend time working on their personal projects and instead code for a grade “A” in exams.
Bottom line: These guys are less than half-baked and cannot do productive work. Those who get jobs afterwards land more technical jobs like computer administrators, hardware jobs and so on.
Instead utilizing the methodologies they learnt in programming and so on. Companies who hire them for such jobs do not realize that these guys can actually build software to make their work a lot easy.
It is time for Africans to believe that software is actually something we can create for ourselves.

Awards and Competitions

There's a difference between winning technology awards & competitions versus winning in the marketplace.
The sooner African developers and start-ups recognize this, the better.
It is great to participate in code competitions and hackathons to test your coding skills but it is a different ball game if you want to build kick-ass technology to solve real life African problems and make money along the way.
It is also high time our governments start to stand firmly behind young African men and women developers who are always up at dawn working on something they believe in.
It is not enough to congratulate them vocally of their achievements, it will be right if you can support them with your resources be it financially, intellectually, skills and much more.

Moral Of The Story

System.out.println (“ It's not easy being an African software developer. Don't give up and always Ask God for directions. Use the right technologies for the right tasks. The future of the African software industry lies in enabling the scattered bunches of individual hobbyist programmers. Those people who would be coding even if it didn't pay because that is what they like doing. People like that should be given a chance, should be given work to do, encouraged to stick it out. When there are enough programmers around and working as a programmer is a viable occupation that can buy a car and build a house, the industry will have grown up. Until then, it is dog eat dog -- monkey go work, baboon go chop...
“);

Learn to appreciate the rainbow after cursing the rain. It's just like loving again after experiencing the pain!

by Raindolf Owusu