This doesn’t resonate with me, because so much of programming is craftsmanship. Often the only purpose of some aspect of programming that matters is that I made it. I crafted it. The design that exists matters because I made it. I didn’t pay someone else to do it. I didn’t copy it. I made it. The act of making it is very fundamental.
I think it would be similar to artwork. There’s no such thing as egoless art making. It’s literally the product of the artist.
Programming is a creative act and requires substantial creative mental force. Anytime we are creative, we are putting ourselves out there and making ourselves vulnerable. This naturally causes us to be defensive. The ego connotation misses the root of the problem. We are defensive only because of our insecurities in our identities, not the identity itself. The code we write is an expression of our identity. I find it similar to an artist that paints a portrait and immediately gets critiqued.
Being able to take this criticism without feeling that it is an attack on your expression of yourself is a skill that is learned. I think it only comes from one or both of two things: 1) realizing that you are expressing yourself and that some may find it useful and others won't and be okay with that or 2) be in an environment that doesn't immediately judge your production. I find the latter scenario to be the building block for the former.
In any creative venture, there needs to be an environment of acceptance of failure. If people are comfortable with failing, then they will succeed.
Yep, and you can stop after that. Process is the only important thing. After that you'd better to distinguish you and your program/design. It's mere artifact without value.
I think it would be similar to artwork. There’s no such thing as egoless art making. It’s literally the product of the artist.