El Programador Profesional
Autor: Uncle Bob

¿Qué es un programador profesional?

El rasgo más importante de un programador profesional es la responsabilidad personal. Los programadores profesionales se responsabilizan por su carrera, sus estimaciones, el compromiso con su agenda, sus errores y su mano de obra. Un programador profesional no le pasa la responsabilidad a los demás.

  • Si eres profesional, entonces eres responsable de tu propia carrera. Eres responsable de leer y aprender. Eres responsable de mantenerte actualizado con la industria y la tecnología. Muchos programadores piensan que es trabajo de sus patrones entrenarlos. Lo siento, están tremendamente equivocados. ¿Crees que los médicos se comportan de esa manera? ¿Crees que los abogados se comportan de esa manera? No, ellos se entrenan en su propio horario, y con su propio dinero. Ellos gastan muchas de sus horas libres leyendo revistas y tomando decisiones. Se mantienen al día. Y así debemos hacerlo nosotros. La relación entre tú y tu empleador está escrita claramente en tu contrato. En breve: prometen pagarte y tú prometes hacer un buen trabajo.
  • Los profesionales asumen la responsabilidad del código que escriben. No liberan código a menos que sepan que funciona. Piensa en esto por un minuto. ¿Cómo puedes considerar llamarte profesional, si estás esperando liberar código del cuál no estás seguro? Los programadores profesionales esperan que QA no encuentre algo porque no liberan su código hasta que se ha probado completamente. Por supuesto, QA encontrará algunos problemas, debido a que nadie es perfecto. Pero, como profesionales, nuestra actitud debe ser: dejar nada para QA.
  • Los profesionales son jugadores de equipo. Asumen responsabilidad de la salida de todo el equipo, no sólo de su propio trabajo. Se ayudan unos a otros, enseñan a los demás, aprenden unos de otros e, incluso, cubren a los demás, si es necesario. Cuando un compañero cae, los demás intervienen, sabiendo que algún día ellos van a ser los que necesiten cobertura.
  • Los profesionales no toleran grandes listas de errores. Tener una lista así es ser descuidado. Los sistemas con cientos de issues en la base de datos de seguimiento de problemas son tragedias por la falta de cuidado. De hecho, en muchos proyectos, la propia necesidad de un sistema de seguimiento de problemas es un síntoma de descuido. Sólo los sistemas muy grandes deberían tener una lista de errores tan larga que sea necesario la automatización para manejarla.
  • Los profesionales no hacen un desastre. Se enorgullecen de su mano de obra. Mantienen el código limpio, bien estructurado y fácil de leer. Siguen estándares acordados y las mejores prácticas. Ellos nunca, jamás se apresuran. Imagina que estás teniendo una experiencia “fuera de tu cuerpo” y miras a un cirujano realizar una cirugía a corazón abierto en ti. Este médico tiene un hora límite (en sentido literal). Debe terminar antes de que la máquina de derivación corazón-pulmón dañe muchas de las células sanguíneas. ¿Cómo quieres que se comporte? ¿Quieres que se comporte como el típico desarrollador de software, apresurado y haciendo un lío? ¿Quieres que diga: “regreso y lo arreglo luego”? ¿O quieres que se aferre cuidadosamente a sus disciplinas, tomándose su tiempo, seguro de que su enfoque es el mejor? ¿Quieres un desastre o profesionalidad?

Los profesionales son responsables. Asumen la responsabilidad por sus propias carreras. Asumen la responsabilidad de asegurarse de que su código funciona correctamente. Asumen la responsabilidad de la calidad de su mano de obra. No abandonan sus principios cuando los plazos se ciernen. De hecho, cuando la presión aumenta, los profesionales se aferran a las disciplinas que saben que son correctas.

Traducción: Espartaco Palma

Leer contribución original