jueves, 12 de junio de 2008

¿Te gusta...programar?

El otro día, navegando un rato, encontré este artículo, relacionado con mi trabajo, sin embargo, me pareció mucho mas interesante un comentario, firmado por Betawriter, debido a ello, he decidido reproducirlo aquí, por que creo que es muy elocuente, e imagino que les gustara a muchos de mis pocos y queridos lectores habituales. Espero que os guste.

Yo esto bastante de acuerdo con lo que dice, y eso que yo no soy alguien al que le vuelva loco programar, pero la forma de trabajar que hay en la mayoría de las empresas españolas, con unas fases de análisis y diseño muy chapuceras, simples e incompletas, por no decir en muchos casos inexistente. Y unos plazos de trabajo de risa, y mas teniendo en cuenta los "recursos" disponibles para terminar en plazo, que hacen que acabes programando chapuzas, una tras otra, que es algo, que a mi, que soy un poco perfeccionista, me repatea.

En fin, creo que si sigo, al final voy a acabar escribiendo mas o menos lo mismo que Betawriter, y creo que el escribe mejor que yo...

Interesante reflexión, Juan.

Ser (buen) programador es duro. Muy duro. Gente a la que supuestamente le encantaba suele coger un puesto de dirección de proyecto o similar sin vacilar en cuanto se le ofrece. Gente que dice que "le encanta programar" y "jamás lo dejará" es casi seguro que lleva menos de 5 años de trabajador por cuenta ajena en la informática empresarial.

Raro es ver gente de más de 35 años programando, ¿por qué será?.

Creo que tiene que ver con varios aspectos:

- Soledad: Aunque trabaje en equipo (cosa que las PYMEs intentan minimimizar para "aumentar la productividad") el programador suele estar solo, se enfrenta a sus problemas solo y celebra sus satisfacciones solo, ya que raramente es comprendido por el resto de compañeros de su empresa y a veces ni por sus propios compañeros, que tienen sus propios problemas. En España, por desgracia, la forma de relacionarse con los programadores es "hay que hacer esto; cuando esté, me avisas". Pocas reuniones, pocos puntos de vista, poco análisis, poco compartir ideas, poca revisión de código... soledad continua.

- Sumisión: Para mí éste es el aspecto más importante, con diferencia. El programador sigue siendo el ser más sumiso de la empresa. Todas las empresas aparentan ser "horizontales" pero no es más que un tópico copiado del modelo anglosajón. Ya puede llevar 20 años en la empresa que el programador sigue siendo el "último mono"; sus aportaciones no son tenidas en cuenta, sus decisiones ignoradas y su "parcela de poder" se limita a él y su ordenador. Además, como por arte de magia se le presupone un "mago", capaz (y deseoso) de resolver cualquier "problema". Ante cualquier duda, opinión o disidencia se le supone un vago o una persona negativa en vez de una persona que se basa en sus experiencias y fracasos anteriores que quiere mantener los pies en la tierra y no volver a sufrir otro estrepitoso fracaso empresarial.

- Geekización: A todo buen programador se le supone un geek y no una persona como cualquier otra a la que simplemente le gusta su trabajo y desea realizarlo bien. Por eso, en vez de preguntarle las cosas, se le supone el eterno adolescente y se toman decisiones por él. En vez de rebajar su jornada laboral o darle tiempo para salir a tomar un café, se le dan cocacolas, una camiseta o se le regala un ipod. En vez de pensar que a las 19:00 desea irse a casa porque tiene a su familia esperando, amigos con los que hacer deporte, etc... se le presupone que no tiene vida fuera y, si la tiene, no tiene ningún interés.

- Capacidad intelectual y de reciclaje: Debido a los cambios continuos en los procesos y las tecnologías, estas cualidades son imprescindibles. Hace no tantos años no se programaba con orientación a objetos. Hace no tantos años, ya no AJAX sino la programación web dinámica ni se soñaba. Prueba a programar en prolog, luego en c y luego en ruby. Un joven suele tener ilusión, capacidad y sobre todo, ganas, de probar nuevas cosas. Una persona adulta suele querer resultados, eficiencia y satisfacción. Son ligeramente incompatibles.

