A good attitude is the driving force at CodeX.
Worldwide, the IT sector lacks skills, and Africa is no different. In South Africa, the failing education system is compounding the problem. The longer this persists, the more it will cost South Africa - both in terms of companies and people - in lost income and revenue. A different approach is needed to solve this problem. What has been tried has clearly failed.
Project CodeX (http://www.projectcodex.co) is a programme launched to train software developers to code on client's live projects.
Usable skills are the aim in this for-profit initiative created and founded by ex-FNB head Michael Jordaan, Bloomberg tech journo Elizabeth Gould and veteran computer scientist and engineer David Weber.
"We all know there's massive unemployment in SA," comments Jordaan. "Businesses are looking to recruit but cannot find people with the right skills. One of the biggest skills shortages locally is in programming, or coding, as it's more affectionately known. In my corporate days at FNB, we would gladly have employed 200 Java developers if only we could find them. The same applies to many corporates, whether large and small. Project CodeX aims to bridge the gap between what the market wants and what the system produces. We intend to create high-value jobs and, even better, skilled entrepreneurs."
"I have interests in a number of technical companies, ranging from raw startups to mature organisations," says Weber. "They all need good developers, people who can learn on the fly. Traditional sources are not providing us with what we need so something radical is required."
The programme launched on 15 September 2014 and is sharing space with 88Mph in the Woodstock Exchange in Cape Town.
"We had 800 applications, and purposefully chose a very small group to start," says Gould. "We have ten students for this term; we had 12, but one got a job on the first day and we had to ask another to leave - it had nothing to do with the coding and everything to do with a bad attitude that would have proven toxic. We had to nip it in the bud."
While the project is very much in pilot mode, and all the participants are learning daily, the secret sauce to the mix, she thinks, is that the team uses Agile/SCRUM methodologies, which are used by software development shops to teach students how to code. Agile is a software development methodology and SCRUM is an Agile framework that sees pieces of code developed in small chunks. Each chunk is useable on its own, and is delivered quickly. A shippable product is thus developed incrementally and iteratively, with room for the product to change if a customer's requirements alter.
The entire methodology is focused around flexible thinking, daily face to face communication (SCRUMS) and a SCRUM master who keeps the team focused.
"The idea that you learn by staring at someone scribbling on a board is really silly, especially in computer science and related technology," says Weber. "Most companies drive their development using Agile processes and it's designed specifically for solving problems in an uncertain environment. Applying this methodology to the teaching process is a no-brainer."
The idea initially came from Sam Laing and Karen Greaves at Growing Agile, says Gould, when they ran an exercise for Jordaan, Weber and herself on how to turn an idea into reality. "They said, 'Agile is all about learning, so maybe your academy uses Agile to learn how to code?' We thought about it, and it's a bit meta, but after we went through the exercise with them, we thought it was a great idea and decided to do it."
The 'SCRUM master' at CodeX is Cara Turner. "One of our primary aims is to build coders who are able to address the right problem in the right way - a problem that Agile principles address fundamentally," she says. "We shaped the programme to incorporate practices that support discovery-based learning, with business value and technical skills at the forefront. Practices such as paper prototypes, story maps and app commercialisation are introduced alongside extreme programming (XP) practices focused on code quality.
"This also addresses the industry problem of re-skilling students fresh from tertiary institutions to be productive in a software team, which can take up to a year. Having an agile approach also makes it possible to shape the curriculum around the coders at the rate they are learning, which exposes them to handling real-time response to change," she comments.
Turner works in conjunction with code mentor and software developer Andre Vermuelen, who has been instrumental in creating the curriculum and innovating some of the teaching methods used.
The programme costs R25 000 per student, and the pilot was sponsored. Some students have come with a matric, others have Honour's level computer science qualifications. Each student in the pilot was asked to contribute R4 500, in order to have some skin in the game. "If they couldn't afford the fees, we loaned it to them," Gould says, "but we've realised that most can't afford it." The next iteration will see CodeX paying students who deserve to be in CodeX but can't afford to be through a bursary scheme that will cover tuition, transport and some basics like food. Students cannot work while doing the programme and many have families dependent on them.
Students will stay for one or more terms depending on what level they're at when they start. Each term runs for three months.
The idea, Gould says, is for companies to sponsor students who they have the first right to hire at the end of their time at CodeX.
"We want to create highly employable people who can deliver value from day one," she states. "More and more of the companies we talk to say students come out of educational institutions with no idea how to go about building a real product. We've been thinking about that and one of the keys to this project is that the guys think about projects. Already one of our students has developed an app for informal money-lending in townships. Another wants to develop an app for the Treatment Action Campaign to manage how they send out people to deliver HIV medicine in communities."
Students will leave CodeX with a portfolio of products they've developed, rather than a piece of paper with little reference to real-world requirements.
Gould says the plan now is to expand it to include more developers and code mentors. "We want 35 to 40 people for next term, which starts on 3 February."
Gould says she hopes to take the project into townships in Cape Town, as well as to other provinces soon.
"I think it's going to grow beyond SA and Africa, but Africa is the continent I love and it's enough to focus on for now."
First published in the January 2015 issue of ITWeb Brainstorm magazine.