Accra, Ghana - Working as a software developer in Web Africa can be a trying experience. I remember the days when, less than two months into starting a new company, we had to endure the infamous "load-shedding" -- a practice of cutting off electricity to whole sections of the city in order to conserve power. 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. We just have to make saving every five minutes a habit as well as run journalled EXT3 filesystems that won't corrupt data even if the power browns out 5 times an hour...I can't believe the Californians complained about rolling blackouts!!
Some people have it good! There are so many things that are taken for granted in more developed countries that it is hard to imagine the environment that exists in Web Africa. Let's take labor supply for instance, if you are going to run a software company you basically have three choices:
Hunt around for really good programmers. Sell your mother to keep them because that is what
you will have to do if you want these prima-donnas to stay. Good luck!!! These guys are all
fantasizing about being Bill Gates and if you don't look like Bill and have a pocket like Bill...
Good luck!!! I'll be seeing you on the other side, where the
grass is greener.
Process literally tons of resumes. Each month a horde of new programmers, freshly trained out
of NIIT come with impressive looking syllabuses, certificates etc. claiming skills in Java, C++,
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 developer in apprenticeship, the teachers
spend hardly any time with the students. They just churn students through the institution and
probably can't keep up with the demand for certificates.
Bottom line: These guys are less
than half-baked and cannot do productive work. Not when you don't want to lose the client. And the government wants some Indian company to
invest into this sort of thing to the tune of over $1,000,000?
God help us all.
The last choice is probably the most ludicrous. You have to teach them how to code. I mean you
find smart people, hire them off the street and teach them how to write programs. What's wrong
with this? I mean, we are trying to make a profit developing software but we find ourselves
running a school where we pay our students... Good joke!! But seriously, this is what you have
to do if you want to make your business work. Ask S.O.F.T if you don't believe me. One approach
has been to divide the problem into a library that does the hard part, and code donkeys who do
the tedious part. It works, no doubt about it. But it results in poor applications. Very
inefficient designs. No innovation. The same way of doing things every time.
substitute for a good programmer. And what choice do you have
when you can't find many good programmers? This is not a
vicious cycle. Far from it. It's a malicious environment.
Survival of the fittest, survival being the operative word.
Ahh, the life in Web Africa ... we better head over to the beach before we explode in frustration
or die from a stress-induced heart attack.
Well, you made it!!! You became a Web African programmer!!
Congratulations!!! Let's break out the champagne. You are now one of the few genuine programmers
around. You know what you can do; you know you love computers; you know you love the life of a techie.
Your only problem is that you really have to hunt for other techies. They are always behind their
computers, or working somewhere obscure, happy being bathed in the cold glow of a CRT display.
So you hit upon a bright idea ... Let's find a job!! I mean, I have da skillz to pay da billz so
why not work for someone who can bring in all the interesting problems and just focus on solving
[One year later]
After writing yet another program, you just get fed up. I mean, what happened to all those bonuses
that you were promised? Why aren't you riding in a nice flashy car like all the managers? In fact,
how come the managers have so many nice cars and you are so poor? I thought I was doing good work!!!
I don't plan to live my life earning less than $300 a month.
[You hear a little voice in your head ...]
Welcome to the real world, buddy!! Let me explain things to you, you simply have to understand.
You're a big fish in a small pond. There's not enough water to go round, so sorry if you are feeling
a little uncomfortable. After a few more years, your body will get used to it and you will become a
small fish, much more comfortable you know ...
And don't forget buddy, there are only two ponds in town. If you get lucky a third pond will be opened
next year. As they say, it is a buyers market -- where the buyer is the man who gives you your paycheck.
A small industry means there are few players and fewer choices. The people who want software developed only
know about the one or two big guys. Forget that you can also do it, have fewer overheads and it will
be much cheaper. Forget that you also need to grow. Remember, it's a small pond and there are only two
of them in town.
[Meanwhile, you come back to your senses...]
You think upon this for a while and quietly backup your email, sending them to a web archive. You're
outta here, buddy. It was nice working here but life goes on. Maybe things will work out, but they sure
aren't working out here.
So you want to start your own business, huh?
Back in the streets, you decide to make a go of it on your own. Perhaps you can
find other Web Africans who are on their way up this game of Snakes and Ladders. It would be good
to help these young ones avoid the Snakes and find the Ladders.
Your only problem? How do you pay these guys? Where are the clients? How do you break into the corporate
The life of a Web African. Perhaps you should contribute towards the brain drain. I mean you could be
earning $100,000 dollars a year but here you are, making less than $5000 dollars a year. Programmers
are supposed to be smart, so how did you land yourself in this situation?
The Holy Grail
One day, one day, one day you will be able to work for clients overseas. It's a digital economy and
software ships so easily. That's got to be the answer. Stay a Web African, but don't let it get the
better of you...
The Moral Of The Story
It's not easy being a Web African. Don't give up. The future of the Web 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...
[ the curtain falls, audience applauds ]
Guido Sohne describes himself thusly: "A hired assassin contracted by unnamed
conspirators, companies and people to 'solve software
problems' in efficient ways. You gotta problem, I kill it." The above article was previously published, in a slightly different form, on Guido's site.