Una carrera especial

Hoy estoy optimista. Estoy feliz de pertenecer al sector del desarrollo de aplicaciones porque está formado por gente con ganas de hacer las cosas bien, quizá con un especial afán de perfeccionismo. Y lo digo comparándolo con otros sectores: hoy hablaba de si es más conveniente contratar a un albañil por horas o a trabajo cerrado (a destajo). Si lo contratamos por horas, seguramente tarde más; si lo hacemos a trabajo cerrado, tendremos que vigilarlo para que haga el trabajo bien y no de forma chapucera. La verdad es que cuando alguien comienza a trabajar en la construcción (por citar un sector bien conocido por todos), lo primero que aprende es a escaquearse, a intentar trabajar poco, a resolver problemas de la forma más fácil y cómoda aunque no sea la mejor… resumiendo, a ser un listo; no digo que todos lo sean, pero sí que todos saben cómo hacerlo. Por ello la gran cantidad de ‘vigilantes’ necesarios para asegurar la calidad final. Y de ahí también que estén tan valorados los albañiles ‘curiosos’, esos a los que les gusta hacer su trabajo bien.

En el desarrollo de software, a la gran mayoría de programadores les gusta hacer las cosas bien, parece compartirse un instinto de perfección. Hablo según mi experiencia y de la gente que he conocido en el sector. Pero este instinto no significa que siempre se pueda poner en práctica ese buen hacer. Y lo que fundamentalmente nos lo impide, a mi modo de ver, son dos causas: los ‘jefes’ y el desconocimiento.

En primer lugar, lo impide la presión de los ‘jefes’ (con este nombre quiero incluir a todos los cargos de dirección), que usan frases como “así es suficiente”, “para qué vas a cambiar eso si funciona”, “pues si falla ya lo arreglaremos (y cobraremos) después” y muchas otras que os sonarán. Nunca he sabido de un albañil que diga: “este tabique está mal, lo mejor es que lo tire y lo vuelva a hacer”, normalmente es el encargado quien se lo ordena. Curiosamente, en programación el jefe diría: “déjalo así y ponte ya con otra cosa”.

Dentro de esta causa, y quizá como causa última, podemos incluir a los ‘acuerdos comerciales’: contratos, presupuestos… (y aquí enlazo con la falta de requisitos cerrados que discutimos hace poco gracias a Eduard Tomas).

La segunda causa es el ‘desconocimiento’ de cómo se pueden hacer las cosas mejor. De esto podríamos decir que tienen también buena parte de culpa los ‘jefes’, por la falta de una formación completa y no interesada en la empresa. Pero pienso que sería esta una excusa muy corporativista (y en nuestro sector no somos dados al corporativismo). Así que esa falta de formación en mi opinión sería achacable a los propios desarrolladores, ya que existen muchas vías para descubrir y profundizar en nuevas tecnologías y metodologías, y quien no usa dichas vías es porque ve su carrera de forma acomodaticia (y está en su derecho a quedarse obsoleto, allá cada cual). Lo que sí puedo decir por mi experiencia es que en la mayoría de los casos el nuevo conocimiento ha motivado a los programadores a querer aprender más y a querer producir código de más calidad.

De lo anterior se deduce la necesidad de dedicación de tiempo fuera del horario laboral, aunque suene duro. Hace pocos días me comentaba Braulio Díez que cuando tiene que entrevistar pide ver código, trabajos en codeplex, blogs… para evaluar a los candidatos. ¿En qué otro sector podría darse un caso así? Casi se valora más el trabajo realizado fuera de la oficina, quizá porque se busca al programador vocacional. Pero para buscar un profesor vocacional (una de las profesiones donde más se presume de su carácter vocacional) no se le pregunta a cuántos niños ha educado fuera del colegio.

Por supuesto, ese afán de perfeccionismo tiene muchas consecuencias positivas.

Una consecuencia clara es que la innovación en nuestro sector suele venir de abajo y no de arriba (en el sentido jerárquico de la cadena de mandos de una empresa). Por poner un ejemplo, el agilismo, surgido primero como movimiento de programadores, y después apropiado parcialmente por los niveles directivos con la creación de estándares y certificaciones ágiles que no dejan de ser curiosas, si no contradictorias con el espíritu original. Otro ejemplo sería el de la artesanía del software, tan de moda y tan aplicable a los aspectos que comento.

Y otra consecuencia de este afán de superación podría ser la velocidad a la que avanza el corpus de nuestra profesión, y no sólo en tecnologías, sino en metodologías, buenas prácticas… A mi modo de ver, no es algo aislado ni de una élite minoritaria, sino que muchos profesionales ayudan a este avance, adoptando motu propio estas nuevas prácticas, así como colaborando de forma libre y altruista con su propio trabajo (normalmente no remunerado) a su difusión y a la formación de otros profesionales. Cuando en cambio las reglas del corporativismo fomentan la ocultación del conocimiento y la exigencia de procesos iniciáticos; unas reglas aplicadas magistralmente por la profesión de los controladores aéreos, que han dificultado el acceso de nuevos profesionales para evitar competencia y aumentar sus emolumentos. Si vieran la alegría con la que los programadores publican sus conocimientos técnicos y organizativos a la libre disposición de otros para difundir el conocimiento, se echarían a reír.

Y he querido guardar para el final el que quizá es el argumento más poderoso: el movimiento del software libre, algo sin parangón en ningún sector y que es el mayor ejemplo de afán de superación, perfeccionismo, altruismo, vocacionalidad… Solo hay que hacer el ejercicio de imaginar un movimiento así en otros sectores: profesores que por las tardes reunen niños para educarlos, albañiles que los fines de semana hacen trabajos para la comunidad… todo gratis, sólo a cambio de reconocimiento (en algunos casos).

Es por todo lo expuesto que no quiero ser albañil, maestroescuela ni controlador de aviones, a pesar de las ventajas que sus profesiones puedan ofrecer. Yo lo que quiero es ser programador de software.

Anuncios
Esta entrada fue publicada en Ingeniería Software. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s