Skip to main content

How to manage incompetent software engineers

In an early-stage startup, where every penny counts and the margin for error is razor-thin, the most effective way to handle incompetent software engineers is to part ways with them quickly.

Startups operate at a pace and intensity that demand self-reliance and rapid skill acquisition, with successful team members taking on responsibilitie that typically fall outside what you would expect from a similar role in a more established company. If you have a front end engineer taking on design resposibilities, yet they're incompetent at both, their impact is intensified.

Having spent years attempting to work with underperforming team members, I’ve learned that perseverance and empathy alone cannot bridge the gap of incompetence. Managers often try to shield struggling developers by assigning simpler tasks. However, much like there’s no such thing as a "partially competent" airline pilot or heart surgeon, there’s no room for a "somewhat competent" software engineer in a startup environment. If someone lacks the core skills to be a software developer, they’ll struggle even with the most basic responsibilities.

Some may turn to training as a solution, but this often proves futile in a startup context. Competent developers are typically self-driven learners who continually improve on their own initiative. If an individual hasn’t demonstrated the capacity to learn and grow independently, pouring resources into training them is unlikely to change that. In a startup, tough decisions are inevitable. Prioritizing a high-performing team ensures the company’s limited resources are invested in individuals who can deliver value and grow with the business.