Any successful software company is going to consist of a thin layer of developers, creating software, spread across the top of a big abstract administrative organization.
The Development Abstraction Layer