How long does it take to become a software developer in South Africa?