Por Qué los Desarrolladores No Deberían Evitar el Desarrollo Blockchain

Foto por Markus Spiske

La clave de la brecha de talento que vemos en la esfera blockchain es la educación; la clave para el código seguro son las pruebas exhaustivas y las revisiones por pares. La blockchain de æternity cubre ambos terrenos.

A Pesar del Aumento de los Salarios, Sigue Existiendo una Enorme Brecha de Talentos

Para el lego, el concepto de blockchain es en sí mismo, intimidante. Para los desarrolladores que están fuera de la industria, la idea de cambiar a un entorno nuevo y desconocido donde se modifican paradigmas fundamentales relacionados con la seguridad y la mutabilidad del código es intimidante.

Esta aversión es completamente comprensible. Los medios de comunicación populares están plagados de noticias sobre hackeos de exchange, debacle de DAO, errores de smart contract que resultan en pérdidas de millones de dólares. En total, los informes sugieren que, debido a estos problemas, solo en 2018 se perdieron $1.7 mil millones.

Entonces, mientras que los salarios se están disparando para los desarrolladores en este espacio, muchos prefieren la seguridad del código al que están acostumbrados. Definitivamente, hay profesionales que están dando un “salto de fe” al ingresar a la industria blockchain, pero todavía no hay suficiente competencia técnica en el espacio. De hecho, el 94% de las compañías de Fortune 500 anticipan una escasez de talento en la industria.

Muchos han argumentado que la clave para cerrar esta brecha de talento es a través de la educación. Esto es indudablemente cierto. Pero primero, necesitamos que los desarrolladores estén interesados. Y para que estén interesados, debemos desmitificar la programación blockchain y abordar los mayores temores a los que se enfrentan los desarrolladores al jugar con las aplicaciones de próxima generación que combinan apertura y confianza. Después de todo, es una desviación radical de lo que el mundo está acostumbrado.

Para los desarrolladores que han estado involucrados en esta “revolución de descentralización”, codificar blockchains y desarrollar nuevos tipos de aplicaciones es a la vez desafiante e inspirador, incluso liberador.

Tienes que ser serio cuando se trata de tecnología blockchain.

Otra buena noticia para los desarrolladores reacios es el hecho de que, según el veterano de la programación Dincho Todorov, el desarrollo blockchain aún se encuentra en su etapa inicial. Hay mucho espacio y tiempo para la “sangre fresca”.

Todorov es ingeniero de software, actualmente trabaja en la Site Reliability Engineering (SRE) de æternity. æternity es una plataforma blockchain escalable basada en Erlang que utiliza State Channels para permitir la ejecución de smart contracts off-chain de forma privada y gratuita, y permite la integración de datos en el mundo real a través de Oraclesintegrados en el protocolo.

Nos ocupamos de la infraestructura, los servicios, las herramientas y las tuberías necesarias para construir software robusto. Nos aseguramos de que todo esté bien integrado, sea confiable y utilizable por los desarrolladores, dice Todorov, dando una visión general de su trabajo para la plataforma blockchain.

También estamos ejecutando algunos servicios que ayudan en el proceso de incorporación de nuevos usuarios, mineros y desarrolladores. Un ejemplo aquí son los llamados nodos “semilla” o “bootstrap” que permiten a los nuevos usuarios conectarse a la red de æternity. Otro ejemplo es la API gateway que se utiliza para desarrollar aplicaciones descentralizadas en la blockchain.

Aunque es un campo nuevo, todavía hay muchas prácticas que siguen siendo algo similares a otros tipos de desarrollo, según Todorov.

Al final del día, es solo software. Lo que es diferente es el concepto. Es un tipo de software diferente, pero no creo que necesitemos procesos especiales, especialmente para el desarrollo de la blockchain central.

Se Buscan Desarrolladores: las Perspectivas de “Novatos” Son Valiosas

En primer lugar, para aquellos que no están dispuestos a ingresar al campo blockchain por los riesgos financieros asociados, FinTech es solo una de las industrias donde se puede aplicar blockchain. Segundo, para aquellos que piensan que es demasiado tarde para la fiesta blockchain, esa suposición está lejos de la realidad. Según Todorov, el desarrollo en el espacio puede beneficiarse enormemente de nuevas perspectivas.

El equipo de æternity está creciendo continuamente. De hecho, los nuevos desarrolladores han identificado áreas de mejora. Mirar el código desde nuevos puntos de vista ayuda enormemente. Un punto de vista extra ‘crudo’ puede ayudar.

En muchos casos, la colaboración es algo positivo: cuanto más ojos y manos se involucran, más rápido se logra progresar. Y podría ser reconfortante para los desarrolladores saber que en proyectos de código abierto como æternity, la comunidad global de desarrolladores los respalda. Si hay lagunas en el código, alguien lo encontrará.

Ejecutar pruebas automatizadas, pruebas manuales y revisiones entre pares son los mejores métodos para obtener software estable y sin errores, sin ningún cambio importante, y aún así poder ofrecer continuamente nuevas funciones. Si deseas asegurarte de que las cosas funcionen bien, la clave siempre es probar.

Los requisitos del lenguaje de programación no son necesariamente nuevos. æternity, por ejemplo, está tratando de conocer a los desarrolladores existentes al utilizar los lenguajes de programación más utilizados: JavaScript, Python y Go. Los lenguajes como C ++, Ruby, Java y Rust también son útiles para desarrollar aplicaciones blockchain en plataformas como Ethereum.

