I’ve been (and am) a programmer, a team-leader, an executive, a teacher, a coach, a startup entrepreneur, a writer and a consulting architect. I have degrees in Computer Science, and perhaps I should have stuck to that side of things — I have a perpetual fascination with the more mathematical and theoretical aspects of computing. This has occasionally led me to commit crytography.
I have four decades of experience making software, but do not feel that I’ve mastered it yet. I was a early adopter of Unix, OO programming and the Internet in the 80’s, agile methodologies (notably XP) and distributed software design in the 90’s, service-bases architecture and Bitcoin in the oughts and p2p/federation technologies right now. I’ve been agitating people about climate change since the 1970s and I won’t stop.
I taught Java, OO design, Software Architecture and related subjects for about 15 years, and was allegedly the first African authorised to teach Java by Sun Microsystems. I’ve spoken at conferences and led countless workshops. It’s fun stuff, learning and telling the stories that help people to do software better.
I can say I have decades (two is more than one) of experience in creating software products, and in growing productive software teams. I have been involved in various startups over the last few years, and am currently part-time CTO for Custos Media Technologies.
Before that I was the chief architect and then head of product for LifeQ Inc, after doing consulting on software design and performance tuning of software systems as well as providing training on Object-Oriented design, Java and mobile development for 14 years as the founder of Polymorph Systems.
I started coding in primary school and, shortly after receiving my Computer Science degree at Stellenbosch, started my own business. I presented various courses over the years, including the Java Master courses of JavaSpecialists.eu; mostly so I can learn interesting stuff. More recently I discovered microservices and reactive architecture and I’ve been having a lot of fun with it.
I specialize in initiating projects; growing the software architecture and team structure so both can start lean, and scale when it needs to. I am passionate about using technology to develop products that enables people.
I am also qualified to teach a range of the Javaspecialists.eu courses.