Cowboy Coders Are A Double-edged Sword

They should never be put into leadership roles

Sacrificing quality for speed has its place. However, if you’re working on anything other than a weekend hobby project, or an aggressive startup where speed to market is all that matters, it’s usually not worth it.

In software engineering there’s a specific programmer archetype called the “Cowboy Coder”. It refers to a software engineer who tends to make decisions solely based on short-term productivity gains while sacrificing long-term stability.

I’ve worked with several engineers who I would put into this category and it’s the same pattern every time. At some point in their career, they were praised for their “fast problem solving” skills. They then embedded that into their self-image as the way of doing software engineering.

Then one dark day the moment of reckoning finally comes when there’s a production bug, or a massive delay in project timeline because of a decision they made to cut corners. This usually doesn’t change their approach to work either. Ironically, they can often leverage those shortcut cowboy skills to get themselves out of this situation.

They should never be put into leadership roles. They simply cannot or will not look at a software project with a larger picture that encompasses all aspects of the business. They rarely consider their impact on other people or the business.

If you can’t think of anyone on your team who is like this, it’s probably you. Or your company has successfully weeded them all out. This only happens at the most mature engineering organizations or larger enterprise companies where doing anything at all takes months.

If you have a problem that needs to go away right now, consider giving them some work as a contractor. Avoid hiring them as full-time employees for long-term growth.