Es difícil monitorear la salud y el rendimiento de los nodos en una red peer-to-peer. Actualmente tenemos más de cien nodos para soportar varios entornos. Eso se traduce en muchos servidores, instancias, diferentes configuraciones, etc. Además, el tamaño de la blockchain seguramente se convertirá en un problema en algún momento, ya que se replica en todos los nodos. El enfoque tradicional se basa en bases de datos centralizadas que almacenan los datos. Este no es el caso de las plataformas públicas blockchain.

La ventaja, sin embargo, es que las redes blockchain son muy resistentes. Según Todorov, hay redes de seguridad.

Lo bueno de las blockchains es que son bases de datos distribuidas que se ejecutan a través de redes peer-to-peer. Incluso si, por algún motivo, implementamos el código defectuoso en uno de los nodos, o en general lo estropeamos con los nodos que ejecutamos y con el que admitimos, el resto de la red sigue funcionando porque los nodos ejecutados por los usuarios generalmente no se ven afectados.

Entonces, ¿dónde puedes empezar?

Volviendo al argumento de que la educación es la clave para cerrar la brecha evidente de talento tecnológico, hay una gran cantidad de recursos gratuitos en línea para aquellos que desean comenzar. De hecho, algunos incluso compensan a las personas por aprender.

æternity lanzó un programa de “learn-to-earn”, en el que a los desarrolladores que terminan los tutoriales de æternity creados por Dacade, el grupo impulsado por la comunidad, se les acreditan €100 en AE tokens, por encima de la recompensa de aprendizaje inicial de €50.

https://dacade.org/

æternity también lanzó un programa de incubadora llamado Starfleet, que está dirigido por Æternity Ventures. El objetivo de la incubadora es apoyar y guiar a los equipos que están listos para comenzar a resolver problemas del mundo real en la plataforma.

https://dacade.org/

¿Qué Tan Difícil es la Transición del Software Tradicional al Desarrollo Blockchain?

Todorov explica que, como la mayoría de las cosas, la dificultad dependería del nivel de experiencia de cada desarrollador.

Cuando se trata de tecnología blockchain, también me interesan las herramientas que están disponibles para los desarrolladores y usuarios de aplicaciones descentralizadas. Siempre depende del conocimiento y experiencia del desarrollador. La tecnología Blockchain introduce conceptos diferentes, pero aún así debes estar familiarizado con todos los componentes y lenguajes de cualquier aplicación.

La diferencia con blockchain es que la base de datos es pública y siempre se está ejecutando. Entonces, desde el punto de vista del usuario, no habría mucha diferencia, al menos no para mí. Tengo más de 10 años de experiencia como desarrollador y realmente no encuentro la tecnología blockchain intimidante. No obstante, veo que los desarrolladores enfrentan dificultades incluso con aplicaciones simples. Realmente todo depende de la experiencia del desarrollador.

Si bien la transición de aplicaciones tradicionales a aplicaciones basadas en blockchain presenta desafíos, también ofrece muchas oportunidades, no solo para los programadores sino también para los diseñadores de UX.

Todorov afirma que el aspecto de interacción humana de los servicios blockchain, en particular, necesita mucho trabajo. Muchos han comentado que el aspecto de usabilidad de las aplicaciones blockchain es una pesadilla, lo que dificulta que las empresas las implementen, incluso si tienen intenciones serias de hacerlo. Hacer que la integración blockchain para empresas y usuarios sea lo más sencillo posible es uno de los principales obstáculos para la adopción blockchain. Es una tarea tremenda. Incluso algo supuestamente tan simple como usar una billetera para mover criptomonedas ha estado lleno de incertidumbres para los usuarios.

Estamos desarrollando constantemente las herramientas y servicios básicos de æternity. También tenemos varias suites dedicadas al desarrollo, la integración y las pruebas. Estamos ejecutando estos servicios para iniciarlos en la red. En algún momento, los usuarios tendrán que ejecutar todas estas cosas por sí mismos por razones de seguridad. Y ese es uno de los desafíos con blockchain: enseñar a los usuarios que ellos mismos deben ejecutar los servicios. Supongo que ese es el mayor desafío con blockchains porque es un servicio público, debe ser ejecutado por los usuarios.

En términos de desarrollo, Todorov admite que siempre hay trabajo por hacer. Según él, aún es temprano, tan temprano que muchos de los problemas que se están resolviendo actualmente están relacionados principalmente con la interfaz de desarrollo en sí. Explicando más, dice que la barrera de entrada para los desarrolladores más nuevos se reducirá con la esperanza de que los veteranos actuales trabajen para mejorar aún más las herramientas de desarrollo. De hecho, æternity desarrolló un nuevo lenguaje smart contract llamado Sophia, precisamente con el objetivo de hacer que la programación de smart contract sea más fácil y más predecible, minimizando los errores de código.

La blockchain de æternity y las herramientas son todavía muy jóvenes. Se están volviendo más estables y pulidos cada día. Trabajamos constantemente para mejorarlas, con énfasis en mejorar la experiencia del usuario. La experiencia del usuario es la clave para la adopción general.


Interesado en æternity? Ponte en contacto:

GitHub | Forum | Reddit | Twitter | YouTube | LinkedIn


Leave a Reply

Your email address will not be published. Required fields are marked *