La blockchain de Babel

Programadores blockchain: cobran US$ 200.000 y los buscan en todo el mundo

La criptoeconomía depende de blockchain, la tecnología distribuída que permite las transacciones en cripto. Detrás del desarrollo, hay nuevas y viejas tecnologías.

"Quieren que use blockchain para algo, no importa qué. Pero quieren salir a decir que en la organización también lo tenemos", cuenta un desarrollador senior, escéptico de la cadena de bloques y su popularidad.

"Me armo una base de datos tradicional y estoy joya, ¿para qué quiero blockchain?", se pregunta en voz alta. "Es el futuro, se va a usar en todo", dice otra voz más cercana al hype corporativo. 

Pero también los hay moderados que pueden explicar con soltura y seguridad uno o dos casos reales de uso y un puñado más de aplicaciones teóricas pero factibles. 

Blockchain, entre la epopeya y la propaganda, se posiciona como la tecnología que todos miran aunque sin seguridad de por qué. Apalancado al éxito financiero de bitcoin y la cripto economía en general, cuya máxima expresión se da en países como la Argentina (inflacionarios, devaluados y con un mercado de divisas restringido), se abre camino en los perfiles de los programadores que buscan un CV más atractivo para el mercado criptográfico.

¿Qué es blockchain, la tecnología que viene a revolucionar las finanzas?

No es algo menor: si bien el interés y las inversiones en esta tecnología empezaron -tímidamente- tan temprano como 2014, para septiembre de 2021, 81 de las 100 principales empresas públicas están coqueteando con la tecnología blockchain.

Aunque cabe destacar que esta cifra también incluye empresas en una fase de investigación que puede arrojar o no resultados concretos para el negocio. 

Así lo expresa un reciente estudio de Block Data, la división de criptografía de la consultora CB Insights, que también arroja otro resultado interesante.

 Estas empresas usan más de 30 soluciones DLT distintas (Tecnología de Libro Mayor Distribuido, por sus siglas en inglés, casi un sinónimo de blockchain aunque con diferencias). 

En este caso, Hyperledger Fabric es el DLT preferido por las 100 principales, y el 26 por ciento de ellos utiliza actualmente la tecnología

Le sigue Ethereum con un 18 por ciento y Quorum con un 11 por ciento por ciento. Empresas como Amazon, Microsoft, Visa, Mastercard, Tencet y Walmart  ya tienen productos en el mercado que están apalancados en blockchain. 

 Fuente: Blockchain Development Trends 2021, Outlier Ventures. 

Un número dice más que mil palabras: para 2022, la firma International Data Corp informa que el gasto total en blockchain alcanzará los US$ 12.400 millones. Pero la vorágine no viene sola.

Para sostener este crecimiento se necesita mano de obra y en esto blockchain no es diferente a ninguna otra industria: necesita de sus propios proletarios informáticos y en cantidades industriales. 

Según la empresa de educación tecnológica The Blockchain Academy, en su informe de empleabilidad de 2021, blockchain está en el top de la lista cuando se trata de las 10 habilidades duras más buscadas de 2020

El desarrollador de blockchain multiplicó por 33 su presencia en los mercados y es el puesto más emergente de 2020 a la misma vez que la demanda por parte de las empresas aumentó entre 300 y 500 por ciento, según la misma firma. 

Las búsquedas de trabajadores freelance que desarrollen en algún lenguaje compatible con una estructura blockchain creció 6.000 por ciento, según los datos de la firma Blockchainjobs. 

Blockchain está en el top de la lista cuando se trata de las 10 habilidades duras más buscadas de 2020

¿Cómo se preparan entonces los futuros programadores del que parece ser el desarrollo tecnológico más pujante de la década?, ¿y vale la pena hacerlo para quienes dudan que quede algo cuando baje la espuma?

Paso a paso, bloque a bloque

Solidity

 Como tecnología, blokchain es un producto relativamente nuevo. "El protocolo que se publicó originalmente en el whitepaper de 2009 de Satoshi Nakamoto que estableció las bases de una red descentralizada, la arquitectura y los algoritmos a resolver. El protocolo se construye con nodos descentralizados y el algoritmo es el Proof of Work. Cuando se escribió ese protocolo fue que apareció el caso de uso, se hizo para poder generar una moneda digital. Nació para eso", resume Gabriela Genovese, encargada de Investigación e Innovación en IOVLabs e impulsora de ecosistemas DeFi en la Argentina. 

Gabriela Genovese, encargada de Investigación e Innovación en IOVLabs e impulsora de ecosistemas DeFi en la Argentina. 

Es decir, blockchain es un concepto más que un desarrollo en sí mismo y por lo tanto es hasta cierto punto agnóstico para los desarrolladores. 

