_bitácora

Título escandaloso sobre los desarrolladores colombianos*

Por Yuji Kiriki

Introducción

¿Hay escasez de desarrolladores talentosos en Colombia? Obviamente sí. Es un fenómeno mundial. Por infinidad de razones, y todas están “explicadas” a un google query de distancia.

Lo que me motivó a escribir fueron dos blogs que publicó Alex Torrenegra y la respuesta de Juan Pablo Buriticá.

Me había negado a escribir sobre eso, tratando de tapar el sol con mis manos. Cuando lo leí sentí que lo único que buscaban era antención gracias a la controversia: títulos rimbombantes y llamativos, rayando en lo escandaloso. Cifras sacadas debajo de la manga. Al leer sentía como cuando un presidente colombiano demuestra gestión después de haberle metido la mano a los artefactos de medición del DANE.

Luego de un tiempo me dí cuenta que lo que ellos habían escrito sí había hecho un cambio: trajo consigo rumores, chismes y conversaciones de corredor.

Esta entrada pretende seguir fomentando el chisme, aumentar la cantidad de rumores y conversaciones que podemos tener al calor de un tinto sin que sirva para una posible solución al “problema” de escasez de desarrolladores y sus culpables.

Para poder hacerlo, trataré de seguir la misma línea de los icónicos artículos y así, no rayar el parche.

Tengo que demostrar experiencia conociendo desarrolladores y la industria

Obviamente, si no ¿cómo justifico que tengo autoridad para hablar sobre este tema y así poderlos envolver en mi Argumentum Ad Verecundiam?

Hace 8 años recluto* desarrolladores de software para una PyME. A la fecha hemos contratado más de 100 desarrolladores. Muchos de ellos aún hacen parte de la empresa. Muchos otros se han ido a otras empresas, han cambiado de profesión, han iniciado su emprendimiento o se han ido a estudiar al exterior.

Todos los vinculados han pasado por nuestro proceso de reclutamiento: 1) Evaluación de hoja de vida por psicología. 2) Entrevista con psicología. 3) Prueba técnica teórica escrita. 4) Prueba de código para la casa. 5) Entrevista con algún líder de equipo de la empresa.

La entrevista tiene como objetivo sentarse una hora con el candidato a darle retroalimentación sobre la prueba escrita y hacer un code review sobre la prueba de código. Explicarle qué consideramos que está bien, qué errores cometió, qué oportunidades de mejora tiene, qué libros debería leer, etc. Tratamos, como sea, de que salga de la sesión motivado a aprender más.

Hoy en día, el equipo de psicología verifica entre 400 y 500 hojas de vida al mes, de las cuales en promedio se realizan 147 entrevistas y se hacen 57 pruebas escritas y de código. Eso quiere decir que a la fecha me he sentado a charlar por una hora con cerca de 1000 desarrolladores durante estos últimos 8 años (esta cifra es aproximada, pues los primeros años no eramos tan expeditos como hoy).

Obviamente esa cifra trata de ser escandalosa para que se convenzan de que tengo autoridad para hablar sobre el estado de los desarrolladores en Colombia y sigan leyendo.

Durante la existencia de esta PyME, hemos entregado más de 100 productos de software para distintas industrias y el gobierno colombiano. La duración promedio de un proyecto es de 6 meses con equipos de entre 3 a 15 desarrolladores. Para que se hagan una idea, hagan de cuenta que hemos construido, mantenido y evolucionado unos 100 productos del tamaño de una startup “medianita” (sea lo que sea que eso signifique).

Esta PyME fue construída de la nada. Sin capital de algún inversionista. Inscribimos la empresa en CCB con COP$ 350k (cada socio invirtió COP$50k). A punta de respirar profundo, hoy en día operamos desde Bogotá y Medellín construyendo y entregando productos de software en Latinoamérica. Para resumir: empresa colombiana con talento colombiano (y panas venezolanos) haciendo software colombiano para el mundo. Con esto quiero convencerlos de que conozco un poco la industria (argumentum ad verecundiam).

Para poder entender el “problema”, debemos empezar a encontrar culpables. Bueno, eso ha sido al menos el ejercicio que han hecho los demás.

