Build, Deploy and Thrive

Growing up in the 1980s in Soweto, South Africa was an interesting experience. I have fond memories of that period (minus the unglamorous political unrest of course).

As kids, we had a lot to keep us busy. As with most neighbourhoods in Soweto, ours was one where everyone knew each other.

The Builders

We were a diverse bunch of kids, but if I could roughly slot us into two groups:

There were builders and there were wreckers.

Nothing is ever that simple, but there were those kids who were energised by building stuff and having fun around that. Stuff that the builders would build was not necessarily tangible, like organising a BMX race, or putting together a soccer team. There were also builders who would actually make stuff.

I consider myself a builder in that period and I literally got involved in bricklaying!

Wreckers on the other hand were the bullies, aspirant thugs, and generally mean-spirited kids who loved nothing but destruction; fortunately there weren’t too many of those.

We, generally speaking, didn’t have fancy toys. So, most of what we played with was generally hand made. Our creations included Kettis (slingshots), kites, go-carts, and my favourite: wire cars.

The skill level in making all these different toys varied considerably. The material needed to make a good looking and reasonably sturdy wire car included stiff wire (obtained from your parents wardrobe), soft wire (hard to get, and usually obtained through barter with your friends), and wheels (made from tin cans, polish tins, or plastic snuff containers).

If you had the ability to make a really good-looking car, you could trade with your friends and get all kinds of cool stuff (like a karate book to improve your flying kick technique – Mae Tobi Geri).

So very early on, my friends and I were in the habit of building stuff.

The pattern was to find out what was cool, learn how to build it, sit in a quiet space building, and then show off your creation to your friends. In return for your efforts, you’d get praise, respect, and a possible opportunity to trade.

This is the culture I’d like to talk about a little more in this article.

The neighbourhood I grew up in and my childhood friends, was a microcosm of something that exists today: the technology ecosystem in South Africa.

I see aspects of the technology ecosystem that map very neatly to attributes of the ‘builders’ (read hackers) I’ve described above. But before we talk about parallels between ‘builders’ of the 1980s and the technology ecosystem today, let’s first talk about how we got here: what made us choose building software as a career and how did we get here?

Education

To clear up any potential confusion, let’s revisit the term hacker. Paul Graham (2004) wrote in his essay “The Word ‘Hacker’”:

“To the popular press, ‘hacker’ means someone who breaks into computers. Among programmers it means a good programmer… someone who can make a computer do what he wants – whether the computer wants to or not.”

Therefore, when I talk about hackers, I’m referring to the programmer’s definition of the word.

Many professional programmers today learned how to program when they were kids. In addition to building go-carts and wire cars, they may have been hacking on Commodore 64s, coding sprites that almost resembled games. A programmer who was lucky enough to have coded growing up was usually very clear on their career choices.

Other programmers may have stumbled into the craft (maybe at tertiary level). For programmers who wrote their first line of code at tertiary level (and loved it), it’s likely that they were the builders I was talking about earlier on. Regardless of how one got started with programming, for those who loved it, it was a new found way to express one's creativity and ingenuity.

For those studying computing at tertiary, it would be possible to choose a track that best suited your interests; you could specialise in tracks such as business information systems, scientific computing, computer engineering, geographic information systems, and many more. By choosing the right track, you would be setting yourself up for a career building stuff you liked.

So after a good number of years studying computing, one heads into the marketplace to find a job. The typical criteria in evaluating career prospects are roughly as follows:

  1. Get the highest possible starting salary.
  2. What can I expect to be earning in 1 years’ time?
  3. Work in a financial hub (salaries are higher there).

I’d like to pause and pose a question at this point: is the inner hacker beginning to malfunction? As a true hacker, I’m pretty sure you’d expect the criteria to be as follows:

  1. What kind of software does the company build?
  2. Will I be involved in serious development?
  3. Who will I be working with?
  4. Is this a hacker friendly environment?

This is what a real programmer would be asking; right?

I think the initial criteria are influenced by a number of factors that are endemic to South Africa (and likely other parts of the developing world).

Classes in the South African population

Figure 1: Classes in the South African population

The problem we have in South Africa (and the rest of Africa) is that way too many people live in poverty.

The result of this is that many people look to take care of their basic needs at the earliest possible opportunity. From the figure above, one can see that as recently as 2008, less than 25% of our population was in the middle class or above. The class definitions in the figure are indicative of per capita monthly household income levels. A terse look at these numbers shows that the vast majority of South Africans are still grappling with basic needs. I haven’t looked at similar statistics for computing students, but I’d expect one to find a similar trend. In light of these numbers, the second set of hacker criteria I listed above begin to look more like needs on a ‘self actualisation’ level; the need to be part of something big, where you can make a dent on the world.

