Muchas veces he pedido a mis compañeros que tengan una actitud profesional y no menos veces me han preguntado que es eso. Por eso al volver a encontrarme con este articulo de Uncle Bob no me he resistido a traducirlo.
El rasgo mas importante de un programador profesional es la responsabilidad. Los programadores profesionales se responsabilizan de su carrera, sus estimaciones, sus planificaciones y su trabajo. Un programador profesional no hace recaer su responsabilidad en otros.
Si eres profesional, eres responsable de tu carrera. Es tu responsabilidad leer y aprender. Es tu responsabilidad estar al día de la industria y las tecnologías. Demasiados programadores creen que que es responsabilidad de sus jefes impartirles formación. Están equivocados. ¿crees que los médicos piensan así? ¿Y los abogados? No, ellos siguen aprendiendo es su tiempo libre y de su propio bolsillo. Invierten mucho tiempo leyendo periódicos y veredictos. Se mantienen al día. Y nosotros deberíamos hacer los mismo. La relación entre tu y tu jefe esta muy clara en tu contrato. Abreviando: el te paga y tu haces un buen trabajo.
Los profesionales se responsabilizan del código que escriben. No liberan código a no ser que sepan que funciona. Piensa en esto un minuto. ¿Como puedes considerarte un profesional si estas mandando código que no estas seguro que funciona? Los programadores profesionales no esperan que calidad encuentre fallos porque ellos no envían código hasta que ellos lo han probado. Desde luego, calidad encontrara errores porque nadie es perfecto. Pero como profesionales nuestra actitud debe ser no dejar nada para que calidad lo encuentre.
Los profesionales juegan en equipo. Se responsabilizan de lo que entrega todo el equipo, no solo de su propio trabajo. Se ayudan unos a los otros, enseñan unos a los otros, aprenden uno de los otros incluso se protegen unos a los otros cuando es necesario. Cuando un compañero se derrumba, los otros se meten, saben que algún día serán ellos los que necesiten protección.
Los profesionales no aguantan grandes listas de bugs. Una gran lista de bugs es una chapuza. Sistemas con miles de incidencias en la base de datos del gestor de incidencias son tragedias negligentes. De hecho, en muchos proyectos, la sola necesidad de un gestor de incidencias es un síntoma de irresponsabilidad. Solo los sistemas gigantescos deberían tener listas de incidencias tan largas que justifiquen el uso de un gestor.
Los profesionales no hacen mierda. Están orgullosos de su trabajo. Mantienen su código limpio, bien estructurado, y fácil de leer. Siguen estándares y buenas practicas. Jamas corren.
Imagina que te están operando a corazón abierto y puedes ver al médico. El médico tienen un deadline. Tiene que terminar antes de que el bypass dañe demasiadas células de tu sangre. ¿Como quieres que actué? ¿Quieres que actué como el típico desarrollador de software, corriendo y parcheando todo? ¿Quieres que diga "después arreglare esto" ? O prefieres que actué con disciplina , tomándose su tiempo y confiado en que su forma de actuar es la mejor. ¿Quieres mierda o quieres profesionalidad?
Los profesionales son responsables. Se responsabilizan de su carrera. Se responsabilizan de que su código funciona bien. Se responsabilizan de la calidad de su trabajo. No abandonan sus principios cuando se avecina la fecha de entrega. De hecho cuando la presión aumenta, los profesionales se aferran aún más fuerte a las disciplinas que saben que funcionan.
—Robert C. Martin (Uncle Bob)
Articulo Original: http://programmer.97things.oreilly.com/wiki/index.php/The_Professional_Programmer
Me gustaría añadir algo más, si tus condiciones contractuales ya no te gustan cambialas o busca otro trabajo. Los profesionales no dejan de serlo nunca, eso no seria profesional.