¿Qué es la "programación sin ego"?

12

La primera vez que escuché este término fue hace quince años.

Mi comprensión es similar a la descrita en el artículo de Wikipedia y en un artículo de TechRepublic : trabajas con tus colegas de una "manera amigable y colegiada en la que los sentimientos personales se dejan de lado". Incluye cosas como hacer revisiones por pares con respeto mutuo y un deseo de aprender, y no sentir que usted es el "dueño" del código, por lo que si alguien tiene una sugerencia o dice que hay un error o necesita cambiarlo, no se ponga a la defensiva. eso.

También pensé que se trataba en gran medida de tener una actitud que establezca buenas relaciones con otros programadores con el objetivo de mejorar el código. Por lo tanto, no lo he visto como incompatible con estar orgulloso de la calidad de su trabajo o sentir pena si algo que hizo le causó un problema a su cliente.

Sin embargo, una respuesta a una pregunta reciente me hace pensar que otros programadores tienen diferentes interpretaciones acerca de la "programación sin ego". Entonces, ¿cuál es la definición correcta? ¿Y cuáles son sus implicaciones?

Bob Murphy
fuente
77
Sin embargo, la programación en abundancia es mucho más divertida que la programación sin ego.
Trabajo
2
@ Job: Sí, y como dicen los Mythbusters, todo va mejor con C-4.
Bob Murphy

Respuestas:

17

Todas las anteriores.

La programación sin ego tiene que ver principalmente con el respeto que tienes por el programador que viene después de ti, que tendrá que averiguar qué hiciste con tu código para que puedan mantenerlo y posiblemente mejorar lo que hiciste ( Lo sé, eso parece inconcebible, ya que todo el código que escribo ya es perfecto;).

También creo que los programadores sin ego no toman posiciones dogmáticas sobre su trabajo. Esto los hace lo suficientemente flexibles para trabajar en entornos donde sus expectativas idealistas pueden no siempre ser tan aceptadas o aceptadas incondicionalmente.

Robert Harvey
fuente
Estoy de acuerdo en que ser no dogmático es muy importante para las relaciones constructivas, no solo en la programación, y lucho constantemente con eso.
Bob Murphy
@bobmurphy Conozco dos formas efectivas de evitar ser dogmático. 1) No dar una mierda sobre los ideales. 2) Dedicar el tiempo y la energía necesarios para construir un equipo de desarrollo que ha compartido ideales. Muchas personas renuncian a 2, escriben un documento de estándares que nadie lee y se deslizan lentamente en 1. El único anídoto es una revisión de código que trata sobre cómo se siente la gente. No se trata de seguir las reglas.
candied_orange
8

La frase no tiene un significado estándar ISO, por lo que diferentes personas pueden decir legítimamente diferentes cosas con ella.

Creo que fue acuñado por Weinburg en The Psychology of Computer Programming . Se refería a la programación sin vincular el ego con el código, de modo que no sea "su código", es solo código. Esto facilita la cooperación para mejorar el código, la capacidad de aceptar críticas de lo que ha escrito (porque no está dirigido a usted) y el trabajo en equipo en general.

David Thornley
fuente
No pensé que fuera un estándar ISO. :-) Me sorprendió que la gente estuviera insinuando que la programación sin ego significa que es inapropiado pedir disculpas a los consumidores de mi software cuando los errores que escribí les molestan. Si eso es lo que significa, seré egoísta y cortés.
Bob Murphy
@Bob: No veo cuán egoísta a la Weinburg lleva a no disculparse por los errores. Eso me suena bastante egoísta.
David Thornley
Eso fue lo que no pude entender.
Bob Murphy
6

No existe una definición correcta ya que el concepto de "Ego" está sujeto a una gran interpretación. Dependiendo de sus creencias psicológicas y espirituales, hay más de unas pocas respuestas diferentes sobre cómo se puede tratar de eliminar el ego de su vida.

La implicación, según tengo entendido, es que existe una propiedad colectiva , de modo que cada persona del equipo está trabajando para el beneficio de todos en lugar de solo uno mismo. " David Logan sobre liderazgo tribal " es una charla TED donde una tribu de nivel 4 sería la de personas sin ego en cierto sentido.

JB King
fuente
1

Soy una persona de mediana edad. He estado en muchos países diferentes y tuve la suerte de conocer gente brillante como astrónomos y monjes budistas zen.

Hace unos dos años tomé un par de clases de computación para repasar mis conocimientos sobre programación.

Un día, mi profesor de programación trajo el rompecabezas de la "Torre de Hanoi" a la clase. Hubo algunos estudiantes que siempre se jactan de sus vidas exitosas como programadores. Mi profesor les dio el rompecabezas a todos los estudiantes y les pidió a todos que lo comenzaran al mismo tiempo.

Todos los rebeldes de programación estaban haciendo todo lo posible para demostrar lo inteligentes que son. El estudiante que termina el rompecabezas primero es un estudiante chino de dieciocho años que sabe muy poco sobre programación. Los rebeldes estaban molestos. Pero mi sabio profesor que tiene treinta años de experiencia en programación (incluido Lisp) tenía una sonrisa en su rostro.

Disculpa me por mi mal inglés. Mi lengua materna es el japones

Tio joe
fuente
+1: Lo he visto muchas veces, y no solo con la programación.
Bob Murphy
Por cierto, yo también soy de mediana edad (52). Cuando era adolescente y tenía veinte años, estaba seguro de que sabía mucho sobre muchas cosas. Ahora, estoy seguro de que no sé mucho sobre nada. Es muy divertido ver a mi sobrino de 18 años estar muy seguro de sí mismo.
Bob Murphy
@BobMurphy "cuanto más aprendo, más sé lo poco que sé"
gbjbaanb
1

Mi opinión (y únicamente eso) es que el término "programación sin ego" es un oxímoron.

Los programadores e ingenieros son inherentemente un grupo egoísta (incluido yo mismo). Al final del día, cuando escribes código estás creando algo. Cuando se enorgullece de su trabajo y de lo que produce, no importa cuánto respete a sus compañeros y comprenda que es necesario realizar cambios en su trabajo en el futuro, aún así perjudica su ego cuando sucede. Todos los ingenieros que he conocido tienen una reacción instintiva de padre / madre sobreprotectora instantánea para proteger a sus bebés a pesar de que una vez que se mantiene una discusión exhaustiva, el autor está más dispuesto a aceptar el hecho de que el cambio debe hacerse.

En otras palabras, no creo que sea posible tener una programación puramente sin ego.

De nuevo, solo mi opinión basada en la experiencia. No dudes en criticarme por esto :)

... Y ahora me di cuenta de la antigüedad de este hilo: P

Demian Brecht
fuente
3
¡El hecho de que tus colegas sean imbéciles no significa que tú también tengas que serlo! La idea es que si fomentamos la codificación sin ego, entonces la próxima generación podría ser menos de un montón de imbéciles prima-domnna y más profesionales.
gbjbaanb