The ideal organizational structure for product and engineering depends on the stage of the company and often changes as a company grows. This allows the organization to accommodate growing complexity.
Early Stage: Monolithic "Make the Product" Organization
A typical structure for seed-stage startups is to have a single organizational unit for all product and engineering functions, led by the CTO. This allows for rapid iteration as a startup searches for initial product-market fit
Growth Stage: Dual "Define the Product" vs. "Build the Product" Organization
As the company grows, it often makes sense to split the tech organization into two units: The product organization (led by the CTO or CPO) covers product management and often contains innovation-focused units such as data science, in some cases product marketing as well. The purpose of this unit is to define what the product should be and what the long-term roadmap of the product will look like.
A separate unit, typically led by a VP of Engineering, is in charge of actually building and running the product, covering engineering, devops and QA.
The advantage of this structure is an increase in executive bandwidth and a clear separation of responsibilities. Following agile methodology, it is also a clear separation between definition and delivery disciplines. The downside is that the CEO in this structure might need to act as a "referee" when conflicts about priorities and resources arise.
Mature Stage: CTO as Staff Function
Large scale-ups with a maturing structure often move the CTO into a staff function with innovation resources that are focusing on long-term planning and projects outside the mainstream of product development. The product function is often lead by a CPO, while a VP of Engineering continues to lead the engineering and delivery organization.
The advantage of this structure is that it frees up the CTO from operational duties to focus on visionary innovation.