Most IT work for large companies are contract positions. Mostly because of BEE but also the high cost of developers.
They almost never advertise those positions. They are normally done through contracting houses. The most popular being DVT, Guru Hut, etc.
You work full time for the contracting house and they contract you out to the company. If the company isn't happy with your performance or you aren't happy with the company a new placement is made.
Sometimes the company needs to hire you full time because the person has become too important in the business process (senior position and in charge of critical system, etc.). At that point they'll offer the contracting house a huge sum of money to be able to hire you directly (eg. buy you over).