Wednesday, 3 October 2012

Agonies of an African Programmer: Part 2

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 nation by building great websites , mobile apps and softwares 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 cost 2-4 times than what it does in Europe and the USA, where technical books are almost nonexistent, where there are no credit cards to purchase from Amazon.( We have been blacklisted from paypal ). 
In Africa there is a problem, people still think Technology comes in a box like a camcorder, computer, laptop, iPad and so on..Let's 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.

Infamous "load-shedding" -- a practice of cutting off electricity to whole sections of the city in order to conserve power in Ghana. They never mind that you need electricity to work and you need to work to eat. Nowadays 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 should be rest assured that most developers cannot meet their deadlines.

High Internet Cost
Internet bandwidth has being my major problem since I decided probably six years ago to venture into software and web development. Internet bandwidth in Africa is sold exactly at the same rate as phone credit vouchers. It is so expensive. There is no special package for developers who consume huge amount of data. This telecommunication companies forget that the internet possess a huge amount of informative data that can be used as a powerful tool for boosting economic growth and poverty reduction.

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, this so called investors perceive technology as selling tomatoes in the market. When they fund a start-up they are looking for the short term profit. For strong developers who do not need this kind of funding they work their ass out trying to fund their personal projects. They end up taking up so many odd web dev jobs that will in turn slow down their personal projects / innovations.

The 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 his innovations and instead works hard to better the firm or company his 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, I created exactly a year ago. 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 being better off as entrepreneurs building great technologies for Africa. You don’t have to blame them so much; this is Africa where women would hardly marry guys who do not have financial security.

Jack of all trades and master of nothing.
It is difficult to find a team who believes 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

Each month a horde of new programmers, freshly trained out of Universities and professional ICT institutions graduate with impressive looking syllabuses, certificates ,degrees etc. claiming 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 job do not realize that these guys can actually build software to make their work a lot easy. It 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 verses winning in the marketplace. The sooner African developers and start-ups recognize this, the better.
It is great to participate in code competitions and hackerthons 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 environment 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 set and much more.

The 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!
 </ Raindolf >

So you want to be a Web African programmer? - Guido Sohne (2003)
The Agonies of an African Programmer – Gregg Pascal Zachary