J'ai entendu ce terme pour la première fois il y a une quinzaine d'années.
Ma compréhension est similaire à celle décrite dans l'article de Wikipédia et dans un article de TechRepublic : vous travaillez avec vos collègues de manière "amicale et collégiale dans laquelle les sentiments personnels sont mis de côté". Cela inclut des choses comme faire des évaluations par les pairs avec un respect mutuel et un désir d'apprendre, et ne pas se sentir comme si vous "possédez" du code, donc si quelqu'un a une suggestion ou dit qu'il y a un bogue ou doit le changer, vous ne vous défendez pas il.
J'ai également pensé qu'il s'agissait en grande partie d'avoir une attitude qui crée de bonnes relations avec d'autres programmeurs dans le but d'améliorer le code. Je ne l'ai donc pas vu comme incompatible avec la fierté de la qualité de votre travail ou le regret si quelque chose que vous avez fait a causé un problème à votre client.
Cependant, une réponse à une question récente me fait penser que certains autres programmeurs ont des compréhensions différentes de la "programmation sans ego". Quelle est donc la bonne définition? Et quelles sont ses implications?