The Genocide of South African Software Developers

The South African Department of Basic Education has decided that the only Delphi and nothing else will be used to teach programming in our schools.  Many of us became aware via Derek Keats’  blog post. On his blog, is a scanned copy of Circular 9/2013 which communicates this decision.  Even the  Digital Portfolio Committee of the  Cape Chamber of Commerce has issued a statement on this matter and are convening a meeting on 16 October 2013 to address this.

That Delphi is old is irrelevant.  For me, the issue is that Delphi is not current.  Old and current is not the same.  For example, Python is old.  Python v1.0 was released in 1994, but it is still current.  It is still under very active development and a popular choice for building software in today’s world.  Delphi is old and has tried desperately to keep up with the times.  Delphi is no longer current.  Please do not bother pointing me to  Embarcadero’s Delphi XE5.  Do your own homework on its market share and developer mind share.

Currency makes the things that we wish to achieve today and tomorrow possible.  Currency of software languages and tools instills wonder and amazement for the current generation and next.  It was C that did it for me when I was starting out.  That I could make LEDs flash sequentially when connected to a parallel printer port, left me breathless.  Delphi excited some people in 1996.  It excites nobody anymore.  It has lost its currency decades ago.  It no longer inspires people that imagine possibilities in the world of cloud, mobile, touch and the Internet of things.  

Certainly, we can teach kids programming using Delphi and Pascal.  We’ve taught programming with Pascal for years.  And, yes, design is the hardest aspect of programming and we can argue that language is an implementation detail.  This argument may stand up in the generality of teaching programming.  But it falls flat when it comes to specifics of teaching programming in South Africa.

The reality is that South Africa does not have a significant software development sector.  As one of the BRICS we have an expectation that our software development sector should be comparable, in relative size, with our “developing” sisters.  Get real. We just don’t have enough developers in South Africa to build a significant software development sector.  What we do have is a marginal sector where the majority seats are occupied by a minority group.  I can only foresee a significant software development sector when the majority of seats are occupied by the majority group in South Africa.  Let me cut through the euphemisms.  The majority group are not white.  The minority group is predominantly white.  But this is not a race issue, it is much deeper than that.

We are in a software development crisis in South Africa.  We do not have enough software developers.  Forget talent, simply on quantity, the minority group cannot fix this situation.  We need black software developers to fill the seats, first with numbers.  The black talent drought is a different problem, but let’s just stop the black software developer drought.  We need the numbers first.  The majority of our kids go through state schools will be left uninspired by Delphi, and turn to other careers. Software development is not even close to being a common career option for all South African kids, and the Department slams the door shut. 

Kids in private, independent and previously advantaged schools will be ok.  I know this because my son attends a private, independent school.  These kids will be inspired.  They will feel that sense of wonder and will reach for a career in software development.  And we will continue fooling ourselves building a software development sector with a minority group.

I wonder whether the Department of Basic Education knows that it is responsible for the under-development of South Africa.  Yes, Mr. SG Padayachee, you and whoever is advising you are killing an entire generation of software developers.  It is a genocide of software developers.

9 thoughts on “The Genocide of South African Software Developers

  1. Realistically, hardly anything is actually taught in high-school programming. I did Delphi at school too (was our only option), and the content was pretty pathetic. I think it is much more about giving students the opportunity to see if they enjoy coding than actually teaching them any skills (that’s what college is for).

    • I agree that students must be given the opportunity to see if they enjoy coding, but it has to start much earlier than college. College is too late and I’d argue that high school is quite late too. To really have an impact, have kids see the benefits/joys of coding much-much earlier. This debate obviously extends to current issues with math and science education.

  2. I have taught programming with Scratch at the Targeting Talent Program, Wits University, to grade 10’s, while some of my colleagues taught grade 11’s. I wonder why they did not choose Delphi!

  3. You’re doing great work here. While admitting I am a white male, please may I pick you up on the words genocide and talent. Genocide because this still actually happens in the world today and anything that devalues the word should be avoided. Yes this decision is a terrible thing, no there will not be mass graves, the two are not comparable. Talent because it is a toxic myth, almost anything can be taught to anyone if they enjoy it and they have a good teacher or even just good materials. See John Mighton: http://www.randomhouse.ca/books/114267/the-end-of-ignorance-by-john-mighton

    Again, thanks for highlighting these issues so articulately.

    • Hi Alexis,

      I think you know that I’ve used the word "genocide" with poetic license. But, you are correct that it genocide is a serious issue globally and I should not use it trivially. That was naive of me. On talent, I’ve ordered the book you recommend. Learning how to learn is dear to my heart, and it seems like John Mighton has some interesting ideas and implemented them too. I look forward to that read, so thanks a lot for the tip.

      • Hi guys,

        I have to disagree with your points on talent and the “just get the numbers” approach. I’ve been in the industry for 15 years now, and have been coding for quite a bit longer than that.

        Having people on your staff that call themselves software developers and seem to have the right qualifications will not solve your business’ problems.
        I’ve seen teams composed of armies of junior developers fail pathetically and repeatedly. The balance between “average” and “talented” developers need to be right (which in my mind is 3 juniors to 1 seniors at most), otherwise all your team will do is give business a false sense of “we are developing software”.

        And, we need to take the toxic race issue completely out of the discussion, if we want to create a constructive and healthy environment for dev to flourish in. If you make people fear for their jobs and futures, or that of their children, well then sorry but we’re all going nowhere.

        We need to get new people that are passionate about dev in SA into the industry, plus we need to keep the experienced ones we already have to provide mentorship and leadership. Neither one of these on their own will do the trick.
        On that note I fully agree that am overhaul of the education system is needed. But the changes need to reach kids much earlier than high school, and it goes far beyond just computer studies as a school subject. I’ve recently spoken to kids I know about IT as a career, and they rolled their eyes and told me about the clueless IT teacher at their school. Case in point…

  4. I think your argument has a unhealthy bias. New technologies are coming out all the time and things are rapidly moving and changing to say that any one programming dialect is out of date or irrelevant is irrelevant. What is taught in schools today will be the future of programming tomorrow.

    So the bottomline is no matter what dialect you learn, you will still need to be able to build a program and understand how to make something that is both functional and user-friendly .

    Delphi is a R.A.D. tool which really helps people visualise the program during design and implementation. Now at this time November of 2014 XE7 is able to allow coders to code native code in OP or C++ for Phones, Tablets, Pc’s and Macs also allowing the inclusion of many accessories like google glass and other such gadgets.

    I do thing your article was a bit short sighted and I think delphi is one of the best tools the education department could expose kids to because it makes programming interactive and attractive at the same time staying powerful enough to allow low level programming even in line ASM.

  5. It is quite apparent that you are biased to the extent that even evidence to the contrary does not sway your opinion. The rest of the article is hogwash. Because of the mind-numbingly basic the level at which programming is taught at high-school level, it really doesn’t matter what language the dept. chose, the result would be the same: 99% of kids would be turned off programming for life.

  6. Really, how can you comment on Delphi, If you have not even done any investigation into the subject and then comment on Derek Keats blog, that also does not know what he is talking about.

    This whole article is BS.

    What do they call someone that spurts out the biggest load of BS and really knows squat about a subject. Rather keep quiet if you do not know what you are talking about, than come across as an I____ .

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s