Hay que culpar a la academia

El señor Torrenegra culpa a las universidades por no estar produciendo desarrolladores de software calificados o expertos.

Él ejemplifica que

” A lucky Colombian systems engineer gets to study around 70% of the classes that a software engineer gets to study. The other 30% is packed with finance, business, and management. And this is bad”.

No veo cómo eso es un problema para los desarrolladores de software.

¿No es acaso una de las habilidades más codiciadas en un desarrollador, su capacidad de entender dominios de negocio? Si no tiene fundamentos mínimos de economía, administración, contabilidad, etc, ¿cómo pretende un desarrollador entender y entablar una conversación con un experto de negocio/inversionista/cualquier ser humano no técnico para así saber qué solución de tecnología se le puede construir?

“Their ultimate professional goal is to manage other people.”

Esta pregunta va para los más viejitos: ¿no es acaso el reto más grande en un equipo de software lograr crear un ambiente y condiciones propicias para escribir buen código? ¿No son los libros de psicología y comportamiento humano los libros que uno lee con esmero para tratar de entender la condición humana y al individuo para, de alguna manera, poder formar los mejores equipos que en consecuencia construyan un buen producto de software?

En este punto me dí cuenta que muy seguramente el señor Torrenegra construye software de una manera muy particular pues, si no necesita desarolladores “generalistas” ¿cómo logra que ellos entiendan lo que hay que hacer y cómo ellos pueden aportar a la solución de un reto? ¿Será acaso que él los ve como pega-ladrillos (no peyorativo) que le deben obedecer?

“As we say in Colombia, “tenemos mucho cacique y poco indio,” meaning “we have many chiefs and few Indians.””

Coincido, pero eso ¿es culpa de la universidad? Acá prefiero esconderme detrás de otra célebre frase:

“En Colombia, doctor se le dice a cualquier hijueputa”

Históricamente en Colombia, el ascenso social se ha logrado a través de la prosperidad económica, bien sea a través de negocios lícitos o ilícitos, estudio, o unión de capitales familiares a través de matrimonios.

Con base en ese hecho, no es justo culpar completamente a la formación impartida por la universidad. Hace parte de nuestra idiosincrasia, una relación directamente proporcional entre ingresos y número de personas subalternas, haciendo que ser “doctor” sea preciado.

Es fácil culpar a la academia. Pero una vez una profesora de la Universidad de lo Andes me preguntó en un panel: ¿qué están haciendo las empresas para convencer a los jóvenes bachilleres de que estudien ingenieria de sistemas y computación?. Me quedé mudo porque no supe responder.

Por otro lado, no estoy de acuerdo en que una formación generalista impida la formación de buenos desarrolladores. Finalmente, como en cualquier carrera universitaria, la persona y su vida laboral es quien termina definiendo qué hacemos y cómo lo hacemos.

Si la universidad nos deja con las bases en hard y soft skills se puede construir lo que sea, siendo los soft skills más valiosos: disciplina, auto-apredizaje, resiliencia, tolerancia a la frustración, comunicación escrita y verbal, etc. Adicionalmente si la universidad fomenta los hard skills como el racionamiento lógico, a través del ciclo básico, quienes estamos desaprovechando el potencial somos las empresas.

Ahí entra el artículo del señor Buriticá.

Hay que culpar a las empresas

El señor Buriticá explica que no hay escasez de desarrolladores. Según él, el problema es que las empresas de la industria de software en Colombia son malas. O con el eufemismo: “Necesitamos mejores empresas”.

“En Colombia tenemos una industria de software que no está lista para contratar personas que están experimentando con Go o Rust”.

Si el señor Buriticá puede argumentar que su equipo es una demostración de que no hay déficit de desarrolladores de software, creo yo, que puedo poner a nuestra PyME como contraejemplo de sus aseveraciones pues, desde hace más de dos años, no hemos escatimado esfuerzos en fomentar el uso de diferentes tecnologías en Colombia: Scala, Akka, Play, Apache Spark, Apache Cassandra, Apache Kafka, JS, Docker, chef-solo y muchas más ya hacen parte del ecosistema de las más tradicionales empresas del país. Y no sólo eso. Fomentar comunidad y entrenar a nuestros desarrolladores hace parte de la demostración de contraejemplo.

