After rapidly scaling teams from 0 to 50+ four times in the last 3 years, I believe this is the only way to structure your engineering team.
The 7 different personality types in software engineering - a guide for managers and software engineers