See what just happened there? The author jumped to the conclusion that "software companies" employ nobody except "programmers". That might be true for a tiny start-up, but once you reach a certain size, all types of other jobs spring up:
- Managing payroll, health insurance and other benefits
- Sales and marketing
- Legal and accounting: someone has to negotiate the contracts for data center services (even if all the services are outsourced); someone has to pay the company's bills; someone has to do the taxes and other legal paperwork (lots of extra paperwork if it's a publicly traded company); someone has to reimburse employees for travel and other expenses.
- Recruiting
Imagine a software company with just a hundred employees (not a very big company at all, compared to Facebook's 5000 or Google's 45000) that consists of just people working from home. It doesn't seem to scale.