Canada could also be an option, if you can stand the winter. Though the immigration process can take a long time unless you have a job offer from a Canadian company.
If you are still interested in improving "plan A" (i.e., staying in South Africa), we are hiring system software engineers (compilers, object persistence, concurrency, UNIX/Linux, C++, etc):