Setting Up a Self-Sustainable Organizational Structure: A Co-Founder’s Perspective
Problem
Most first-time founders will grow their team from scratch and will try to figure out how to get themselves out of the weeds along the way. As our engineering team grew quickly, I ended up having 16 direct reports. Without a thoughtful layered management structure or process, I had to manage pretty much everything: I handed out tasks, managed sprints, reviewed most pull requests, and still had to focus on hiring and my other responsibilities. This was obviously not sustainable, and I knew I needed to focus on both delegating more of my responsibilities and enabling the team to be more autonomous.
Actions taken
I wish I had approached my role early on with the tenet that I needed to minimize my direct responsibilities, rather than maximize them. What I came to realize is that if there was any particular task that I had to do myself and there was no one else who could do, that was itself a problem to be solved. To get myself out of that boat, for each particular task or responsibility, there were only a few possible scenarios:
- If there was something short-term and non-repeating that I could delegate -- I would delegate it.
- If there was something short-term and non-repeating that I couldn’t delegate -- I would do it that one time.
- If there was something long-term that I could delegate -- I would delegate.
- If there was something long-term that I couldn’t delegate -- I would start thinking immediately about how to get it off my plate.
If I couldn’t delegate, I would train or hire someone. If hiring wasn’t an option (for example, if we didn’t have the budget), I would have to accept that I would have to do it for a while. However, any delegation of work would be based on an assessment of risk. For example, code review is one of the first things to offload so that the team can manage code quality without you, but when delegating that at first, you do risk drops in quality and shipping bugs to production.
To help get comfortable with the delegation, I split all of the reviewing and monitoring that I did of the team into two main buckets: those areas where I could afford to have reasonable mistakes be made, and those areas where any mistake would materially impact the company and couldn’t be permitted. An example of an area that I needed to keep an eye on myself was security and compliance: even one issue could seriously damage the company and hurt our users, and so it was more important for me to stay involved with it than to delegate. That said, that list needed to stay very short -- otherwise, I wouldn’t really be delegating, I wouldn’t get any time back, and the team wouldn’t really have autonomy. Everything else was something that we had to accept some measure of risk, even if it meant something like the site going down.
Delegation is all about clear expectations and accountability. If you make a mistake, you are expected to fix it. Depending on the situation, sometimes you will have to fix it without any delay. It took some time for people to get used to owning responsibility and that I was serious about not going into “hero mode” and stepping in, but they did.
Lessons learned
- Founders should work towards shedding responsibility, not hoarding it. “Hero mode” is a crutch and should be avoided.
- An autonomous team should resemble a self-healing system. I already knew how to build high-availability systems, and I approached building the team the same way. The system should do what it is supposed to do, heal itself when it breaks, and have monitoring that will proactively alert you if something breaks down and can’t fix itself.
- Be explicit -- with yourself and with others -- what are the things you can and can’t delegate.
Be notified about next articles from JJ Fliegelman
Connect and Learn with the Best Eng Leaders
We will send you a weekly newsletter with new mentors, circles, peer groups, content, webinars,bounties and free events.