“Esta industria definitivamente tiene un déficit y es un problema que ella misma se ha creado. No son un sector atractivo para trabajar, incluso tras haber aumentado los salarios gracias a una afluencia de consultorías extranjeras y empresas near-shoring.”

Las condiciones del mercado han permitido que nos volvamos mercenarios. Y eso es bueno. Habla muy bien de qué tan talentosos y valiosos nos hemos vuelto los colombianos. Por otro lado, confirma la escasez.

Llegan startups extranjeras o llegan empresas extranjeras con sus grandes billeteras (sumándole la escalada del dolar) a “comprar” talento colombiano. Y eso también es bueno.

Con una billetera suficientemente grande es posible salir de compras y especular sobre cuánto debería o no debería ser el salario de un desarrollador colombiano. Así el salario mínimo en Colombia para 2015 sea de COP$644.350. Y obvio, acá en Colombia, cualquier persona de cualquier industria por un salario de un orden de magnitud más grande que el mínimo, hasta trabaja en una startup.

Lo que demuestra hasta acá el artículo del señor Buriticá es que con la distorsión que una billetera llena de dolares puede causar, no se percibe que sí hay escasez de desarrolladores. Y es entendible pues, las restricciones sobre las que su empresa trabaja son muy diferentes a las nuestras como PyME.

Al estar él basándose en el hecho de haber formado un equipo a punta de salario y beneficios con capital extranjero, se ha puesto automáticamente por fuera de las condiciones que tenemos en la industria colombiana de software y, desde la barrera, cuestiona a los que estamos lidiando con el toro y dejando la piel en la cancha.

Lo mismo ocurre con muchas otras startups y muchas otras empresas argentinas, uruguayas, españolas, indias, chilenas y mexicanas de las cuales me mantengo al día dado que son mi competencia más feroz como PyME que somos.

Bajo ninguna circunstancia estoy en desacuerdo con que los desarrolladores deban ganar más. Soy el primero que lo cree.

La distorción en salarios hace que se inflen los precios de los proyectos de software debido a que los desarrolladores ganan más. Luego, estos precios son asumidos por nuestros clientes que, al ver las cifras y compararlas con otros oferentes internacionales, les parecerán ridículo. Ahí es cuando uno como PyME deja de vender y, si deja de vender, deja de pagar salarios, sin importar su cuantía.

Recuerden que las fábricas de software son invento extranjero y que es muy fácil contratar equipos en el extranjero por 6 o menos dolares la hora.

En este punto las personas me cuestionan que lo que los clientes deberían valorar es la “calidad superior”. A estas personas les pido que se documenten sobre cómo funciona en Colombia la compra de proyectos de software.

Recuerden que quienes toman las decisiones de un proyecto no les interesa si se hizo en COBOL, en SQL, en Ruby o en Scala. Si se están usando las tecnologías más hipsters y trendy o no. Lo que les interesa es el resultado financiero del ejercicio y, si alguien me lo promete por la mitad de lo que usted cobra, pues que decisión más sencilla.

“La industria del software empresarial en Colombia necesita poner los pies en la tierra, mejorar su estándares y condiciones laborales generales, si quiere algún día llegar a ser un sector competitivo.”

Estoy seguro que esta aseveración se basa en “me han contado”, “supe de alguien que”, etc.

Esas historias también las he escuchado. De las personas que entrevistamos y de las personas que trabajan conmigo. Y de nuevo, tomando como ejemplo el argumento del equipo talentoso del señor Buriticá, puedo aseverar que nuestra PyME es diferente a lo que él considera como empresas no competitivas. Esto, naturalmente, se ha convertido en nuestro mayor mecanismo de consecución de personas talentosas.

Pero no solo es encontrarlas. Es darles espacio para el desarrollo de su autonomía y su maestría en el contexto de la ejecución de un propósito aprovechando la inteligencia distribuída. Son estos los fundamentos del “Manual de Identidad” de nuestra PyME.

