128

Cómo ser developer en la Web3

14505Puntos

hace 3 años

Recientemente ha habido rumores acerca de la tecnología Web 3.0, rumores que han trascendido más allá de la comunidad del desarrollo de software. Unos dicen que es muy fácil hacerte rico creando un proyecto blockchain o una aplicación descentralizada. Otros más dicen que para ganar un salario de 5 cifras basta con aprender a programar Solidity.

Si bien las estadísticas al colocar a los desarrolladores blockchain como una de las profesiones mejor pagada en tecnología nos indican que estos rumores podrían ser ciertos, se podría estar omitiendo el trabajo previo que conlleva ser un developer en la  Web 3.0.

¿De verdad puedo hacerme millonario con una dapp?

¿Basta con aprender Solidity para comenzar a crear Smart Contracts?

¿Crear una dapp es tan sencillo como dicen?

En este artículo buscaré desmentir algunos malentendidos  que rodean esta tecnología, pero al mismo tiempo te ayudaré a trazar una ruta para que puedas iniciar tu carrera en blockchain.

Muchas de las ideas que aquí discutiré eran concepciones que yo mismo tenía cuando recién comenzaba, así que no te sientas mal si notas que caíste en alguna de ellas. Al contrario, ve el lado bueno y comienza a trazar tu camino de nuevo.

https://c.tenor.com/S2_k8jNhy1QAAAAC/the-mandalorian-this-is-the-way.gif

¿Llegaste tarde a la Web3? Esto necesitas antes de iniciar como developer

Si lo que tenías planeado apenas llegar al desarrollo en la Web 3.0 era crear un utility token, una stablecoin o incluso tu propia blockchain, lanzarla al mercado y volverte millonario en unos meses; lamento darte la mala noticia pero llegaste tarde.

Recientemente, un porcentaje significativo de personas han llegado a interesarse en la Web 3.0 ya que esta tecnología representa un sinónimo de dinero fácil. Lamentablemente, hasta antes de 2018 esto era así; cientos de  personas clonaban proyectos existentes como bitcoin, o tokens de Ethereum para crear su propia crypto, lanzarla al mercado y volverse millonarios. Esto no es malo en sí mismo, después de todo de eso se trata el código libre, lo que sí es recriminatorio es que su único fin fuese vender estos tokens sin otorgar ninguna ventaja o utilidad a sus compradores. A estos proyectos la comunidad les ha asignado el nombre de “shitcoins” .

Hoy en día la comunidad es más consciente de los riesgos que implica invertir en proyectos recién creados, por ello evalúan sus aspectos fundamentales. Algunas de los parámetros que se examinan en una ICO son los siguientes:

  • Utilidad o función del token
  • Plan de emisión y asignación de los tokens
  • Hoja de ruta del proyecto

De estos tres, la primera es una característica esencial, por lo cual si no tienen una utilidad para los usuarios es clasificada por default como un proyecto estafa o shitcoin.

Tweet de cryptobcncat

En perspectiva, crear un proyecto blockchain solo para hacer dinero con la venta de los tokens es una razón incorrecta para crear uno, algo inviable, y en algunos países es ilegal. Estoy seguro que este no es tu caso y qué te interesa esta tecnología porque quieres aportar a la construcción de un internet más descentralizado, sin embargo, me gustaría remarcarlo de neuvo:

Llegaste tarde para volverte millonario con una shitcoin, pero llegaste justo a tiempo para hacerlo construyendo la web 3.0.

Si te interesa seguir la carrera de desarrollador web, Platzi te puede preparar con cursos específicos y de calidad.

Los Fundamentos de Blockchain: empieza por aquí

Antes de poner manos a la obra y comenzar a escribir líneas de código en la Web 3.0 debes conocer los cimientos donde se encuentra fundada: La Blockchain.

Cuando hablamos de estudiar una blockchain no solo se trata de saber su funcionalidad básica, sino de examinar en un contexto general sus elementos internos y externos. Entre sus componentes internos, es decir, los que podemos ver dentro del bloque, se encuentran las llaves criptográficas, funciones de hash, transacciones,  árboles de merkle, etc. Entre los componentes que afectan de manera externa una blockchain tenemos el algoritmo de consenso, los nodos, los mineros y los usuarios.

Afortunadamente la mayoría de las blockchain comparten cierta estructura, por lo que una vez que sepas cómo se comportan en general podrás trasladar los conocimientos entre sus diferentes implementaciones. Sin embargo, son los componentes que las hacen distintas los que requieren un estudio exhaustivo si es que queremos dominar dicha blockchain.

