February 21, 2013 · 1 min read
As a software development manager I’ve met two types of engineers. I call them cowboys and artists.
Artists love the beauty of the systems they create. They dislike maintaining legacy code, preferring to start from a clean slate—a blank canvas. Given this opportunity, they create works of elegance.
Cowboys revel in their ability to wrangle any system, no matter how obfuscated. They are happy to wade into a mess and bring order to chaos. They are the rangers, the buckaroos, the heroes who save the day.
These types are not completely at odds. The best artists are perfectly capable of cleaning up any mess, but they don’t enjoy it—the effort leaves them drained, whereas a true cowboy is exhilarated by the adventure. Similarly, the best cowboys produce excellent, clean code when starting from scratch. I have met excellent engineers of both types, and gotten along with each very well. I’ve also seen them get along with each other very well.
But as an engineering manager, it’s important to understand these types and know where your team members fall. Artists are happiest if you allow them to work to the highest standards, preferably starting from nothing. Cowboys feel most rewarded if you recognize their skills at untangling the worst messes and credit them as the Navy SEALs of the team.
A good manager will be able to work with either. A good team could probably use both.
Comment on Hacker News
Thanks to Andrew Miner for commenting on a draft of this post.
These days I do most of my writing at The Roots of Progress. If you liked this essay, check out my other work there.
Copyright © Jason Crawford. Some rights reserved: CC BY-ND 4.0