É possível ter programação sem ego ou é mesmo desejável?
Como uma profissão, parece que queremos mostrar a mais recente técnica, técnica ou dizer "olhe para este incrível pedaço de código que escrevi". No entanto, podemos ficar muito defensivos quando solicitados a enviar itens de trabalho para revisões de código ou obter comentários negativos de outros programadores (ouvir o termo WTF, nunca foi um bom sinal).
Como profissão, podemos sentar e analisar um pedaço de código, dados ou arquitetura por seus méritos ou restrições e por uma maneira calma e respeitosa, sem causar ofensas ou antagonizar nossos colegas, ou somos apenas o arquétipo do personagem Dilbert, enfurecido contra o sistema?
quando o seu foco está em fazê-lo e fazê-lo corretamente, não importa mais se a solução foi sua ideia ou não
Nesse ponto, seu ego deixou o prédio - e é muito mais provável que você aprenda alguma coisa!
fonte
Há muita área cinzenta no contínuo de confiança - arrogância. Prefiro ter alguém que se apropria do seu trabalho e busca a excelência com base no mérito e não na ilusão.
Confie em mim, você escreverá muita porcaria que falhará e você será o culpado, para que você também possa tirar vantagem quando tudo correr bem.
Quando penso que algo está errado, eu digo. Fique à vontade para me dizer que estou errado e esteja preparado para fazer o backup. Não será a primeira nem a última vez.
Se você não quiser críticas (obviamente é possível usar tato e restrição), escreva o código apenas para seus olhos e execute-o no seu próprio computador. Quem já se destacou em alguma coisa teve que lidar com os críticos.
fonte
Sim, a programação sem ego é bem possível. Eu fiz a programação de "manutenção" por mais de 1/2 da minha carreira profissional, e a segunda coisa mais importante [1] é garantir que o próximo cara possa ler meu código. Temos dois programadores aqui no escritório [2] que escrevem em um estilo tão distinto que se pode dizer imediatamente quem os escreveu. Chamamos os pequenos pacotes de código e alegria que ele deixa para nós "obstáculos".
Alguns desenvolvedores acham que o código que escrevem é o resultado do suor e do sangue e ficam muito defensivos quando questionados (como durante as revisões de código). Tente não atacá-los durante as revisões de código e, no futuro, será mais fácil discutir o código, pois os comportamentos de postura e defensivos desaparecerão.
Notas:
1. O mais importante é corrigir o erro ou escrever o recurso corretamente.
2. A maioria desses aplicativos vem sendo remetida há mais de uma década; portanto, é bem provável que eles estejam disponíveis por muito tempo depois que eu partir.
fonte
[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]
fonte
Eu acho que isso está relacionado à maneira como você vê seu código. Bons programadores estão constantemente em conflito entre ver os resultados como "arte" e como "mercadoria" (ou quaisquer palavras que você queira incluir).
Quando vemos o código simplesmente como algo que somos pagos para produzir, é muito fácil evitar problemas relacionados ao ego.
Ao ver o código como "arte" que criamos, o ego realmente tenta entrar lá. Afinal, qual artista produz coisas de que não gosta?
Portanto, dependendo da sua visão do seu código, você pode ou não ter um apego emocional ao seu código. Preste atenção ao ato de equilíbrio, e você fará bem. Queremos criar código como se fosse uma arte da mais alta qualidade, mas queremos lançá-lo como uma mercadoria barata. Pense do ângulo apropriado nos momentos adequados e você fará bem.
fonte
O ego é simplesmente um senso de autoestima. O efeito das emoções relacionadas ao ego pode ser positivo e negativo.
Muitas vezes me sinto orgulhoso (o ego fica excitado ) quando realizo algo difícil, ou encontro uma solução simples e limpa para um problema complexo ou aprendo a aplicar uma nova metodologia a um problema. O que eu acho que é benéfico e me dá um chute motivacional de origem própria. O cérebro está conectado para liberar substâncias químicas saudáveis quando isso acontece. Você pode se tornar viciado em sucesso.
Existem aspectos negativos de confiar no seu ego, especialmente em ambientes de equipe; isso pode ter um impacto contraproducente. Se você se apegar a algum projeto, solução ou tecnologia, ficará na defensiva quando for ameaçado (por uma nova solução, tecnologia ou pessoa com idéias). É importante manter a objetividade e não atacar sua solução pessoalmente.
Descobri que a melhor maneira de lidar com uma ameaça do ego é me apegar humildemente a quaisquer idéias ou soluções novas ou alternativas.
Sempre há algo novo para aprender, especialmente se você se considera o especialista.
fonte