← Library
Build team · 9 min read

Who does what: the building professionals explained

Architect, engineer, geotech, surveyor, QS, PM and contractor — what each one is for and when you need them.

Who does what: the building professionals explained

Buying an empty plot? Start with the geotech

A geotechnical engineer drills the site, classifies the soil against the NHBRC site classes and recommends a foundation. On collapsible or heaving clay soils the foundation can cost several hundred thousand rand more than on firm ground — you want to know that before you sign, not after. In dolomite areas on the West Rand and parts of Pretoria a specific stability investigation is required.

The core team

Each of these is regulated by a statutory council, and each signs off something your municipality or bank will ask for.

  • Architect (SACAP) — design, council submission drawings, and construction documentation.
  • Structural engineer (ECSA) — foundations, slabs, roof structure and the structural certificate.
  • Land surveyor (SAGC) — legal boundaries, pegs, contour surveys and subdivisions.
  • Quantity surveyor (SACQSP) — pricing, bills of quantities and certifying contractor payments.
  • Project manager (SACPCMP) — programme, coordination and often the health & safety appointment.
  • Contractor (NHBRC + CIDB) — the build itself, with your home enrolled for the five-year warranty.

The order you appoint them

Geotech and land surveyor first if the land is vacant. Then architect for concept, then structural engineer once the design is stable, then QS to price it, then contractor. Appointing a contractor before the design is priced is the single most common way private clients blow their budget.

Checking anyone before you pay

Every council keeps a public register. Ask for the registration number, look it up, and confirm the category matches your project. A lapsed registration is as good as none — the certificate on the wall may be five years old.

Optional quiz · 4 questions
Build team quiz

Two minutes. See if it actually stuck.

Next step
Put it into practice