El programador profesional

Abusando de la licencia Creative Commons que tienen los textos del libro 97 Things Every Programmer Should Know de O’Reilly, traduzco un lindo texto de Uncle Bob sobre los deberes de un programador profesional. El resto de los textos del libro están en la Wiki de O’Reilly.

El Programador Profesional

¿Qué es un programador profesional?

El rasgo más importante de un programador profesional es la responsabilidad personal. Los programadores profesionales toman la responsabilidad por sus carreras, sus estimaciones, sus compromisos agendados, sus errores y su trabajo. Un programador profesional no traspasa sus responsabilidades a otro.

* Si eres un profesional entonces eres responsable por propia carrera. eres responsable por leer y aprender. eres responsable por mantenerte al día con la industria y la tecnología. Demasiados programadores sienten que es tarea de su empleador entrenarlos. Lo lamento, pero están simplemente equivocados. ¿Piensas que los médicos se comportan de esa manera?¿Piensas que los abogados se comportan así? No, ellos se capacitan en su propio tiempo, y de su propio bolsillo. Gastan muchas de sus horas fuera del trabajo leyendo revistas y decisiones. Se mantienen al día. Nosotros también debemos hacerlo. La relación entre tu y el empleador está escrita en tu contrato. En resumen: El se compromete a pagarte y tu te comprometes a hacer un buen trabajo.

* Los profesionales toman la responsabilidad sobre el código que escriben. Ellos no entregan código a menos que sepan que funcione. Piensa en eso un minuto. Cómo puede posiblemente considerarse un profesional si está entregando código del que no está seguro?. Los programadores profesionales esperan que los testers (QA) no encuentren nada porque no entregan su código hasta haberlo probado concienzudamente. Por supuesto que los testers (QA) van a encontrar algunos problemas, porque nadie es perfecto. Pero como profesionales nuestra actitud debe ser que no dejamos nada para que encuentren los testers.

* Los profesionales juegan en equipo. Toman la responsabilidad de la entrega que hace todo el equipo y no solamente de su propio trabajo. Ayudan a cada uno, enseñan a cada uno, aprenden de cada uno y siempre cubren a cada uno de los miembros del equipo cuando es necesario. Cuando un miembro cae, los otros intervienen, sabiendo que un día cualquiera necesitará ser cubierto.

* Los profesionales no toleran grandes listas de errores. Una lista enorme de bugs es algo desprolijo. Sistemas con miles de entradas en la base del sistema de seguimiento son tragedias del descuido. En efecto, en la mayoría de los proyectos, la gran necesidad de un sistema de seguimiento de incidencias es un síntoma de desprolijidad. Solamente un sistema enorme debería tener una lista de errores tan larga que necesita automatizarse para poder manejarla.

* Los profesionales no hacen un enredo. Están orgullosos de su obra. Mantienen su código limpio, bien estructurado y fácil de leer. Siguen los estándares y las buenas prácticas. Nunca, pero nunca se precipitan. Imagine que está teniendo una experiencia extrasensorial donde ve a un médico realizar una operación a corazón abierto en tí. Este médico tiene una fecha límite (literalmente una deadline). Tiene que terminar antes que el respirador y el corazón artificial dañen demasiado las células de la sangre.¿Cómo quieres que se comporte? ¿Desearías que haga como el típico desarrollador de software, precipitándose y haciendo un lío? ¿Quisieras que dijera “Después arreglaré esto”?O quieres que se maneje cuidadosamente y con disciplina,tomándose su tiempo, confiando en que su enfoque es lo mejor que él puede razonablemente tener. ¿Te parece una locura o profesionalismo?

Los profesionales son responsables. Toman la responsabilidad de sus propias carreras. Toman la responsabilidad de asegurarse que su código funciona adecuadamente. Toman la responsabilidad de su propia obra. No abandonan sus responsabilidades cuando las fechas límite apretan. Por el contrario, cuando la presión se asoma, los profesionales se aferran a las disciplinas que saben son las correctas.

Por Uncle Bob

Leave a Reply

Your email address will not be published. Required fields are marked *