Eu ouvi esse termo pela primeira vez cerca de quinze anos atrás.
Meu entendimento é semelhante ao descrito no artigo da Wikipedia e em um artigo da TechRepublic : você trabalha com seus colegas de uma "maneira amigável e colegiada na qual os sentimentos pessoais são deixados de lado". Isso inclui coisas como fazer análises por pares com respeito mútuo e desejo de aprender, e não sentir que você "possui" o código. Portanto, se alguém tem uma sugestão ou diz que há um bug ou precisa alterá-lo, não fica na defensiva isto.
Eu também pensei que se tratava basicamente de ter uma atitude que cria boas relações com outros programadores com o objetivo de melhorar o código. Portanto, não vejo como incompatível orgulhar-se da qualidade do seu trabalho ou me arrepender se algo que você fez causou um problema ao seu cliente.
No entanto, uma resposta a uma pergunta recente me faz pensar que outros programadores têm diferentes entendimentos sobre "programação sem ego". Então, qual é a definição correta? E quais são suas implicações?