Who Owns the Code?
“The business, the code provides value to the shareholders, the management, and the employees. It belongs to the company.”
What a great answer. Legally and technically correct it casually strips any passion and desire from the system reducing the programmers to mere unimportant artifacts in the process. Who owns the code, why the business, of course, those fungible commodities called programmers have no say in the matter. Treat them as such and you will be rewarded with cheap, replaceable labor and commodity code.
In 1593 Caravaggio was employed to paint “Flowers and Fruit” by Cesari. In the art world, at the time, this was the lowest of the low in the class hierarchy. Caravaggio was given little to no freedom. While working for Cesari the great Caravaggio was relegated to painting by numbers and instructions. His art sucked. Yet in 1594 when he found a patron in Monsignor Petrignani he was able to set out on his own and let his art and passion shine through. In Graham-Dixons biography it is described quite eloquently just how much skill and talent Caravaggio expended on the just still life portion of the adjacent painting (Boy bitten by lizard). The biographer concludes: “But the still life detail is only a detail, a grace note in a picture…” Even though this portrait was for sale who do you think really owned the work? The purchaser … or Caravaggio?
When we set our programmers free and let them feel ownership and pride in their work the rewards are exponential. The flourishes that arise from the pride of their work are immeasurable. Entity Framework is good enough, yet the people at Stack Overflow were not satisfied so they created Dapper. If their team didn’t own the work would they have cared enough to shave milliseconds so Joel would save money on a few extra scaled servers? Doubtful.
Without passion would Carmack have stood in the shower and marveled at the reflection and invented Carmack’s Reverse? Nope. The greatest achievements in programming have come from a deep concept of artistic ownership. Why then, do so many enterprise teams insist that no one owns the code? Let your team’s passion shine through and let them own the code and you will be rewarded for your efforts. Is “flowers and fruit” what you want for your customers at the end of the day or will you empower your team to live in the Renaissance?