Don't lower the bar in hiring, look for people as good or better than your existing employees. Create explicit requirements for each position so applicants are measured to the same standard whoever conducts their interviews.
2. Hire engineering managers with deep technical knowledge
This is essential for tech companies in hypergrowth. You need managers to mentor and support your junior employees and new hires. You can’t rely only on senior engineers for this, they’re busy coding and interviewing.
3. Scale decision making
As your organization grows you stop being able to make all the decisions yourself. Rely on your team and managers to help you shape the environment. The leader’s job isn’t micromanagement, but empowering employees to make decisions and stick to them.
4. Planning in hypergrowth
It’s impossible to plan for everything in hypergrowth. You need to rely on high-level estimates when making decisions, and count on finding a lot of unforeseen complexity when implementing them. Take each step to make the next step forward more clear.
Whether you come from software engineering, sales, marketing or any other field, nothing can prepare you for being a CEO. Running a company requires experience in every discipline. You must learn on the fly.
2. The engineering background can help
A background in engineering helps you when you need to iterate your strategy in any field. Come up with potential solutions, set expectations for them, use data, and make rational decision. Software engineers are good at this.
This is the best way to know you’re doing something wrong. Take all the feedback you can get, and consider it carefully. Some may be way off, but you can find some of your weaknesses by paying attention.
2. Work on your self-awareness
Your biggest enemy is your autopilot. Your defense mechanisms tend to kick in way too early, and they get in the way of cooperation. Becoming more self-aware helps you master your instincts and salvage situations that may spiral out of control.
People are sitting at home all day working, so you can’t bet on their forming bonds getting them past the early days in the company. You need to manage energy levels, create opportunities for bonding, and make onboarding useful.
2. Make it flexible
Make your onboarding process modular, so you can keep iterating in small increments. Just like microservices.
Different time zones also require flexibility. Make sure to provide opportunities for facilitated and individual learning whenever possible.
You may be told that an engineering team underperforms, but in reality the expectations may be set too high. Keep an open mind as you examine the people, process and technology aspects of the team.
2. Set realistic velocity goals
You need to set up proper goals for the team. In software engineering, the correct way is to set up time distribution among different aspects of the work, like feature development, maintenance, security and support.
It’s usually best to prioritize active ways for sharing knowledge, and be pragmatic about how much effort you put into each method. Make sure you get the most benefit with a reasonable investment.
2. Documentation is overrated
You can’t ignore documentation, and there are key things you always need to document. However in many situations you can get away with less documentation than you’d expect, so look for opportunities to save some time and effort.
1. Use skips to build relationships and share insight
This is the very idea behind skip level meetings. You need them the most, when you’re not involved closely with the team’s work on a daily basis.
2. You get feedback about the in-between manager
Management doesn’t have hard metrics. You can only tell how well a manager is doing by getting feedback from their team. It’s not spying. Everyone should know about it, and you can either reward them or help them improve.