- Aburrimiento: Seamos realistas. En general, la programación empresarial más típica es tremendamente aburrida. En la mayoría de las empresas los problemas suelen ser siempre los mismos aunque estén asociados a distintas tecnologías e incluso los buenos programadores acaban rindiendo poco por puro aburrimiento. El tipo de reto que supone un proyecto tras otro, o un proyecto empresarial largo, no es lo que la mayoría se espera.

- Salarios: Acorde con la idea que todos tenemos del término van los salarios. Cuando el programador es de los peor pagados en toda la empresa porque "tiene que demostrar y ganarse su valor" una y otra vez (ya que toda su carrera anterior sólo sirve para empezar a hablar) o tiene que marcharse para que le valoren, algo ocurre. Si en cualquier otro puesto directamente se gana un 50 o un 100% más haciendo otras labores, la gente tampoco es estúpida. Lo queramos o no, el salario es un indicador de la "valía" del puesto en la empresa. Si casi cualquier otro elemento de la cadena empresarial tiene un salario superior y está mejor visto (en España), es normal que la gente no quiera ser programador. Tanto por reconocimiento social como por pura economía.

- Decepción: Sí, asumámoslo. Gran parte del esfuerzo y del código de muchos programadores acaba en la basura. Directamente. En otros casos acaba en programas de baja calidad, protestas de los clientes o parcheo continuo de monstruos inmantenibles. El programador es visto como el "responsable directo" (y en cierta medida obviamente lo es). También siente decepción al ver las cosas como realmente son y no como se ven desde fuera.

- Instatisfacción: El buen programador tiene al perfeccionismo, a la belleza, al minimalismo. El contacto continuo con código basura y su conciencia de la generalmente mediocre calidad y de la gran cantidad de fallos que pueden ocurrir en su aplicación, de la imposibilidad de tender hacia una mejora continua por cuestiones económicas y de calendario, le provocan insatisfacción.

Acabemos de una vez ya con el ideal del eterno adolescente que es feliz estando sentado al ordenador durante 16 horas al día tomando cocacolas y resolviendo grandes problemas de la humanidad. Un eterno altruista sin amigos al que le encanta donar su tiempo y sus esfuerzos a la empreas por pura diversión y satisfacción del intelecto por un salario muy bajo.

Quizá cuando se empiece a reconocer al programador como un profesional como otro cualquiera, con sus necesidades, sus limitaciones y su labor se le reconozca como difícil, pesada, se le quite todo el aura de "misticismo" y se le recompense social y económicamente en proporción a su trabajo y responsabilidad, se cuente con un (obligatorio) downshifting acorde a su edad, la gente prefiera seguir siendo programador cuando llega a cierta madurez.

Por supuesto ser programador tiene sus satisfacciones, sus grandes momentos, su entretenimiento y sus cosas buenas. La cuestión es, ¿compensa a partir de determinada edad?.

2 comentarios:

Guillermo dijo...

Para mi, el mayor problema siempre fue que la parte de dirección no suele saber de que va la cosa.
Tal vez algún dia la cosa cambie o tal vez no...

Manu, The Java Real Machine dijo...

Pues tiene mucha razón...

La programación, aún siendo una parte muy importante de nuestro trabajo, se sigue viendo como algo menor. Algo sin demasiada importancia, que se delega en personas con poca experiencia, y que no se valora suficientemente.

A mi me encanta, porque para mi programar es un proceso creativo, como lo puede ser esculpir un bloque de mármol o pintar sobre un lienzo en blanco...
De la nada, partiendo de un fondo blanco del editor, voy creando clases, comportamientos y formas de relacionarse para dar forma a un programa, más simple o más complejo.

Pero eso no se, porque el cliente tan solo ve la pantalla final, no todo lo que hay por debajo. Y tampoco lo ven los jefes, al menos en este país, porque la inmensa mayoría ni siquiera han programado en su vida.

Yo hoy tengo 34 años, llevo programando desde los 18, y por desgracia acabaré dejando la programación para mis ratos libres porque en este país nadie es capaz de reconocer lo importante que es.
Terminaré haciendo labores menos gratas, más relacionadas con la 'burocracia', porque no queda otra.