Friday, July 27, 2007

The Duckling phenomenon

An old adage says that the first thing a Duckling sees after being hatched from an Egg becomes the Mother, the analogy has never been more truer than when it is used to describe Programmers/coders. All programmers and other script-writing fellows are normal beings that normally follow the path (image) of their creators, the first language a programmer learns become the basis of argument and language of choice and consequently becomes the language to which they would fight to defend to the bitter end. Few characters have been able to escape this silly situation.

The big fight as far as programming is concerned can be summarized as a fight between two kinds of people. People who love to use BASIC-like languages vs. the Rest who love delimiting their lines with semicolons and using curly braces all over. The latter loves to bash the poor former and in day gone by “Dim x As Integer” loving coder/programmers/scripters were regarded as Para-Programmers who seemed to know nothing and had nothing to offer to the development environment. Fiery quips of “VB6 provides a better GUI development environment” were quickly pacified by the then quite effective “If VB (6) is so great, why doesn’t Microsoft use it?” and most definitely they (me included) didn’t have an answer to it. Arguments of Memory Access (like anyone used it anyway) were additional armory in the Arsenal of the Pro-semicolon faction. As they years passed so the argument evolve and with the evolution (re-writing) of VB6 to VB.NET and finally we had something in common - the CLR that made “Us Equal and Had No” equal (sorry Java Folks). Thus the argument changed form to “VB.NET can do anything C# can do.” This has been going on for a while and is kinda tiresome. So this is what I say, if you only know one language, you are crippling yourself. The world is out there, the weekend is ripe, fire up a new IDE and jot down a few lines of a not so friendly language –you might actually like it.

By the way what happened to “Managed C++”? No one seems to be defending it so much!

Thursday, July 26, 2007

Its a Bugs Life...

My reflections on the life cycle of a Kenyan developer are as follows, the Kenyan breed of programmer/developer e.t.c has a life cycle that tends to be like a soccer players. You start in college and proceed to start working of course depending on how luck/good/both you follow the following steps.

  1. Division three

This is where you are picked by the small boys, you generally do every thing, “Mambo ni one man show”, and this place have problems in that the salary is always late. You work too hard, you basically learn the ropes ,you may get to ‘management’ level here but its only a title-the salary is “Mteja hapatikani” and get to discover the best software development…sorry soccer clubs around. There are no KPIs, and basically what you earn can stagnate for X number of years , depending on the Managing Director/Owner/CEO or can grow in “Leaps and bounds” depending on your Managing Director /Owner/CEO.

  1. Division two

This are basically better paying clubs that people move to and it seems like the best of places to be around, get a better developme...sorry playing side. More structure, the salary is seldom late and of course it harder to climb the programming ladder, you get in as a Junior guy-regardless of your performance in Division three but you are still ok of course until the next review meeting and you get a few coins to your pocket...and as the old adage goes-the rest is history, you start looking for opportunities to move up the ladder.

Most “Big Software Firms” in Kenya are here.

  1. Division one

This is a place where you find even more structure, but the roof top is ceiling is quite high, you rarely get to be “Head” anything without serious “Siasa and well, KPIs are a bit stringent. In Kenya such firms tend to be Multinationals and large firms, Software…sorry Soccer may or many not be the Core business.

  1. Premier League.

This are basically multinational companies that rarely get guyz from Kenya…think of them as the Barça and Real Madrids of Software development. Companies like Google, Apple and Microsoft fall in this bracket. “Ukienda umefika.”

Of course any programmer/developer/coder e.t.c worth their salt dreams of either two things,

  1. Working in a Premier league level firm i.e. playing in La LIGA, Serie A.
  2. Owning a Premier league team equated to being Roman Abramovich.

Going into number 2 above however tends to take you to Division one…but as the Manager/CEO/Director, then “doing unto others what was done unto you.” This stage is normally characterized by research, one starts researching on how Bill Gates made it big in the software business or how Larry Page and Sergey Brin had their big break. In a number of years depending on wit and/or luck you make it big and follow the same steps of a player but as a Managing Director/CEO/Director.


In conclusion, you whoever you are; wherever you are in the development cycle, work hard and progress to the next level. But all in all its like chasing the wind.