By his own admission Ncedile Nkonyana would say that he was late to the game. Having not owned a computer until his matric year, software development would seem to be a difficult career path to follow. Ncedile is soft-spoken, but clearly a man who spends time forming his thoughts.
A love affair with Maths (yes, Maths!)
For him computer science is an extension of an early love affair with Mathematics at school. In his mind the link between Maths and programming is that they are both ways of solving problems. With Maths you are given an equation to solve using logical principles, similarly in programming you have a problem which needs to be broken down into its smallest bits so that you can create an algorithm to solve it.
By custom, the son of a traditional healer is expected to become one too, but his father impressed on him the importance of formal education from a young age. Although his story begins in Gatyane, in the Eastern Cape, most of his schooling happened in Khayelitsha at Matthew Goniwe Memorial High School. Such was his ability with numbers and figures that he tutored his peers in Grade 12. And it was Maths that introduced him to programming.
“I constantly had my nose in my maths book, the yellow one with the eagle on the cover – it helped me so much. It got to a point where I could tutor my friends. In the second-to-last year of school there was a competition for Grade 11 and 12 learners to get into a program at the Centre for High Performance Computing (CHPC). Because of my maths grades, I got in.”
The Centre – located in Rosebank, Cape Town – used to run a programme introducing high-achieving students from Khayelitsha to the world of programming and, for many of them, computers in general.
“We started with Scratch, a block-based programming language. You would put these blocks together to make the animal on the screen do things in certain ways.”
It may sound trivial, but this is what programming is: a series of instructions to make a computer (the animal) do certain things. From Scratch they moved to Python and hardware assembly. By the end of the six-month programme Ncedile was convinced this is what he wanted to do with his life.
But then, as life is prone to do, his dreams were derailed.
At the end of a difficult second year at UCT he was forced to drop out. For most stories this would be the part where we fade to black and throw up depressing statistics about unemployment and limited opportunities. But Ncedile’s story is more a testament to determination.
A year later, and a year hardier, he got himself into the Cape Peninsula University of Technology doing a diploma in Applications Development. With a fresh chance to apply himself he was not going to let his dream remain just a dream. But the realities of paying for his studies forced him to look for employment – which led him to Yoco.
Making a career at Yoco
“I found Yoco through gomintor. There was an intern position open for logistics and I took a chance. I joined as a supply chain intern and I did everything from testing card machines to packaging them to preparing orders. I used to go to lectures in the morning and then come to work in the afternoon until late doing this work. Even on weekends I would come in to prepare big shipments.”
It’s likely that if you bought a Yoco card machine between 2015 and 2017, Ncedile was the first person who touched it, tested it and packaged it. As his studies came to an end he had to make a decision: leave Yoco and start his job placement program elsewhere or continue with the job he was doing. At the same time we were looking for people in Tech (we still are!) and a happy compromise was found to keep him at Yoco, but now on a path to becoming a software developer.
“So, I went from packing devices one day to developing software applications. Even before then I used to talk to the Tech guys about the stuff they were doing and I would try to teach myself. You can teach yourself almost everything in software development, you just need a willingness to do it. If I struggled, I could ask for help from the dev guys. There is a culture of helping at Yoco that made it easy to learn even.”
Today, he is working on the features like the signup pages and continuing to grow himself as a developer. When we asked him what his favourite part of developing at Yoco is, he mentions the process of peer review: “If I am working on a feature, I send it to my colleagues and they give me feedback. It helps make me get better as a developer and improve my understanding of programming concepts. Especially working closely with people like Mandisa and Altus, you learn so much in a short space of time.”