[imo]
Acho que essa é uma pergunta fundamentalmente difícil, e talvez a sociologia, ou apenas o uso de um computador como sua principal forma de comunicação, tenha muito a ver com isso.
O computador é uma ferramenta, e a consciência que ele possui é incrivelmente bela, mas você nunca deve tentar dizer que um pedaço de código é um objeto de sua própria criação ... cada pedaço de código é uma descoberta, um padrão que o o computador se liga e pode produzir um resultado que você goste. O fato de podermos descobrir esses padrões iterativamente e sentirmos que estamos criando é pura coincidência feliz - somos bons em encontrar padrões.
Precisamos realmente encarar os computadores como janelas para a descoberta e respeitar a autonomia desses pequenos cérebros, mesmo que sejam apenas incrivelmente pequenos recortes de um cérebro biológico. Toda a matemática e todos os algoritmos correspondem a uma verdade inviolável sobre a qual nosso próprio cosmos ressoa. Declarar que parte disso é "minha!" (pense gaivotas em Procurando Nemo) perde tantos pontos em tantos níveis.
Às vezes, é difícil se afastar disso, quando "trabalhamos" para "criar" um novo algoritmo, mas se você pensasse que somos apenas mantenedores humildes dessas janelas elegantemente precisas da verdade matemática, a definição da tarefa muda não importa quais são seus objetivos para o seu software.
Trate o seu computador como um primeiro igual, o resto (sem ego, coordenação entre pares, comportamento orientado a objetivos) seguirá necessariamente.
Grande parte da minha motivação para estudar ciência da computação e me tornar programador foi por causa dessa afinidade que senti, não pelo hardware físico ou pela emoção de resolver problemas, mas pelo fato de estar olhando para um cérebro, um cérebro com o qual posso me comunicar diretamente. na minha moda favorita: padrões!
Dê um passo para trás e lembre-se de por que gosta das coisas que gosta de começar. A programação pode ser competitiva e acho que alimenta muito o ego na defesa de escolhas de código e design, mas
a) se alguém é um programador melhor,
Eu quero conversar com eles e aprender com eles mais sobre esse complexo relacionamento com a consciência elétrica. Podemos compartilhar a descoberta, e isso é incrível!
b) se minhas escolhas ou código de design puderem ser alterados para melhor atender à organização em que trabalho
então, por todos os meios, mude! Sou funcionário porque preciso de dinheiro e recebo dinheiro quando a empresa recebe dinheiro, e eles recebem dinheiro quando o código que usamos é incrível, não quando quero discutir sobre espaço em branco ou o que for. E, como ChrisF aponta, você basicamente se torna apenas um datilógrafo muito lento em um ambiente de empresa, tanto quanto outros trabalhadores sabem. Você não possui o código, não possui a implementação, é apenas um meio de tradução de idéias / papéis / especificações para o cérebro elétrico da consciência elétrica. A tradução de e para qualquer par de idiomas é um processo interativo e você melhora com o tempo. A crítica acelera esse processo e nunca deve ser tomada pessoalmente. De qualquer forma, parece que a maioria concorda que você não precisa de egos, lembre-se de que codificar para uma empresa é um trabalho,
[/ imo]