Common Engineering Management Problems At Early-Stage Startups
I’ve seen early-stage startups make the following engineering management mistakes again and again. Consult this list and see if you recognise any, in which case you can take corrective action:
Problem: Missing critical skills, like DevOps.
Solution: Make a copy of the critical skills checklist, tick skills you have in the team, and start hiring for the remaining.
Problem: Bus factor of only 1.
Solution: Identify critical skills for which you have only one person, and hire another.
Problem: Mismatch between team size and ambition.
Solution: Hire a dozen or more engineers to match your ambition, or downsize your goals for the next year to match what you can do.
Problem: Too many initiatives at once: improving desktop UX. Mobile UX. Bugs. Reliability. Features. Scalability. Responsive customer support…
Solution: If you have a small team, take up one or two initiatives, reach the goal, stop working on them, and only then take up other initiatives.
Problem: Too many stakeholders (marketing, sales, support, UX, founders) giving work directly to engineers.
Solution: Have one person play the role of product / engineering manager, and have all requests go through him.
Problem: Myopic decision-making that amounts to taking on ongoing overhead every month which the startup can’t afford.
Solution: Before you make a decision, ask yourself what ongoing costs it will impose on your team. For example, buying a car means committing to paying every month for fuel, insurance, maintenance and eventual replacement. If you can’t afford that, or if there are more important things for your team to do, don’t buy the car in the first place.
Problem: Starting work at the last minute when it’s needed.
Solution: Recognise that projects take a certain amount of time and plan ahead.
Problem: Demanding that things be done sooner than possible.
Solution: Recognise that you can speed up only if you reduce scope or quality.
Problem: Interrupting engineers mid-sprint with new tasks.
Solution: New tasks should wait till the next sprint, even if they’re customer requests, “urgent” or “important”.
Problem: Taking on technical debt indiscriminately.
Solution: Pay it down constantly or, as with financial debt, you’ll eventually end up paying ₹200 for ₹100 borrowed.
Problem: Flip-flopping on decisions, changing priorities all the time.
Solution: Instead of being swept away by the chaos of a startup, take a step back, brainstorm with stakeholders on priorities, reach an agreement, put it in writing, share it with the team, and stick to it.
Problem: Expecting estimates to be accurate.
Solution: Recognise that projects can take multiple times the estimate, and plan for it.
Problem: Top-down decision making.
Solution: Top-down + bottom-up decision making.
If some of these problems resonate with you and you’d like me to improve them: