Después de aprender el juramento hipocrático del programador, toca ahora revisar los diez mandamientos de todo programador que trabaje en equipo (en remoto o no).

Como decía Jeff Atwood estos diez mandamientos eran de sentido común hace 10-20 años pero parece que hay que recordárselos a las nuevas generaciones. Él los llama los mandamientos de los programadores “egoless” (sin ego) pero yo creo que van más allá y que son reglas a seguir para todo programador que tenga que interaccionar socialmente con compañeros (ya digo, en persona, por videoconferencia, vía email…).

Tiene más éxito un desarrollador con buenas habilidades sociales aunque sea mediocre programando que a la inversa – Gregory Bown⠀

Los 10 mandamientos del programador sociable (sacados del libro: The Psychology of Computer Programming, ¡escrito originalmente en 1971 pero aún vigente!) son los siguientes:

  1. Entiende y acepta que cometerás errores. El objetivo es encontrarlos lo antes posible, antes que pasen a producción. Por suerte, excepto para los que trabajan en sistemas críticos, aunque haya errores, raramente son fatales con lo que podemos aprender de ellos y seguir adelante.
  2. Tú no eres tu código. Recuerda que el objetivo de una revisión de código es encontrar errores. No te lo tomes como una afrenta personal cada vez que se descubre un error.
  3. No importa cuánto “karate” sepas, siempre hay alguien que sabe más. Y ese alguien puede enseñarte nuevos “movimientos” si se lo pides. Busca y acepta consejos de otros, especialmente cuando crees que no los necesitas.
  4. No reescribas código sin consultar. Hay una línea muy fina entre “arreglar código” y “reescribir código”. Aprende la diferencia y deja los cambios de estilo y opiniones para las revisiones conjuntas.
  5. Trata a la gente que sabe menos que tú con respeto, deferencia y paciencia. Los usuarios que tienen que tratar con programadores de forma habitual nos perciben como unas prima donnas o unos lloricas cuando tenemos que “rebajarnos” a tratar con ellos. No contribuyas a este estereotipo con más ansia y frustración.Como ven los usuarios a los programadores
  6. Lo único constante en el mundo es el cambio. Ábrete a él y acéptalo con una sonrisa. Mira cada cambio en los requisitos, plataforma o herramientas como un nuevo desafío no como una inconveniencia a combatir.
  7. La única autoridad real deriva del conocimiento, no de la posición. El conocimiento engendra autoridad. La autoridad engendra respecto. Si quieres que te respeten cultiva tu conocimiento.
  8. Lucha por lo que crees pero acepta tus derrotas.  Entiende que tus ideas no siempre serán las seleccionadas. Y aunque al final se demuestre que tu tenías razón, no empieces con los “te lo dije” ni te regodees en los fallos de los demás.
  9. No seas “el tipo de la habitación” No seas el programador que vive encerrado y sólo sale para ir al lavabo. El qué no habla y no se relaciona y no tiene sitio en un entorno de trabajo colaborativo. Y cuando estás fuera de lugar, por muy bueno que seas programando, acabas en la calle. Hay demasiados programadores buenos como para soportarte.
  10. Critica el código, no la gente.  Sé amable con el programador, no con el código. Intenta que todos tus comentarios sean constructivos y orientados a la mejora del código. Justifícalos con referencias a estándares, especificaciones, mejorar de rendimiento,…

Cerremos este post con estas palabras del brillante Kent Beck. Si él lo dice será verdad 🙂

La empatía es la cualidad más importante de todo desarrollador de software – Kent Beck