I first got paid to write code in 1992. The few years before were the heavy days of mass protest against apartheid. Having a common enemy was not what drove people to change. It was having a common belief that we are all equal and deserve to be treated equally. It is that simple.
In the years that followed, my career always surfaced a blatant fact. I was always the minority in a white, male dominated industry. In my first job I was hired by people that also despised apartheid. For that I am grateful because it gave me a chance to learn without fighting for place. But the places in which I plied my trade were dominated by white, male developers and managers with an attitude of superiority by entitlement, birth, law and any other decree.
And today I am still the minority in a white, male dominated industry. I don't need hard stats and precise surveys when it is patently obvious from the demographics at community events, conferences, start-ups and cubicle farms that black software development has not gained a foothold in our industry. It is especially so in Cape Town, and only marginally better in Johannesburg. I can't speak for Durban because I haven't worked there since 2005 but it was not any better then. It is not just South Africa. It is the same in Europe and North America.
There are at least two sides to any story. Here, the one side is with corporate South African software development as a conduit for opportunity or suppression thereof, and the other side lies with the black software developer with messed up priorities. By the way, when I say "black" I mean "not white", and I everything I say is a generalization because I believe it is in the majority.
In my experience corporate South African software development perpetuates apartheid. There are official policies and frameworks for employment of people and for furthering their careers. There is nothing wrong with these frameworks. But like all rules, how we use them matters.
A few weeks ago I had another black developer share his entrance into a prominent consulting company. He was offered an internship whilst a white male of equal qualification was offered a full contract. When his internship was over, he was not offered a contract on the grounds that his line manager did not like his "work ethic". Really? Who's work ethic needs to be questioned? Today, this developer is employed as an equal in more progressive organisation with a highly respected brand that is determined to breakdown apartheid in South African software.
I am yet to meet a black software developer that is leading a team, making the call on design decisions. Along the way, I have met many blacks in leadership positions. Many are tokens and lack the leadership and technical skill to justify their position. This is also the fault of these individuals, exploiting the rules for self gain.
The majority of black software developers are either doing "maintenance" or being instructed on how to write to specification or requirement with a full blown design being given to them. I have met many black developers who I've seen argue their design ideas only to be later classified as not being "team players". This also occurs in the sugar-sweet agile "we-love-transformation-i-love-my-job" work places.
What gives credence to the "inferior" black South African software developer is that black software developers are apathetic. I find it difficult to identify with someone who voluntarily accepts being treated as a second class citizen. I can understand the risks of 20 or more years ago, but life today is different. We have a voice and we have a deliberate choice of the battles that we can fight. This is mental slavery all over again. And to some extent this mental slavery is self imposed.
I can appreciate that someone with a history of poverty that is offered a monthly salary that their parents could only ever earn over several years, is driven by a more basic need and deep empathy. It goes horribly wrong when that is all there is to it. You earn your dough, but you don't earn your stripes. I know several black developers that have doubled or tripled salaries in a few hops inside of two years. These developers do nothing but give credence to the ingrained belief that black developers are not skilled.
I am fully aware of black developers working from a weaker maths and science base. But I am also aware that there are white software developers that also don't have a strong maths and science base. I have wondered about this difference: two people with equally weak programming prerequisites yet the black developer struggles and the white developer excels. I don't think spoken language is a significant variable here. The one thing that I have observed is that the white developer receives more opportunity and attention than the black developer by his white leadership. The black developer in turn believes that they are inferior, and the lack of opportunity and attention furthers erodes self-belief. Self-doubt is by the far the greatest obstacle to learning.
If you have read this far, there are several among you that have already formulated counter arguments, specific cases that justify your position too. I am open to hear your side. The problem with this blog post is that everything until now is just background to create context to put forward my belief.
I believe that there is a wealth of talented software developers in Africa that understands our history and our future. I believe that as a Pan African software community we are capable of designing frugal solutions for our people and for the world.
To achieve this, we must break free of our own mental slavery. We need to build our own solid foundation that is unshakable at our core. We must equip ourselves as masters of our craft. We must let our voices be heard in Africa and the rest of the world as voices that speak substance. And we must return to be with our people as no more than just people. Our first step is to rid ourselves of apartheid in software development. Like Marcus Garvey said and Bob Marley sang "none but ourselves can free our mind".
I dream that the next though leaders of software development will be African.