Do Not Have (Software) Babies

How Attachment Leads to Emotion

A major impediment to your career is getting overly attached to a feature, library, or application. Especially ones that we have invested a significant amount of time into. There is a reason for this-when we invest time and energy into something, our perception about it changes. You and your organization should avoid this.

Bad things can happen in your organization when people get too attached:

  • We often code to make things purposely complicated, and only we know how it works
  • Consistent refactoring and churn when resources should be allocated to higher priority items
  • We attempt to excuse why X, Y, and Z are necessary, thereby adding complexity
  • We make use cases for a particular technology when an alternate one would do a better job

Be Your Biggest Critic

Ownership is not a bad thing. Taking the lead and owning a piece of an application can be a good thing. When you write something, you should be its biggest critic as well as your own. There is tremendous potential in your ability to freely and openly criticize your own work. This often leads to a better overall product!

It will probably get replaced anyway

Nothing lasts forever--especially in software. You should stay away from getting overly-attached to your software not only for the reasons listed above, but also because there is a very high chance it will be replaced in the future. There are some edge cases, but the only consistency in software is that something new and shiny is on the horizon.

Don't marry your software. Date it.