1. About half of the tech companies didn't suffer badly from the pandemic, and almost as many experienced positive changes as negative changes. Only about 1 in 3 companies was forced to downsize at all.
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.
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.