Por ejemplo en Ethereum, el elemento que merece ser estudiado en profundidad es la Ethereum Virtual Machine, mientras que en Bitcoin es su estructura de transacciones conocida como UTXO’s.

Puedes darle un vistazo a la serie de “fundamentos básicos” que hice para Bitcoin y Ethereum respectivamente para que comprendas mejor esto:

Bitcoin: Fundamentos Basicos

Bitcoin: Fundamentos Basicos

Fundamentos Basicos de Ethereum

Fundamentos Basicos de Ethereum

Una vez que conozca de manera general cada una de las piezas que componen la cadena de bloques es momento de comenzar a programar nuestras aplicaciones descentralizadas, ¿no?

Conoce: ¿Qué son las aplicaciones web? Características y ejemplos.

1. No inicies con solidity

“Aprendo Solidity y después crearé una dapp” es igual a decir “Me subo a un coche fórmula 1 y ganó el campeonato”. Ambas son acciones posibles pero en una oración tan corta no cabe todo el trabajo previo necesario para conseguir estos objetivos.

¿Qué pasa si te subes a un coche de fórmula 1 sin entrenamiento previo?

Puede que lo conduzcas y llegues a unos 200 km/h, sin embargo es muy probable que te desmayes en la primera curva debido a que tu cuerpo no está acostumbrado a soportar las fuerzas G a esa velocidad, por lo cual terminaras estrellandote en un muro.

¿Que va a pasar si comienzas a codear en Solidity sin tener los conocimientos base de la programación en otro lenguaje?

Terminaras estrellándote con la frustración.

Solidity es un lenguaje de propósito específico: la creación de smart contracts, los cuales no son otra cosa que bloques de código que se ejecutan en la blockchain. Su sintaxis no es ajena a la programación tradicional como pudiera pensarse, al contrario, tiene sus bases en esta y como en cualquier otro lenguaje tendrás que lidiar con condicionales, variables, ciclos, etc. Por esta razón, no solo es recomendable sino que hasta obligatorio tomar un poco de experiencia manipulando lenguajes de propósito general como C++, Javascript o Python antes de  comenzar en el desarrollo de Smart Contracts.

Creeme, yo pase por ahí; también comencé a aprender programación para desarrollar en blockchain e inicié con Solidity. Grave error. Lo único que hice fue perder mi  tiempo ya que no comprendía la mayoría de los conceptos provenientes de la programación clásica.

Si tomaste un camino similar al mío, no te engañes; no hay atajos en el desarrollo de software. Toma determinación y aprende las bases de la programación en un lenguaje tradicional.

¿Pero en cuál?

2. La parte Web en Web 3.0

No importa si la aplicación web que estés usando sea centralizada o descentralizada, de la Web 2.0 o 3.0, de algo puedes estar seguro: está corriendo con Javascript. En los últimos años este lenguaje se ha popularizado por su flexibilidad, pero principalmente porque es el único lenguaje con el que se puede programar en el navegador, por ende el único con el que podrás crear la parte visible de tus dapps.

Puede que para ti la creación de aplicaciones web no sea la habilidad que buscas desarrollar en primer lugar, sin embargo, si quieres programar en la web 3.0 debes priorizarla. Elige un framework como React, Vue o Angular y busca dominarlo. Recuerda que es a través de las interfaces que tu construyas los usuarios podrán interactuar con los smart contracts y la blockchain.

3. Crypto UI/UX

Tal vez puedas programar una interfaz para una dapp, pero ¿puedes hacer que se vea bonita y que también sea intuitiva para sus usuarios?. Este es el campo de estudio de la UI/ UX en blockchain.

Si hablamos de UI nos referimos a los términos estéticos de la interfaz de usuario. Para su correcta aplicación deberás tomar en cuenta los colores, la tipografía, iconos, etc. Esto pudiera parecer secundario pero es de vital importancia ya que puede marcar la diferencia para que tu dapp tenga 10 o 1 millón de usuarios.

Del otro lado de la moneda tenemos la UX o la experiencia que tienen tus usuarios al interactuar con tu UI. Al trabajar en esta característica tu deber es hacer la interfaz lo más intuitiva posible para que tus usuarios puedan interactuar con la blockchain sin fricciones, ya sea enviando tokens,  comprando un NFT’s o haciendo stake en un protocolo de DeFi. Ademas, tendrás que considerar que muchas veces tu dapp será utilizada por usuarios con poca o ninguna experiencia con esta tecnología, por lo cual la correcta transmisión de conceptos como bloque, dirección, stake, gas,  sera esencial.