"Blockchains puede haber en un lenguaje u otro, la elección de un lenguaje específico tiene que ver con el uso que se le quiera dar. Ethereum está en Go, así nació, eso fue una decisión del core team de programación. Puede ser que se tenga mucho know how o se buscaba escalar y por eso se lo eligió. Aparecieron otras blockchain y van tomando un lenguaje distinto, puede ser que sea un fork. Por ejemplo, RSK es un fork de Ethereum y está programado en Java porque el que lo pensó ya tenía experiencia en ese lenguaje. Cardano tiene una programación rara, pero porque está pensado para un roadmap distinto", agrega. 

"Blockchain tuvo su primera implementación de capa uno con Bitcoin, pero al subir de capas hay que priorizar lenguajes según que se quiera hacer, cuando aparecen los smart contracts, con lógica automática de ejecución de reglas esa propia arquitectura pedía nuevas funciones", explica Genovese. 

Así, cuando las necesidades que buscaban en Ethereum no podían ser saldadas del todo por el propio concepto que se proponía se buscaron alternativas. Así nació Solidity, un programa que apoyándose en JavaScript, Powershell y C++ se volcó de lleno a la programación de contratos inteligentes y hoy es estándar en la industria

"Se pueden usar diversos lenguajes para programar contratos inteligentes en blockchain, sin embargo, el lenguaje más adoptado por la industria global es Solidity. En este lenguaje se desarrollan contratos para representar instrumentos transferibles como monedas y elementos únicos (NFTs), como así también contratos de compra y venta de los mismos", agrega Yemel Jardi, docente del programa Blockchain de la Escuela de Innovación del Instituto Tecnológico Buenos Aires (ITBA). 

En la industria la situación es similar. Así lo explica Fernando Boiero CTO y cofundador de la fintech Xcapit, "Los desarrollos blockchain usan Solidity para el desarrollo de smart contracts, Javascript y Typescript para el desarrollo frontend y el testing de smart contracts y Python para el backend. Hay otros lenguajes que también se usan, como por ejemplo, Vyper para la programación de smart contracts y Python para el testing de smart contracts. Pero todavía los más populares siguen siendo esos". 

Se pueden usar diversos lenguajes para programar contratos inteligentes en blockchain, sin embargo, el lenguaje más adoptado por la industria global es Solidity

En la misma línea, Emanuel Borda, líder de Tecnología blockchain en el exchange Ripio, agrega que "generalmente se suelen utilizar lenguajes de programación donde se integre la conexión y la interacción con una red blockchain. Los más utilizados para ello son Python y JS, luego para desarrollar soluciones directamente sobre blockchain el más utilizado es Solidity, claro está sobre una EVM (Ethereum Virtual Machine). También se está empezando a utilizar mucho Rust, dado que están apareciendo diferentes tipos de blockchains donde se busca mejorar la performance en general". 

 Fuente: Blockchain Development Trends 2021, Outlier Ventures 

Conseguir este know how en la Argentina, en rigor de verdad, no es sencillo. Por el momento se trata de un conocimiento incipiente, que está dando sus primeros pasos de manera formal en la academia. 

Por lo que quienes hoy lideran estos desarrollos tuvieron, en varios casos, que forjarse a la vieja usanza: a través de las huellas -readmes, foros, documentos comunitarios- digitales que dejaron los primeros aventureros de la blockchain. 

"Quien recién comience a desarrollar con blockchain y en cripto tiene que ser autodidacta, analítico y pragmático. Son skills muy necesarias porque muchas veces se está en la situación de estar probando libs nuevas, construyendo en ellas y leyendo mucha documentación. La comunidad de desarrollo de libs ha crecido de una manera exponencial y su documentación está mucho más madura con respecto a años anteriores donde uno se encontraba con muchos problemas", expresa Borda. 

A esto, agrega Jardi, hay que sumarle "aprender Solidity y tecnologías web3, como principales herramientas que un programador blockchain debería conocer. La mejor forma de aprender es trabajando en alguna empresa de la industria o convirtiéndose en contribuidor de algún proyecto de código abierto en el sector". 

La formación parece estar soportada en tres pilares, siendo el más reciente la formación académica específica

"Recién ahora están apareciendo dentro de la academia, desde las ciencias de la computación. Pero sigue siendo muy comunitario y autodidacta", resume Genovese.

 Cazadores y cazados

Los sistemas tradicionales de educación están llegando a suplir la demanda de conocimiento sobre blockchain, a paso lento pero firme. 

Esta demanda corre, además, en doble vía: lo piden tanto las empresas como los propios alumnos, en su mayoría jóvenes, que se siente más cómodos en la criptoeconomía. 

"Nuestra educación superior funciona bien y se adapta rápidamente a las nuevas tendencias", comienza Ricardo Wehbe, profesor asociado de la Universidad Argentina de la Empresa (UADE) especializado en IA, teoría de la computación y algoritmos complejos. 

