software architecture careers in Johannesburg, South Africa