A continuación te dejare ejemplos de dapps que, en mi opinión, tienen una excelente UI/UX:

Sushiswap

Sushiswap

PancakeSwap

PancakeSwap

Ribbon Finance

Ribbon Finance

4.Crea tus propios proyectos

Ahora que sabemos las bases del desarrollo de frontend y buenas prácticas UI/UX es momento de comenzar a jugar en la Web 3.0 y crear proyectos experimentales.  Puedes comenzar conectándote a las diferentes blockchain a través de plataformas como Moralis, Infura o Blockstream o incluso instalar tu propio nodo. Recuerda que cada cadena de bloques tiene una testnet o red de pruebas con la que puedes experimentar sin tener que gastar en tus transacciones con fines didácticos.

Una vez que te conectes a la blockchain es momento de comenzar a manipular su estado, para ello puedes hacerte mano de librerías como Web3.js para Ethereum o bitcoin.js para Bitcoin. Con estas herramientas a tu alcance y con tus habilidades como frontend developer podrás dar paso a la creación de tus propias aplicaciones descentralizadas. A continuacion te dare una lista de algunas dapps que puedes implementar hoy mismo:

  • Wallet
  • Blockexplorer
  • Pasarela de pagos
  • Acuñador de NFT’s
  • Tracker de estadísticas de Smart Contracts

Esta es  tan solo una pequeña muestra de todo lo que puedes hacer al conectarte a una blockchain y plasmarlo en el navegador con algún framework de javascript. Una vez que puedas combinar estas dos habilidades podrás llamarte orgullosamente ***“Web3 frontend developer”***.

Ahora que ya acabamos de ver las aptitudes necesarias para programar en el frontend de la web 3.0, es momento de revisar las del backend; es momento de hablar de hablar de los Smart Contracts.

5. Ahora sí, ya viene solidity

En una dapp no hay un backend como se conoce en él desarrollo Web 2.0 , sino una blockchain que corre un smart contract. Este smart contract funciona como una base de datos, ya que  lleva el balance de los activos digitales como nft’s o tokens en su estado, el cual puede ser consultado por cualquiera que tenga acceso a la red donde fue transmitido.

Sin embargo su complejidad no radica en su consulta o ejecución, el verdadero reto se encuentra en su elaboración. Veamos en qué consiste.

Existe una característica en los smart contracts que hacen que la dificultad en su creación se eleve exponencialmente: la inmutabilidad. Como cualquier otro dato en la blockchain, una vez que un smart contract entra en un bloque este no puede ser corregido o actualizado, por lo cual si este contiene un solo bug los fondos en custodia del mismo pueden ser robados.

Casos como este se dan todos los días, el más reciente fue el caso de Poly Network, una plataforma de Defi a la que le fue extraído un monto equivalente a 600 millones de dólares.

Tweet de Poly Network

Conociendo los riesgos financieros que conlleva la creación de un contrato inteligente, saber programar en Solidity es apenas una de las tantas habilidades  que se necesitan para ser un Smart Contract Developer. Existen herramientas como OpenZeppelin, Waffle o Truffle que te permiten hacer testing de tu código, sin embargo estas no son infalibles.

En retrospectiva, no es que sea imposible ser un Smart Contract Developer, solo que te va tomar tiempo dominar todas las áreas necesarias para volverte un experto. Mientras tanto sigue aprendiendo, practicando y auditando tu código pues estos profesionales son los más demandados en la industria, por tanto cuando llegues a un nivel senior, el dinero será la menor de tus preocupaciones.

Descubre también: qué hace un desarrollador web

¿Cuál es el camino correcto?

Si llegaste hasta aquí pensando en que te daría la ruta de aprendizaje para ser parte de la construcción de la web 3.0 dejame darte una buena noticia: no hay una ruta, sino varias.

Para convertirte en Web3 Frontend Developer necesitas aprender algún framework de Javascript y combinarlo con alguna librería de blockchain como web3.js o bitcoin.js. Si lo que deseas es ser un UI/UX Blockchain Designer, debes enfocar tus aprendizajes de diseño de interfaces de usuario en el flujo de una dapp. Por último, si lo que buscas es ser un Smart Contract Developer habilidades como testing y Q/A serán clave para tu éxito. La decisión es tuya.

https://pa1.narvii.com/6825/ab315470359a9e66e806845f1a67596a555e2232_hq.gif

En Platzi, tenemos una comunidad increíble de Cryptocositas. En dónde nuestra misión es aprender juntos día a día. Sin consejos de inversión, sin tomar el camino fácil, compartiendo con todos nuestro conocimiento y siendo parte de este ecosistema que va más allá del #hold o #tothemoon sino de la posibilidad de ser parte de una tecnología que está y va a revolucionar el mundo.

