Since I started thinking about the organisational structure of technology companies, I’ve always gravitated towards flat hierarchies.
Now after having experienced a couple of them I’m almost convinced there are no such things…
When I joined linkedcare we were four in my team, three developers and one designer. I spent 99% of the time coding and the other 1% just making sure we were aligned between us.
Now, two and a half years later, we are fourteen. four Designers, two DevOps and eight Developers. I spend 100% of my time getting everything aligned and making sure the rest of my team is happy, 0% coding…
So I guess I’m a manager now… (chills going down my spine as I write this…)
Is having this kind of managerial role in a team unavoidable? Or I’m I just missing something here?
Let’s figure this out together following a couple of steps:
- Which are my day to day tasks?
- Making sure I see the whole picture of where we are going and what we need to get there, or by other words, understanding the context of the business, mission, product roadmap… and making sure that I can clarify any doubts pertaining to this subjects whenever a member of the team needs it;
- Assuring everyone is motivated;
- Protecting the team from outside worries as much as possible (like investment seeking tasks and others);
- Raising questions about the architecture solutions being made, making sure the right factors are being taken into consideration;
- Making the bridge between this team (Engineering) and all the other units in the company, like support, business development, marketing… ;
- Figuring out if there are inefficiencies in the team workflow that can get better with small improvements or by implementing new processes;
- Putting the new processes into place and making sure they are adopted in the best possible way.
- Could/should they be done without having this specific role?
This knowledge and overview capacity I have, or at least I think I have, could, arguably, be distributed by everyone.
Up to a point I even argue that it should, problem is, I don’t see how it would be sustainable to keep this distributed knowledge past a certain product / team dimension.
Not everyone can be present at every discussion with outside stakeholders.
If a question arises inside the team, who will the team member look for clarification?
Each team member have specific implementation tasks that require lots of focus. How can we make sure that at any time there is someone overlooking the whole picture while keeping the mentioned focus on the task at hand?
I still believe we should aim for a flat hierarchy and that there’s no need for a manager but a Guardian of the Context is indispensable ;)