"Flat organizations is an illusion."
We learned throughout the years that for work to be done properly, an organization needs to function by having departments focusing on their own respective work (and carrying one of our mantra -- focus on a few things and be really good at it).
Right now at Mashup Garage, we have these following main groups we call
While they look like they are a lot of departments and roles, there's actually a lot of overlaps and crossovers between those roles!
You see that the project managers fall under the support team, we see them as crossover teams because that's what we believe they should fall into, having our project managers closely work with our executive team allows us to resolve matters fast.
They have their own usefulness. One may be skilled but it doesn't mean they can do what they're required to do.
A person's time and attention is limited. A full-stack developer can only be useful if they're available.
When we were starting up, we used to do a lot of things until we discovered that it's getting harder and harder to manage them. Speed and quality deteriorates the higher the volume of tasks a person works on.
We free up our time by so establishing proper roles so we can do our things better, to do more important things, and be good at it.
There will never be a flat organization. Look around at your workspace, someone is always reporting to someone.
Nevertheless, we encourage an open environment where people can speak freely. We do hate titles as much as you do, but we require our members to understand and respect each other.