Si quieres unirte solo debes entrar acá, seguir las reglas de la comunidad y prepararte para nunca parar de aprender.

Dejame en los comentarios que ruta te gustaría tomar o si ya estás en una en este momento. Puede que encuentres a la persona con la que crees la dapp que revolucione la Web 3.0.

Francisco Javier
Francisco Javier
mengeroshi

14505Puntos

hace 3 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
14
23274Puntos
3 años

backend blockchain developer? 🤔
no con miras a volverse millonario solo a descentralizar servidores. 🙂

13
16503Puntos
3 años

En el años 2001, fue el nacimiento de la Web 2.0, un momento único en a historia en el que las personas que lo aprovecharon, ahora son millonarias e hicieron un cambio positivo al mundo entero.

Hoy, 20 años después, ese mismo momento se esta repitiendo, y solo los que estén despiertos podrán repetir la historia.

9
4111Puntos
3 años

Tenemos grandes oportunidades. Definitivamente estoy absolutamente agradecida por el tiempo y espacio de la historia en el que nací.

5
8360Puntos
3 años

Totalmente de acuerdo, este es el futuro y quiero ser parte de el

6
69908Puntos
3 años

Yo acabo de ser testigo de como poco a poco la web3 se empezara a integrar en muchas aplicaciones por simples que parezcan, sin lugar a dudas aun teniendo los conocimientos básicos debemos dar pequeños pasos en solidity para hacer algo grande ;D

6
25543Puntos
3 años

Creo que no solo es un momento histórico para los que ya están preparados para aprovechar las oportunidades. Si no también para todos los que estemos dispuestos para aprender lo necesario.

<h1>“Un nuevo mundo, nuevas oportunidades y desafíos para los que nos atrevamos a buscarlas!”</h1>
4
4111Puntos
3 años

Rayoss!!! Este tema de la web 3.0 es tan emocionante, no sé cuál de las tres rutas me gustaría tomar!! Me vuela la cabeza todo lo que viene!!!

5
16503Puntos
3 años

Yo te recomendaría que aprendas un poco todas las rutas y luego escojas la que más te guste 😉.

4
28178Puntos
3 años

Estoy presenciando el inicio de la Web 3.0 y de un nuevo momento en la historia de la web descentralizada.

Gran Post!

4
23656Puntos
3 años

Me gustan los post como este. Tengo la costumbre de abstraerme en los axiomas o fundamentos de cualquier cosa que veo, como la estela que deja el movimiento de una lámpara.

Me parece interesante que ahora lo que más estoy notando es lo siguiente: Libertad.

3
1336Puntos
3 años

Actualmente Frontend Developer, me encanto este blog, me dio muchas ideas 😎 próximamente Web3 Frontend Developer. A por ello!!

3
8360Puntos
3 años

Muy buen articulo, excelente, tal cual como los describis la emoción de esta nueva tecnología hace que nos saltemos pasos, si francisco lo recomienda como dijo Napoleón “vísteme despacio que estoy apurado”

2
28550Puntos
3 años

Impresionante✨

  • 😲 Me deja perplejo la magnitud y potencial que tendrá la web 3.0
  • Es muy emocionante y aterrador 😯
  • Después de la pandemia el mundo se reinventa 🌌
2
22914Puntos
3 años

Me parece intrigante el como tantas propuestas de criptomonedas lograran consolidarse a futuro.

Sobre todo integrarse a un sistema de valores que te permita el intercambio.

¿Te imaginas que asistir a un meet up se convierta en una forma de generar criptocositas intercambiables por otras criptocositas en un ecosistema digital?.

O mejor aún, ¿te imaginas en el futuro recibir criptomonedas en platzi que sean intercambiables por puestos laborales? Seria una locura que los cursos generen un valor medible e intercambiable por mejores oportunidades laborales de manera directa.

2
3 años

Que hay de la ciencia de datos y la inteligencia artificial en la blockchain? Cómo funciona?

1
20374Puntos
3 años

Imagino que debe ser un tema mucho más complejo. sin embargo no hay duda que la fusión de Blockchain y AI es el futuro.

1
7021Puntos
3 años

Me gustaría Smart contract se ve interesante, me gusta el backend, espero aprender las bases de solidity y seguridad, aunque en proyectos personales dudo usar Ethereum, muy caro, elegiré alguna alternativa mas accesible, ojalá en los proximos cursos nos apoyen metiendo otras blockchains, por ejemplo Solana que platzi apoya, Algorand y toda la larga lista que ya conocemos. HOLO(HOT), esa tenia buen proyecto hace unos años y se desinfló pero no deja de ser buena tiene un buen TPS

