Antes de empezar quiero mencionar que es una falacia medir la experiencia en años realizando un trabajo. Podríamos decir que en algunos casos los años son una condición necesaria pero no suficiente… otorgando la mayor importancia al paso del tiempo. Pero no le podemos asignar en términos reales más que eso.
De hecho en algunos casos, la falta de experiencia pudiera hasta ser una ventaja al permitir encontrar soluciones alternativas e innovadoras frente a los que sólo intentan variaciones de las soluciones probadas como exitosas.
Otro factor en contra de los años de experiencia es lo relativamente efímero de las tecnologías. Día a día se generan nuevas tecnologías con paradigmas distintos que van cambiando y transformandose de acuerdo a las nuevas posibilidades tecnolócigas, y como cualquier otra actividad humana, de acuerdo a las modas, y la fuerza con que se promocionen ciertos productos.
Pero más allá de eso, que podemos encontrar de valor en un programador de más experiencia que otros.
Ah… de nuevo… he escuchado a algunas personas, al tratar de ayudarlos a corregir un mal procedimiento o mala práctica que estaba produciendo malos resultados o generando errores, o delays … decir: Hace n años que lo hago de esta forma y siempre lo hice así. Entiendo que a las personas que defienden estos conceptos de «lo hago así» porque «siempre lo hice así» …. el paso del tiempo es totalmente inocuo e imperceptible en relacion con la calidad de su trabajo o la experiencia. Entiendo que si pudieramos vivir milenios… defendiendo tales conceptos… no añadirian nada de valor al paso del tiempo sino que estariamos preocupados por conseguir gente sin experiencia para nuestros equipos.
Hay otro factor en contra de la «experiencia» y tiene que ver con las personas que quieren a su conocimiento como a sus hijos. En tales casos, es habitual que se defiendan ciertas «buenas practicas» que eran adecuadas en tecnologias pasadas o cuando no exisitian tecnologias nuevas. El cambio del entorno hace que muchas «buenas practicas» se transformen en «dogmas burocraticas» ….Por eso prefiero pensar en «decisiones» en vez de «Buenas prácticas» porque las decisiones nos hacen tener presentes pese al paso del tiempo cuales fueron las condiciones que nos hicieron adoptar cierta forma de hacer las cosas
Un factor adicional relacionado con este, con respecto a la experiencia es que las nuevas tecnologías nos llegan con nuevos paradigmas. Si entendemos las nuevas tecnologías en los términos de lo que conocemos previamente, puede que no estemos captando plenamente el concepto de la nueva herramienta, o que no la utilicemos a pleno, dado que la miramos con el cristal de la nueva tecnologia.
Cuando la experiencia cuenta
Lo que presenté es simplemente un alerta para el riesgo que tiene medir el seniority por la experiencia. Personalmente defino el seniority es la capacidad de resolver un problema sin ayuda. Cuanto menos ayuda mas seniority. Añado a esta definicion tambien tener una contextualizacion social y psicologica. He tenido la experiencia de trabajar con profesionales «Senior» en lo técnico que eran «Junior» en lo social, y se reflejaba al revelar problemáticas internas al cliente, en batallas de ego con compañeros del mismo seniority en el equipo o la incapacidad de llegar a acuerdos intermedios en la dinámica de decisiones, o hasta ofuscarse a hacer cualquier tarea ajena a su area de expertise.(Ejemplo Desarrollador Java que no quiere instalar un Servidor SQL local en su maquina presionando Next Next Next Next…. porque deberia encargarse otra area)
Ahora vamos a la ventaja de los años de experiencia.
Y tiene que ver con minimizar los efectos de un defecto comun en la gente que trabaja en el area de sistemas. Muchos ven que resuelven problemas de una complejidad que no es comun en el resto de la humanidad. Como hacer 3 loops anidades, o escribir una lambda expression con 3 filtros en el mismo renglon. Esto les hace tener un sobredimensionamiento de su capacidad e inteligencia (siempre que no se enfrenten a tener que aprender el proximo paso de reggaeton o cualquier otra actividad que se aprenda «copiando» y no «razonando»)
Esta superioridad hace que crean que realizar es similar a saber. Mucho mas si son cholulos de las nuevas tecnologias y creen todo lo que dicen los manuales. Este otro ingrediente, ademas del orgullo y el optimismo es la aceptacion ingenua lo que dice el folleto de cualquier nueva tecnologia.
Los que realizamos cosas y generamos entregables nos enfrentamos a otra realidad, que incluye , un cliente que no nos pasa los requerimientos, la falta de credenciales para acceder a un servidor, las bases no normalizadas que dejo el programador anterior, el parametro que limita la cantidad de conexiones concurrentes a la base de datos, el limite de bandwith de la red, el servidor que se apaga cuando el personal de limpieza pasa la aspiradora, las tecnologias que no funcionan como dice el manual, la incompatibilidad de versiones entre las diferentes tecnologias que deberian trabajar conjuntas en una aplicacion, y muchas cosas mas que tienen que ver con todo menos con nuestra actividad.
En ese caso la visibilidad de esas otras cosas, todo lo que esta implicado en levantar un entorno, en conformar un equipo, en comunicarse con gente que no entiende, son cosas que se van generando con «la experiencia» mencionando como experiencia especialmente a la vivencia de haber pasado por una diversidad de proyectos..
En eso creo que existe una ventaja… pero nunca le cerremos las puertas al que no supuestamente no tiene experiencia
Los alertas de los expertos
Existe sin embargo algunas situaciones en que nos sentimos complacidos de tener un experto en nuestros equipos. Más allá de lo beneficioso y de que en muchos casos hasta pueda ser la clave del éxito del negocio, esto levanta un alerta o una pregunta.
Recuerdo que con un cliente teníamos un equipo en el que el Tech Lead era la clave en muchos aspectos, tanto en la comunicación con el cliente, asegurar la calidad, transmitir al equipo los requerimientos, encontrar soluciones técnicas complejas así como de entendimiento, y superar las expectativas del cliente. Es decir sobreentender lo que era mejor para el cliente. Esto permitió hasta que el cliente acepte nuevas prácticas como metodologías ágiles aún cuando era reticente.
Si bien el tech lead en cuestión era la figura indiscutida del equipo tanto para el cliente como para nosotros, en las reuniones mensuales en que revisábamos las contrataciones, era parte de la agenda habitual un tema.: «Como reemplazar al Tech Lead». Si bien era una parte clave en el equipo para entregar el servicio de calidad que todos esperábamos, era un riesgo muy grande que el factor clave de éxito sea una persona.
Por más que nos pese, seguimos siendo mortales, y podemos faltar sin aviso previo. El que la clave de éxito sean unas pocas personas puede mostrar la fragilidad de nuestro proceso o nuestro servicio.
Entonces, creo que no me equivoco al decir que cuanto más expertise requerimos de los integrantes del equipo puede ser que esté evidenciando la fragilildad de nuestro proyecto o de nuestro negocio. Tal vez está mostrando que nuestro proceso no es mantenible, no es intuitivo, está sobre complejizado, o no tiene una documentación práctica y suficiente. Una segunda evidencia de estas fragilidades pudiera ser la curva de aprendizaje inicial que requiere un nuevo para empezar a ser productivo.
Entonces, en ese sentido, la necesidad de alto expertise debe ser un alerta que no seria sabio pasar por alto. Si bien puede ser beneficioso en etapas iniciales de proyectos para aprovechar el momento de la oportunidad, deberíamos revisar si esta tendencia perdura en el tiempo.
Lo valioso de la no experiencia
En la época en que mi esposa no conocía de sistemas muchas veces la «usaba» de usuario precisamente por su NO EXPERIENCIA.
Ya del vamos, el explicarle lo que estaba haciendo como reestructurar la base NoSql para que los indices traigan una cantidad de informacion manejable, y la respuesta de ella era de gran ayuda, de cosas que yo no percibía como «tenés la corbata corrida hacia un costado»
Si bien eso me ayudaba a no tener imprevistos con la respiracion cuando hiciera la presentación, tambien me ayudaba a no improvisar las palabras o no hacer repeticiones innecesarias cuando lo explique al cliente.
Otro factor al que ayudan los sin experiencia es el proponer soluciones disruptivas, sin estar contaminados con las soluciones que venimos usando de siempre. Pensar out of the box. Y tambien cuestionarse todo, para no seguir con la inercia de seguir adelante con buenas practicas que ya son obsoletas.
Y una tercera ventaja es el glosario. Cuando se trabaja entre expertos empiezan a surgir palabras que tienen un significado en la pequeña comunidad en la que se generaron. La gente que NO TIENE EXPERIENCIA nos ayuda a recordar que esos terminos son nuestros, y a tener presente su definicion. Esto es muy importante porque es un obstaculo muy grande a la comunicacion los «sobreentendidos» . Una frase que un amigo siempre me repetia era «La suposicion es la madre de las c…..» no se como decirlo en terminos adecuados… La suposicion es la madre de los errores…
Por eso los años que pasan trae ventajas y desventajas. Es totalmente falso medir la experiencia en años.
Pero yo no quisiera que pasen los años para mi.