Thursday, November 1, 2012

The 3 types of developers you will find in Africa


[In 2010, while working at Google, Kenya with the developer relations team i wrote this blog post. Adding it here as an archive for those who missed it then]

The past two years I’ve had the chance to interact with over 500+ developers on this African continent - I’ve attended Developer events across the continent from Kampala, Lagos, Accra, Nairobi and interacted with developers from Cairo, Kinshasa, Jo’bug, Maputo, Dar-es-salaam, Monrovia, Kigali, Juba, Lusaka and Dakar.

At events like GTUG’s, DevFests, Barcamps, Where camps, Google G Days, Hackathons, RHoK’s, University Talks, code-labs - name it, I’ve been there. So I feel confident to write about my findings. I have put thesedevelopers in 3 different categories with characteristics relating them to previous African dictators. From my findings i can say these are the kinds of developers you will find in Africa.

Developer Charles Taylor
Just like Charles Taylor , these developer’s strongest weapons are rape and torture of existing code. They willalways exploit existing tools to construct something to meet the client’s needs.

Developers in this category are the guys who have only mastered CMS’s (Content management systems) the likes of Joomla, WordPress, Drupal, concrete5 etc. These guys can edit and patch up the source code, they can tweak these platforms to what they really need them to do. They only edit, re-arrange, pull out, make few changes and have what they need. They can’t build a module from scratch or re-write one.

Just like Charle Taylor’s wealth, some thing i noticed also is that these guys are rich in work to showcase - sites, blogs, templates etc they have and can show you what they have done. At Tech events these guys have very little to contribute as they can’t really write code and work in groups. Something I’ve also noticed with these guys is that a few are moving to RAD platforms like cakephp, codeigniter. Most of the developers in this category write code in or understand PHP.

Developer Robert Mugabe
Just like Robert Mugabe these developers mostly have gone to school and passed through some British/colonial education (programming lessons). They have Microsoft certifications or have done some IT/CS schooling. They use any Microsoft tools given to them and they only know those tools. Developers under this category mostly run on Windows machines and code in Java and .Net Technologies. These guys have some good programming knowledge but purely base everything they do on what they learnt in school.

I’ve noticed that most of the people who win prizes at Tech/Coding events fall under this category. The thing I hate about these guys is that they are rigid, don’t try new things, stick to Java and .Net technologies and are not willing to learn new technologies. They are not into FOSS technologies and know nothing about **nix platforms. They don’t contribute to Open source initiatives so you won’t see them own github or Google code accounts, they have all their code on their laptops. The thing I like with these guys is that they get things done.

Developer Idi Amin
Just like Idi Amin a primary 3 drop-out who didn’t go to school but rose through the ranks in the army to reach far as to rule a Country, these developers mostly have learnt whatever skills they got on their own. I’ve noticed that they mostly own Linux / Mac Machines. They code in languages like Perl, Erlang, Bash, Python, PHP, C++ etc.

Just like Amin who declared him self President for life, these developers at Code events don’t like to be told what to do or how to do things, they just want to be left alone to figure out everything on their own. Something I’ve noticed with these guys is that they understand the OOP principles and can build modules from first principles (bottom - up). They also have another problem, they have nothing to showcase as most of their code / projects are incomplete.

On top of development these guys know basic Sys Admin on Linux platforms and for development, they go as far as understanding coding styles, re-factoring, code readability, Test driven development, Scrum, Modeling etc. These guys also care about nitty gritty things like memory and CPU usage etc.

Developers under this category also get things done but need lots of patience on your side, you need to take them delicately as they are easily offended. These are the kind of guys you will find sited in isolation at back of i-hub Nairobi , next to Pete’s coffee with dark screens and looking very busy like they are changing the world, yet they may just be installing a **nix patch.

The biggest problem with developers in this category is that they don’t have girlfriends and live all their lives on their laptops (including weekends) and some in the Bar.

All in all, I think most of the developers in Africa fall under the developer Charles Taylor and developer Robert Mugabe, that’s why the two most common languages used here in Africa are PHP and Java.

2 comments:

  1. this is so true and its an awesome observation, what i think we should be more of IDI amin if you want things to be done....and ofcourse become more innovative.

    ReplyDelete
  2. Thunder Fire you!!

    ReplyDelete

Add any comments if it helped :)