“Early in my career as an engineer, I’d learned that all decisions were objective until the first line of code was written. After that, all decisions were emotional.” –Ben Horowitz, in The Hard Thing About Hard Things
Those who have never coded for an extended period of time do not recognize how much art and emotion goes into the masterpiece of software development.
Engineers rightly feel great pride in their work product. Great code does not just perform it’s function. It is well written, almost poetic in structure and flow. It is well-tested. It is malleable to future changes and future hands that may need to work on it.
Managers of engineering teams should understand this emotional connection. They should not view engineers as emotional or touchy people. But they should realize that there is no difference between creating a masterpiece of software and architecting a masterful building in how the creator views the creation.
Suggestions to change the code or constantly shifting user requirements naturally rub against the emotions. While those situations are important and unavoidable to some extent, they should be minimized and tactfully handled.
I love it when my colleagues get emotionally invested in their code. It means they love what they are doing and are investing of themselves into their work.
What are your thoughts on how coding brings an emotional connection to the work product?