1
8680Puntos
3 años

Muchas gracias por este post!
gran motivación para no parar de aprender!

1
47328Puntos
3 años

Interesante articulo. Gracias!

1
1306Puntos
3 años

Existiría y qué papel podría desarrollar en la web 3.0 un Data Analyst?

2
70131Puntos
3 años

Claro,

La fusión entre web3 y data science será muy importante, sobre todo porque los datos estarán guardados directamente en la blockchain y podrán ser utilizados para su análisis.

1
43335Puntos
3 años

Buenas Francisco Javier, lo primero es agradecer tu apoyo a mi idealismo, y reafirmar mis convicciones. Por supuesto que tienes razón en todo lo que expones en tu blog, tienes toda la razón respecto a la avaricia, pero en absoluto a que si no sabes de lo que ya hace la IA, no puedes programar. Es falso, con mis respetos, y quizá pueda estar equivocado.
No puedes quitar la ilusión a nadie por tus conocimientos porque con las mismas, como economista yo os veo ser muy mal pagados por proyectos y me cago en el sistema económico.
En otro momento, puedo explicarte mucho de eso con datos.
Me inclino y apoyo, cualquiera puede hacer un contrato inteligente siempre que sea prudente. Es la responsabilidad de cada uno, pero, para nada tiene que tener esos conocimientos, que ya son casi del pasado.
A la orden para réplica si te dignas.
Un abrazo.

1
14505Puntos
3 años

No era mi intencion quitarle la ilusion a nadie, de verdad, lo unico que intentaba es hacer ver todas las implicaciones que tiene crear un contrato inteligente.Por su puesto cualquiera deberia programar un smart contract, incluso lo apoyo, sin embargo cuando se desea poner este en una dapp con cientos o miles de usuarios necesita procesos de auditoria mas avanzados. Los hackeos a smart contracts pasan casi todos las semanas por lo cual es la parte que mas atencion requiere en una dapp. No es tan sencillo, pero tampoco imposible. Al menos asi lo he experimentado. No por nada es una de las profesiones mejor pagadas.

Puedes enviarme un tweet a @mengeroshi si gustas.
Saludos

1
11856Puntos
3 años

Motivadora la historia, seguiré tu ejemplo 😄

1
814Puntos
3 años

Que buen artículo! Muy clara explicación sobre como empezar en este mundo del blockchain

1
3331Puntos
3 años

NANANANANA me encataron esas definiciones de roles… Web2 Frontend Developer, UI/UX Blockchain Designer, a por ellos!

1
13938Puntos
3 años

Vengo del futuro y la web 4.0 está conectada al metaverse

1
22181Puntos
3 años

El apartado de los post siempre me a parecido una de las características más poderosas en la comunidad de Platzi, siempre es muy interesante saber sobre la experiencia de otras personas en la entrada de algún mundillo de nuestro interés.

1
11274Puntos
3 años

Excelente post el cual explica consejos muy importantes para iniciarse en la Web 3.0. Sinceramente no sabía como empezar o que tener en cuenta antes, pero toda la experiencia que cuenta es muy valiosa.

1
13399Puntos
3 años

Muy buena Francisco. Gracias por tu tiempo.

1
39947Puntos
3 años

Es maravilloso que estemos pasando por este momento, compañeros. Más que la posibilidad de volvernos millonarios, estamos presenciando la construcción de un nuevo mundo, una nueva forma de comunicación, y podemos ser parte de ello. Gracias, Platzi

1
19763Puntos
3 años

Desde que escuché sobre la Web3.0 en la PlatziConf me he venido acercando mucho más a este “complejo” mundo.

Estamos justo a tiempo para dejar un impacto significativo en la construcción de una web descentralizada y amigable con todos los usuarios; de nada sirve que solo pocos sepamos que son estos extraños términos. Asumo el reto y ya estoy estudiando para convertirme en un Smart Contract Developer

1
1715Puntos
un año

Tema interesante.😶😶
Hay que cuidar los errores en la redacción😶😶

1
5329Puntos
2 años
Lo único que me pregunto es por que no empecé hace un año 😂
1
36899Puntos
3 años

Este es el primer gran post que veo que no lo escribe Freddy o Christian. ¡Gran trabajo!

1
30626Puntos
3 años

Con emoción de ver este nuevo curso

1
4111Puntos
3 años

Muchas gracias por un gran post!