Build a healthy organization by thinking like an engineer
Greenhouse’s VP of Engineering shares a framework for defining team structure, values and culture
One of the hardest things about scaling a company is effectively growing your team. In that respect, Michael Boufford is a bit of an anomaly. Hired as the first engineer at Greenhouse in 2012, he’s since scaled his team to 60 engineers building and managing software for 2,000 companies. And he’s done so with almost no voluntary attrition.
What’s the key to his success? It turns out engineers have the perfect skillset for figuring out what a team—its structure, values and culture—should look like.
Engineers have a system for designing systems, and the processes they’ve learned can be applied to building everything from software to organizations.
Whether you’re an engineer or not, you can use the process Mike outlined at FirstMark’s 2017 CTO Summit to help you thoughtfully scale your business.
Step 1: Define the problem
Identifying the problem or need is the first step in any engineering issue, and also in designing a great organization. For the latter, Mike suggests hitting the whiteboard and doing some brainstorming on the ideal company you would want to be a part of.
Make a list of all the aspects of your utopian workplace: what should your org look like overall, whether you’re entering as a junior developer, middle manager or executive? Answers will vary depending on your personal goals and values.
To guide you, here’s the “developer utopia” Mike defined for Greenhouse:
Now distill your goals down to a defining statement that encompasses the most important values from that list. Mike’s defining statement was:
Hire and retain a stable and self-healing team of high-quality software engineers who are productive, ever improving, empowered, and respectful of each other.
Your chosen mantra will anchor your ideas and act as a guiding star for the rest of the process.
Step 2: Requirements Gathering
To extract requirements, look back to your work from step one. From your problem definition—your defining statement—you can figure out the requirements necessary to achieve it.
Out of his defining statement, Mike’s requirements became:
- I want to hire high-quality and respectful software engineers
- I want to retain a stable team
- I want my team to be ever-improving
- I want an empowered and self-healing team
- I want my team to be productive
It’s essential you understand your limitations during requirements gathering. If you aren’t able to pay Google salaries or entice candidates with luxurious amenities, you will have to sell them on something else. Maybe it’s your company vision, or giving employees more autonomy.
Consider these questions about your limitations:
- What are my expected inputs and outputs?
- How much time do I have…am I an early stage or late stage company?
- How much money do I have to spend?
- Is there an available supply of the talent I’m looking for?
- Are my expectations realistic given these considerations?
- Is this the most urgent problem to solve?
Think about how your constraints influence what you can do, then prioritize your requirements accordingly.
Step 3: Exploration and Design
Take your prioritized requirements and start asking questions about each. How will a particular requirement influence employees? What metrics will be used to measure success? Are you creating what you intend to create?
Start with a key requirement and break it down into smaller and smaller modules until you’re all the way down to the function level.
By combining all the small decisions made at the minute level, you will compose a strategy for creating your ideal organization.
It’s not just your org chart; it’s your value system, your release process. It’s what you reward, ignore, and scold. All of those things can be defined in much the same way you would design a program.
Including other team members at this stage is crucial, emphasizes Mike. Your team also has a deeply-vested interest in the decisions you make as a manager, and can help you filter out any bad ideas.
Don’t forget to seek inspiration in other companies as well. Look at what they do right and how they solve for similar problems. There are design patterns out there, and you don’t have to reinvent the wheel for every single requirement.
Step 4: Implementation
Once you’ve answered your questions and designed your structure, it’s time to implement. For Mike, there were foundational boundaries, processes, and protocols he started by putting in place, including:
- Always be improving
- Be respectful in communication
- Ensure professional development conversations on a regular basis
- Support change from the front lines
- Managers work for the engineers
Your starting points will be unique to your vision, and you won’t be able to implement everything at once. Start with your MVP — the Minimum Viable Product in this case being a simple process that you can use to build feedback.
Remember, not everything is going to be easy to roll-back. Be mindful about which cultural standards you choose to set in the beginning, as some of them are going to become foundational. For example, if you don’t start off emphasizing complete transparency with customers, it may be hard to change that culture of accountability down the road.
Step 5: Validation
Get team feedback regularly by holding retrospectives, having one-on-ones and asking probing questions about which parts of the organization are working and which ones aren’t. All of this will provide useful feedback and validation so you can make the right types of changes and trade-offs.
Mike also recommends leveraging data. Look at metrics such as:
- Is your attrition rate high?
- Is the work getting done?
- Are you able to continue shipping, or is everything grinding to a halt?
- Do people seem happy?
Send out surveys with specific prompts and questions to get a pulse, especially with larger groups. Finally, Mike says, continue iterating! Repetition is how you improve and grow your strong, healthy organization.
Greenhouse spoke at an event organized by FirstMark. To get more helpful tips on scaling your company, RSVP here for our next public event.