With these kinds of dynamics at play, what kind of a career do computing professionals lead?

Career

Let’s start with the hacker who lands a job by applying the first set of criteria. For this programmer, the ideal scenario is to get a job where there’s no bursary payback and the maximum amount of money can be made. This programmer is likely to have a lot of personal responsibility upfront and a lot of money will come in handy. The company she works for will most likely be of the corporate or large consulting variety, where bright young minds are usually snapped up. She’ll join the firm and relish every moment she gets to apply the knowledge that she obtained during her studies. As she gains more experience, she’ll begin to understand corporate culture and how to move up the ladder (making more money in the process).

Our young hacker navigates this complex world and resists the urge to take short cuts and become a wrecker.

At some point, she’ll realise that she hasn’t written one line of code for months and
will be proud of this. To be clear, this is the hacker who used to build software from scratch and gold plate it with extra features to get the bonus points. This is not the student who used to say stuff like: “I love computer science, it’s just the programming part I can’t stand.”

So what happened here? My observation is that our young hacker followed the money instead of her passion and in the process lost a lot of that hacker spirit. This outcome of course was influenced by her situation in the first place.

Now we turn our attention to the second hacker who applies the second set of self-actualising criteria to look for a job. Money is not a major influencing factor in landing a job. Our young hacker comes from an upper middle class background; his main concern is the software that he’s building and how he’ll be able to make something that people need and really want to use. He’s likely working for a local software vendor or a start-up. Our young hacker benefits a great deal from the accelerated learning experience afforded to him by the smaller, more intimate working environment.

During the normal course of his work, he may make contributions to some related open source projects. As time progresses, his ‘geek cred’ grows by leaps and bounds; this work is fuelling his passion in a big way. He’s not driving the slick and luxurious German sedan, but who cares – he’s building killer products. Having worked closely with the leaders of his company for a couple of years, he identifies a problem that he just has to solve. With the knowledge of how a firm works (end to end), he goes out and launches his own start-up. He’s going to make his mark in this world!

As a real hacker, you’d probably want to be in the latter scenario, but there are a few realities one must face. Are there enough software vendors and funded start-ups in South Africa to make this possible? Do you have enough leeway to take a gap year of sorts to start a start-up of your own?

Find Flow

As a hacker, what you want to do is be in a situation where you “find flow”; by this, I mean you want to be working in a groove that fits your personality and strengths. I think this is possible, regardless of the scenario you find yourself in. If you know you’re a hacker, you’ve got to keep hacking.

David Byttow put it plainly: “ABC – Always Be Coding”.

How do you keep your programming skills sharp?

Avoid at all costs any trappings related to money, status, power, and claimed shortcuts.

Stay close to your roots as a builder.

You’ll agree with me that in the Silicon Cape, a lot of people have found their flow. Silicon Cape unfortunately cannot be taken to represent a trend in South Africa, because we effectively have both a first world and third world economy . The vast majority of our people grapple with basic needs, so if you have the rare opportunity of acquiring a sought after skill, why are you going to muck around earning less than you could be? The answer to this is because you saw someone else from your community do it, and they are thriving – in all senses of the word! We need more role models to come out and share (with some tangible detail) on how they did it.

It’s starting to happen. A good example is the free events hosted by JoziHub where creators, builders, hackers meet to share ideas and experiences. A number of companies support these events with their products, encouraging people to build stuff. What is needed is more participation from hackers who have found their flow.

Mark Essien (2013) wrote about the lack of sharing he observes in the Lagos tech scene, probably due to fear of competition. A stronger tech scene is good for everyone, so we need to start sharing. A stronger tech scene will result in more jobs, easier entry for the next guy, and it will put Africa on the technology map – it will be good for all of us.

The Lagos Tech Scene Could Do With More Sharing Of Ideas - techcabal.com

In conclusion, what I’m saying is, regardless of your career path, as a hacker, you need to keep hacking. You need to follow your passion. If you’re not doing enough in your day job, there are many problems that can be solved with the odd side project. With the right level of networking, sharing, and effort, these side projects can grow into something profound, adding to the uplifting of our society in general.

A lot more needs to be done to rope in hackers from disadvantaged backgrounds. If this can be done, we all will benefit from a surge in innovation.

Cover Image Credit: Ian Sane

Ntobeko Wakaba

About Ntobeko Wakaba

Founder and Hacker at Jalia Technologies. Experienced in software development and architecture, ranging from consumer facing web applications to large scale, mission critical enterprise systems.

Comments