In the world of web development, emotional detachment is often heralded as a virtue. It is usually not stated quite so explicitly; but, it manifests itself in how people describe company cultures and how engineers feel about their own code. I believe this concept to be toxic. And that it does a disservice to both the engineers who build software and to the users who eventually consume said software. I believe that the true virtue is being emotionally attached to your code. I believe the true virtue is loving your code; which means celebrating when your code does well and - more importantly - taking responsibility when your code does poorly. I believe that the true virtue is viewing code as an extension of one's own being.
It's hard for me to articulate why I feel this way because, for me, it is the natural state. It would be like trying to explain the virtues of breathing - it is atomic - it is not something that can be subdivided. It is not a part of the whole, it is the whole.
When a user consumes a piece of software that I've written, they aren't experiencing the software - they are experiencing me. They are clicking through the sum-total of my passions, my empathies, my tribal knowledge, my love of experimentation, my ability to think and communicate, my sense of urgency, my long-term vision, and my desire to build beautiful things that change lives. They are experiencing my mind, my heart, my soul. They are benefiting from my strengths. And they are most definitely suffering from my inadequacies.
I do not understand the mechanism by which this natural instinct is destroyed. As such, I cannot tell other developers how to protect themselves against the toxicity of detachment. It makes me think of the last scene in Blade Runner wherein the anti-hero (Rutger Hauer) saves the protagonist's (Harrison Ford) life. The monologue states:
I don't know why he saved my life. Maybe in those last moments, he loved life more than he ever had before. Not just his life - anybody's life - my life.
Love is how we connect with the world. And, until you remember what it is to love your code - what it is be emotionally attached to your code - you will never truly be able to connect with your users.
Never read blog like this before. wow its nice. It shows how the coder loves the code and describing in very attractive way. Thanks
Thank you - I'm glad you found it interesting.
I think that as in many cases, these are two undesired extremes.
Emotional attachment can derail code quality because developers will protect their decisions because they're to emotionally attached to what they wrote, even if it's quite clearly the wrong decision.
So, best option in my opinion is enough attachment to be invested, but enough detachment to receive criticism gracefully.