Tenemos un equipo de personas dedicadas a fomentar el bienestar de las personas. No solo se trata de que tengan dos pantallas o que puedan tomar cerveza en la oficina. Es estar ahí en caso de fallecimiento de un ser querido, incapacidad, paternidad o maternidad, libranzas, etc. Lo hemos venido haciendo desde que podemos, así no siempre hayamos podido exportar nuestros servicios al exterior y entendiendo las restricciones de no haber iniciado esta empresa con capital nacional o extranjero.

La excelencia técnica de los equipos de esta PyME es reconocida por nuestros clientes y nuestros pares. Como el señor Buriticá dice, eso depende de la orientación técnica de nuestra empresa. Vale la pena aclarar que esa orientación técnica la tenemos hace rato, por lo que a nuestra PyME hasta este punto el artículo no nos ha generado valor.

Hay que culpar a los desarrolladores

Ha sido interesante que en ninguno de los dos artículos se ha mencionado la responsabilidad que tienen lo desarrolladores en este problema.

Queridos desarrolladores, si quieren valer más, háganse más valiosos. Esta opinión ya la expuse claramente en “Un desarrollador de 20 millones mensuales”

Si quieren tener mejor salario, hagan un trabajo que sea más valioso. ¿Cómo? Si nos compran por ROI, generen ROI. Así sea usando COBOL, pues eso es lo de menos.

Aprendan inglés. Estudien mucho. No le tengan miedo a los papers. Pregunten, equivoquense, aprendan. ¡Lean! Propongan, cuestionen, sacien su curiosidad. No esperen a los proyectos para aprender, lleguen aprendidos. Escriban y lean código todos los días. Aprendan a escribir y hablar asertivamente. Ojo con la ortografía y la redacción. Sean empáticos con los problemas a resolver, pues siempre hay un alguien que se va a beneficiar y no necesariamente es ROI. Recuerden que hacer software es una expresión de amor.

Hay que llegar a una conclusión que no solucione nada

Para poder cerrar, quiero cerrar como lo hicieron los autores de los blogs que inspiraron esta respuesta. Seguir opinando y emitiendo juicios de valor sin sentido sobre lo que yo creo que es correcto (a pesar de que estoy seguro que no implica nada).

La escasez de talento la hemos afrontado con mucho cariño y respeto. Cariño, en cuanto a la paciencia y humildad que hay que tener frente a los desarrolladores que hasta ahora están entrando al mundo laboral o, a aquellos que lamentablemente han pasado por proyectos mal ejecutados. Respeto, por lo que saben, por lo que son y valorándolos por su potencial inmediato.

Cada vez que alguien se va de nuestra empresa le pregunto: “¿lo que hizo y aprendió en S4N le sirvió para conseguir su nuevo trabajo?” Gracias a todo el esfuerzo de los diferentes equipos de nuestra PyME, esta respuesta siempre ha sido positiva.

Es un despropósito estar culpando a unos o a otros. No tiene fin y se queda en chisme, rumor y charla de pasillo. Más bien los invito a demostrar a través del ejemplo, en vez de estar hablando tanto de cosas que no entienden, ni viven, ni resuelven.

*Nota sobre lenguaje incluyente

Los conocidos, lamentables y reprochables horrores que viven muchas personas debido a su condición social, sexual, física, moral y/o religiosa, nos ha llevado a cuestionar la forma más correcta de hablar y escribir.

Después de mucho leer, no he logrado llegar a la conclusión de cuál es la mejor manera de referirse a los desarrolladores de software. ¿Debe ser desarrolladores y desarrolladoras? ¿Desarrolladoras y desarrolladores? ¿Ingenieros e ingenieras de software? ¿ingenieras e ingenieros de software? ¿Debería hacerle caso a la RAE? ¿Debería seguir mi intuición y dejar evolucionar el lenguaje y dejar de seguirle la corriente a la RAE? ¿Debería seguir una fuente diferente y seguir la línea deconstructista de Derrida sobre el género?

Por facilismo me acojo a las reglas de la RAE, sin desconocer las implicaciones que esto trae, cruzando los dedos para que eventualmente nuestra sociedad se decida a estandarizar la natural evolución del lenguaje (esta idea siempre me ha gustado).

bitacora/