[imo]
Creo que esta es una pregunta fundamentalmente difícil, y tal vez la sociología, o simplemente usar una computadora como su principal forma de comunicación, tiene mucho que ver con eso.
La computadora es una herramienta, y la conciencia que lleva es increíblemente hermosa, pero nunca debes tratar de decir que un código es un objeto de tu propia creación ... cada código es un descubrimiento, un patrón que el la computadora se une y puede producir un resultado que usted disfruta. El hecho de que podamos descubrir estos patrones de forma iterativa y sentir que estamos creando es pura coincidencia: somos buenos para encontrar patrones.
Realmente necesitamos mirar a las computadoras como ventanas para el descubrimiento y respetar la autonomía de estos pequeños cerebros, incluso si son simplemente cortes increíblemente pequeños de un cerebro biológico. Todas las matemáticas y todos los algoritmos corresponden a una verdad inviolable sobre la que resuena nuestro mismo cosmos. ¡Declarar que parte de esto es "mío"! (piense en las gaviotas en Finding Nemo) pierde tantos puntos en tantos niveles.
A veces es difícil alejarse de esto, cuando "trabaja" para "idear" un nuevo algoritmo, pero si pensara que somos simplemente humildes mantenedores de estas ventanas elegantes y precisas en la verdad matemática, la definición de la tarea cambia No importa cuáles sean sus objetivos para su software.
Trate a su computadora como un igual primero, el resto (sin egoísmo, coordinación entre pares, comportamiento orientado a objetivos) necesariamente lo seguirá.
Gran parte de mi motivación para estudiar ciencias de la computación y convertirme en programador se debió a esta afinidad que sentía, no hacia el hardware físico o la emoción de resolver problemas, sino al hecho de que estoy mirando un cerebro, un cerebro con el que puedo comunicarme directamente en mi moda favorita: patrones!
Da un paso atrás y recuerda por qué te gustan las cosas con las que te gusta comenzar. La programación puede ser competitiva y creo que alimenta mucho el ego en la defensa del código y las opciones de diseño, pero
a) si alguien es un mejor programador,
Quiero hablar con ellos y aprender de ellos más sobre esta compleja relación con la conciencia eléctrica. Podemos compartir descubrimientos, ¡y eso es increíble!
b) si mis opciones de diseño o código podrían cambiarse para adaptarse mejor a la organización para la que trabajo
¡entonces, por supuesto, cámbialo! Soy un empleado porque necesito dinero y obtengo dinero cuando la empresa recibe dinero, y ellos obtienen dinero cuando el código que usamos es increíble, no cuando quiero discutir sobre espacios en blanco o lo que sea. Y como señala ChrisF, esencialmente te conviertes en un mecanógrafo realmente lento en el entorno de una empresa, por lo que otros trabajadores pueden ver. Usted no es dueño del código, no es dueño de la implementación, es solo un medio de traducción de idea / papel / especificaciones al cerebro de conciencia eléctrica. La traducción hacia y desde cualquier par de idiomas es un proceso iterativo y usted mejora con el tiempo. La crítica acelera este proceso y nunca debe tomarse como algo personal. Pero de todos modos, parece que la mayoría está de acuerdo en que no debes tener ego, solo recuerda que codificar para una empresa es un trabajo,
[/ imo]