"Prefiero una visión más abstracta y no atarme tanto a un lenguaje. He visto muchos lenguajes ir y venir, es más importante que la gente tenga una base y entienda cómo es la idea subyacente, cuál es la lógica y el sentido", reflexiona y reconoce que si bien hay que tener un producto final que funcione en el mercado es más importante "la visión general". 

La visión de las compañías, sedientas de estos proyectos, difiere parcialmente. "Hoy un egresado de sistemas o de informática que seguramente estudio por su lado, le podría faltar algo técnico pero no es lo importante. Eso se aprende. No es difícil si hablamos de Solidity, es un lenguaje muy parecido a otros. La base de la universidad es super útil pero en este contexto es más importante la capacidad de aprender, la productividad, la resiliencia y la flexibilidad porque como todo se está reinventando hay que adaptarse a distintos flujos de trabajo en el mismo proyecto", subraya Bruno Calmels, cofundador y CTO de Defiant, una billetera nacional y no custodial para criptomonedas. 

Esto impacta directamente en las contrataciones de talento y, en consecuencia, con la escalabilidad del ecosistema local. Es difícil conseguir programadores de blockchain en la Argentina y hay varios motivos: es una tecnología nueva y muy novedosa conceptualmente.

"Aprender rust para Solana no es lo mismo que aprender Java. Habrá dos tutoriales como mucho y seguramente haya que consultar al desarrollador principal del lenguaje mientras que Java tiene una extensa bibliografía. Es mucho de prueba y error", ejemplifica Calmels. 

Por el otro, casi como cara reversa de la moneda, es el impacto en los costos. "Hoy en día un developer de Solidity de smart contracts que entienda de networks y que haya desarrollado suites de plataformas de Smart contracts son perfiles carísimos. Se pagan muy  por encima de la media del mercado y ahí competís con Singapur, con los EE.UU., con China y con Rusia. Son difíciles de conseguir y caros", resume el ejecutivo de Defiant. 

"Para competir recurrimos a otras alternativas, tratamos de empatar los sueldos, creamos los perfiles que no podemos cubrir y hacemos constantemente aprendizajes y capacitación", agrega el CTO. 

"El mercado local se está viendo en grandes aprietos para conseguir programadores, dado que cada vez son más las empresas internacionales que están dispuestas a contratar talento en cualquier parte del mundo. Si un programador habla inglés de manera fluida su mejor opción es trabajar para el exterior, ya sea en el sector blockchain o en cualquier otro", concuerda Jardi. 

Según Cryptocurrency Jobs, el salario de un programador en Solidity ronda los US$ 100.000 al año y puede alcanzar los US$ 200.000 anuales.

Para Wehbe esta situación tiene un driver adicional que él ve en su propia experiencia: "la pandemia demostró que el trabajo remoto es posible, entonces muchos alumnos tienen a ir en esa dirección". 

Acaso más optimista, Boiero cree que si bien "la demanda de programadores en general es muy alta y en la industria es un recurso escaso y más cuando necesitas algún tipo de experiencia previa o especialización", estima que la situación argentina tiene una ventaja "comparado con el mundo la cantidad de programadores blockchain en la Argentina es alta. No obstante, sigue siendo un recurso escaso y de exportación".

Ya sea que blockchain se convierta en lo que pretende, la nueva "internet del valor" tan revolucionaria como lo fue la red de redes durante el siglo pasado, o que caiga bajo su propio peso en ausencia de una verdadera propuesta superadora para empresas, usuarios y organizamos; se necesitan programadores que salgan a la cancha a mostrar los pingos.

Hay que codear y será la sociedad quien decida el futuro de la tecnología de cadena de bloques.

Lenguaje por lenguaje, para qué sirve

Lenguajes de programación.

Solidity

 • Amable con el desarrollador

• Acceso a las infraestructuras de JavaScript, depuradores y otras herramientas

• Posibilidad de heredar propiedades en contratos inteligentes

• Precisión 

 Java

• Soporte robusto para la metodología OOP (Programación

• Orientada a Objetos)

• Facilidad de limpieza de la memoria

• Disponibilidad amplía de bibliotecas

C++

• Gestión eficiente de la CPU y el control de la memoria

• Facilidad de ejecución de subprocesos paralelos y no paralelos

• Opción de mover la semántica para copiar datos de manera efectiva

• Aislamiento de código para diferentes estructuras de datos

Python

• Fácil de aprender

• Acceso a una arquitectura dinámica

• Perfecto para enfoques tanto de base como de scripting

• Código abierto

• Eficiente para la creación de prototipos

JavaScript

• Permite una entrada al mercado más fácil y rápida

• Mejora en la escalabilidad

• Disponibilidad de múltiples marcos de JavaScript de blockchain

• Sin problemas de integración de recursos 

Tags relacionados
Más noticias de Infotechnology

Compartí tus comentarios

Formá parte de El Cronista Member y sumate al debate en nuestros comentarios