Encrucijadas

La reciente Dosconf ha sido el detonante de una “crisis” de identidad profesional/personal que debo de estar rumiando de forma subconsciente desde hace bastantes meses. Y que, al enfrentarme a una realidad que a veces quiero maquillar en sus lados hirientes, por fin ha emergido.

Y es que no soy, ni nunca he sido programador.

Pero no significa que no haya picado

Esto no significa que no tenga en mi haber decenas de cientos de miles de lineas de código picadas en, al menos, 6 lenguajes de desarrollo, en mis últimos 30 años. He estado involucrado como programador en un montón de proyectos: pequeñitos y medianos. En todo tipo de empresas.

Es más, mis primeros programas fueron realizados en programación por predicados (prolog) y en ensamblador (Gem, Spectrum 48K), de allí pasé a la programación estructurada en Pascal, trabajé en DB2 (el de Borland), hice mucho SQL, hice mucho Lingo, GW Basic y ASP clásico en Visual Basic.

Salté a la programación estructural orientada a objetos (y aún lo sigo haciendo demasiadas veces) cuanto entre en el mundo de ASP.NET en C# (un recuerdo muy agradecido a Julio, que me demostró con eterna paciencia las ventajas de la OOP) y de allí hasta nuestros días, metido en el interminable framework de .NET (siempre en C#).

Por el camino he hecho PHP, mucho HTML, algo de javascript, bastante actionscript, y algún intento con lenguajes “rarunos”, que no me han llevado a muy buen puerto.

¿Qué es un programador?

Es más, ahora mismo estoy metido en un proyecto empresarial en donde aporto la plataforma tecnológica, y estoy picando en asp.net mvc + bootstrap + jquery + azure.

¿Pero soy un programador? Pues no. Para mí, ahora mismo, un programador debe ser una persona que se dedique en exclusiva a programar.

Hay tanto por aprender y tanto por aplicar/probar, que si estás en otra cosa (como me pasa a mí) no estás en lo que estás, y no terminas de explotar tus capacidades y productividad al nivel mínimo requerido.

Para ser lo que soy, me vale mantenerme a nivel conceptual y arquitectónico, y saberme de memoria todos los patrones de software del mundo. Y las herramientas. Y todas las clases y métodos que incluye el framework. Y las librerías y herramientas más utilizadas. Incluso hacer pet projects y demos en donde poner en acción esta avalancha de información.

Pero no para ser programador. Para ser programador hay que hacer. Y hacer todos los días. Y todos los días hacerlo un poquito mejor. Y usar tu tiempo libre en mejorar, en crecer y probar.

Es decir, la programación es una profesión de por sí. Y yo no me puedo considerar programador.

Sargento de proyectos

Pero, y esta duda me lleva dando vueltas desde Octubre, entonces ¿qué soy?. A qué me voy a dedicar los próximos 15 años de mi vida profesional (y personal, que lo tengo todo muy mezclado)?

Pues lo que mejor sé hacer y más he hecho es: dirigir proyectos de desarrollo de software.

Al menos desde el 2000, he estado dirigiendo proyectos de desarrollo de software sin parar. Con equipos pequeños y medianos. Con becarios, con gente sin ganas, con gente buena y con algún que otro brillante.

He lidiado con egos, con diferentes sentires, con equipos fáciles, difíciles e imposibles. He contratado gente y las he echado. He motivado, empujado, alentado, castigado y regañado.Y lo mismo con la capa de dirección o gerencia de turno.

Vamos, un puto sargento. Alguien que no duda en bajar a la trinchera a pegar tiros, pero que es capaz de defender al equipo y al proyecto frente a la “oficialia“, mientras gestiono al cliente.

Y para ello estudio todo lo que puedo sobre desarrollo arquitectura, etc. Para tener criterio, para poder opinar y ganarme el respeto de la gente a la que tengo que mantener productiva para que, entre todos, consigamos hacer el mejor software, lo mejor posible.

Y para ello he profundizado durante años en todo lo relacionado con metodologías de desarrollo de Software. Poniendo en práctica, en la realidad de todos los equipos, mi visión de Agile, Scrum o la metodología que tocara en cada caso.

Me puedo sentir orgulloso por haber sido capaz de llevar equipos en CMMI3, en Spice2, en Scrum o en ASM (muchos). Y 16 años dan la perspectiva clara de que no hay “balas de plata” tampoco en la gestión de proyectos.

Divulgador

Dos momentos han marcado mi faceta de divulgador.

Por un lado mi entrada como editor en el grupo Weblog SL, dentro del blog GenbetaDev.  Con niveles de audiencia de más de cien mil lectores al mes que me ha llevado a esforzarme mucho en qué y cómo escribo. Además de abrirme puertas, con un “pase de prensa”, a las que no hubiera podido acceder siendo un humilde mortal.

Y por otro, una charla que nos dió David Salgado a un grupo de Technical Rangers, en donde tuve la epifanía de meterme a exponer y compartir conocimiento en público.

Así empezó mi intensa actividad presencial y personal relacionada con hang-outs, mesas redondas, charlas y eventos. Donde, si miro hacia atrás, encuentro que he cumplido mis más altas expectativas, compartiendo buenos momentos con personas a las que respeto mucho y con mucho conocimiento.

Si acaso, no me esperaba que fuera tan solitario.

Formador

Es mi trabajo actual. Y reúne muchas de las cosas que adoro de mi profesión: el estudio constante, el estudio en profundidad de las cosas, la necesidad de comprender bien para poder transmitir, el transmitir y compartir conocimiento.

Tiene aún más ventajas. No existe el estres de las fechas, de los costes. Y los problemas duran lo que dura el curso (una semana o dos a lo sumo). Aún se me hace raro el poder “desconectar” y no estar pensando en el trabajo el 100% del tiempo.

Hay mucho tiempo libre, ya que en el formato liberal (autónomo), las formaciones son actividades estacionales que tienen claros periodos “valle” o de vacaciones sin paga.

Lo único malo es el tremendo esfuerzo y estres que requiere estar a la altura.

Como decía antes, aquí no vale tener el conocimiento cogido con pinzas y googlear cuando lo necesitas aplicar. Aquí hay que saberse las cosas al dedillo, de “pé a pá” y con suficiente entendimiento como para transmitir información especialmente compleja de forma que sea entendible y lo más sencilla de aprender.

Partimos de la base que en 25 horas (una semana, 5 horas todas las mañanas) debes de transmitir toneladas de información. Y eso no es trivial, ni lo hace cualquiera, ni es una “soft skill“.

Es una profesión bonita, pero de las más duras en las que me he visto trabajando. Con jornadas mataronianas de 16  horas (si dormir cuatro horas y seguir, y seguir). Y con un esfuerzo constante de aprendizaje día tras día en los días que no tienes clase.

Conclusión

Esté post ha sido gratamente desbloqueante. Me ha hecho pensar quién soy, donde estoy y hacia donde voy. Es el final (espero) de un largo camino de donde vengo, e iniciar el primer paso a partir de esta encrucijada.

Sin duda mi actividad en la comunidad de desarrollo ha entrado en un momento de retroceso. Y dejar en mi fuero personal, el seguir haciendo chapuzas de código para no olvidarme nunca de hacer.

 

 

Anuncios

Un comentario en “Encrucijadas

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 )

Google+ photo

Estás comentando usando tu cuenta de Google+. 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 )

Conectando a %s