Antes de entrar en cuáles son estas formas de aprender, es importante saber de dónde viene Solidity, por qué razón se creó y de qué manera se creó. Porque en base a esto, vamos a dividir el método de aprendizaje en dos tipos de personas.
Solidity nació de la necesidad de tener un lenguaje de programación que permitiera desarrollar smart contracts o contratos inteligentes, para algo más que para realizar transacciones monetarias.
Por si no lo sabíais, Bitcoin, también tiene su propio lenguaje de programación que permite desarrollar smart contracts. Pero este lenguaje, que se llama Bitcoin Script, es bastante limitado.
Así que podría decirse que Solidity es el primer lenguaje que ha permitido que, además de estas transacciones, se puedan desarrollar programas y aplicaciones descentralizadas utilizando la tecnología blockchain.
Esto suena genial, pero lo que realmente hizo que este lenguaje se extendiera y funcionara de verdad fue que sus creadores lo hicieron pensando en que fuera fácil de entender y de asimilar por personas con conocimientos de programación.
¿Y cómo hicieron esto?
Pues se basaron en lenguajes ya existentes y muy populares entre los desarrolladores, como Python, y JavaScript.
De esta manera, se convirtió en un lenguaje muy atractivo para los programadores, porque no requiere mucho esfuerzo aprenderlo si ya tienes asentados los conocimientos básicos sobre programación.
Esto es precisamente lo que va a marcar la diferencia en la hoja de ruta a seguir a la hora de aprender este lenguaje, porque vamos a tener dos tipos de perfiles muy diferenciados.
Por un lado, las personas con conocimientos sobre programación o que directamente son ya desarrolladores de software.
Y por otro lado, las personas que son completamente principiantes en el mundo del desarrollo y que aunque les interese muchísimo la tecnología blockchain, no tienen ningún conocimiento sobre programación.
Personas que ya saben programar
Vamos a empezar con el primer caso, que son personas que ya están adentradas en el mundo de la programación.
Este perfil juega con ventaja porque, como hemos comentado hace un momento, ya tienen conocimientos y como Solidity es tan similar a otros lenguajes, lo aprenderán bastante rápido.
Seguro que si este es vuestro caso os estaréis preguntando. Vale, sí, pero ¿dónde busco? ¿dónde puedo acceder a toda la información? Pues bien, Solidity también tiene la ventaja de tener una documentación super detallada y super completa.
➜ Aquí os dejamos el link: https://solidity-es.readthedocs.io/es/latest/
Para personas que ya sepan programar, va a ser muy sencillo leer esta documentación y empezar a aprender.
En ella podemos encontrar, desde una descripción general de lo que es el lenguaje hasta los más mínimos detalles de los tipos de variables, de funciones, de modificadores de acceso, etc.
Además, en esta documentación tenemos un apartado llamado Solidity by examples o Solidity mediante ejemplos, en el que se enseña cada apartado con un ejemplo explicado bastante detallado. Esto, de verdad, es algo genial para aprender.
Otra de las cosas que es importante aprender cuando se trata de Solidity, sin duda, es el entorno de desarrollo. Si ya sois programadores podéis optar por utilizar editores de código corrientes como VSCode con los plugins correspondientes instalados, pero yo antes de hacer esto, os recomiendo empezar a utilizar el entorno de desarrollo integrado oficial de la Blockchain de Ethereum.
Conoce Remix IDE
Este entorno se llama Remix IDE, y tiene la enorme ventaja de tener una versión web en la que no es necesario hacer ninguna instalación ni ninguna configuración. Simplemente con introducir el nombre en el navegador, podemos acceder a la web y empezar a programar nuestros primeros contratos.
➜ Enlace: https://remix-project.org/
Remix cuenta con un explorador de archivos, en el que vamos a poder crear nuestros propios espacios de trabajo para organizar nuestros proyectos a nuestro gusto.
Además, algo que también es de mucha utilidad cuando estás dando tus primeros pasos con Solidity, es que remix, por defecto, te presenta una colección predeterminada de carpetas:
Una carpeta llamada contracts, en la que vienen tres smart contracts muy sencillos que son ideales para empezar. Mi recomendación es que si estáis empezando con este lenguaje y este entorno, analicéis el código de estos contratos, intentéis entenderlos y ya después los compiléis y despleguéis para ir familiarizados con todo.
En Remix también tenemos para elegir de todas las versiones de compilador de Solidity que se han ido actualizando hasta la fecha. Para compilar nuestro contrato, simplemente tendríamos que seleccionar la que estemos utilizando y listo.
Si te interesa el mundo del desarrollo blockchain seguramente ya sabéis que tanto para desplegar un contrato como para ejecutar las funciones, es necesario pagar unas pequeñas tasas en forma de gas. Esto es superimportante en Solidity y lo que se busca continuamente es pagar la mínima cantidad de tasas posibles.
Para arreglar este problema, lo que hace Remix es dejarnos una batería de varias cuentas, con un saldo ficticio de ETH.
¿Para qué queremos esto?
Pues para ver qué cantidad de gas estamos consumiendo con el despliegue y la ejecución de las funciones y ver de qué forma podemos optimizar recursos para gastar la menor cantidad de gas posible.
Personas sin conocimientos sobre programación
Bien, pues ahora vamos con el segundo tipo de persona que podría estar interesada en aprender Solidity.
Como ya hemos comentado antes, Solidity es un lenguaje pensado para ser fácil de aprender por personas que ya tengan conocimientos sobre programación.
Esto puede dificultar un poco las cosas para este perfil porque, no solo tienen que aprender a programar sino que además tiene que asimilar también todas las particularidades que tiene Solidity al funcionar sobre una blockchain.
Si a esto le sumamos la cantidad infinita de tiempo que se pierde buscando fuentes de contenido fiables y sobre todo, fuentes adaptadas al conocimiento de una persona que está empezando, al final lo único que puede salir de ahí es la desmotivación más absoluta. Porque recabar información y aprenderla lleva muchísimo trabajo, y hacer todo esto esfuerzo sin ver resultados no alienta a nadie a seguir.
Con esto no quiero decir que no se pueda aprender Solidity de forma autodidacta. ¿Se puede? Seguramente sí. Pero no sé hasta qué punto es rentable aprenderlo de esta manera con todo el tiempo que literalmente se tira a la basura.
Seguro que ahora mismo estáis pensando que estoy pintando un camino muy negro para este perfil, pero nada más lejos de la realidad, porque os voy a contar una alternativa a tirarse horas y horas buscando tutoriales y documentación.
Master en desarrollo blockchain de Conquer Blocks
En Conquer Blocks hemos lanzado un máster pensado especialmente para este perfil. Nuestro objetivo es formar desde el más absoluto cero a personas que, después de finalizar la formación, serán Desarrolladores en tecnología Blockchain.
¿Cómo lo estamos haciendo? Pues el máster no comienza con Blockchain y Solidity como tal, sino que hay varios módulos previos con los que lo que hacemos es formaros desde cero.
El máster consta de cuatro módulos técnicos:
1. Comenzamos con un módulo introductorio en el que os contamos las bases de la informática. Primero empezamos enseñando básicamente cómo funciona un ordenador, y después os ayudamos a instalar todo lo que vais a necesitar durante el curso.
2. En el siguiente módulo de la formación, lo que hacemos es enseñaros a programar en Python, que además es uno de los lenguajes más utilizados hoy en día por los desarrolladores en las empresas. Esto le añade un valor brutal al máster porque os convertís en desarrolladores todoterreno. No salís de la formación solo aprendiéndolo todo sobre la blockchain, sino que también sabréis programar en Python. En esta parte de la formación se parte desde cero, os enseñamos a pensar como una máquina utilizando algo llamado pseudocódigo para que poco a poco podáis entender la lógica y la sintaxis que tienen los lenguajes de programación. Una vez asimilado esto, ya sí es el momento de empezar con Python.
3. En el tercer módulo ya pertenece a la parte de blockchain y que hacemos es ver muy detalladamente la Ethereum Virtual Machine, porque es la herramienta más importante del desarrollo blockchain. Además para esto contamos con uno de los mejores profesionales del sector, Javier Marcos de Prado, más conocido como Javuto. Él mejor que nadie os va a explicar cómo funciona la máquina virtual de Ethereum, y os va a ser de gran ayuda para el siguiente módulo.
4. En la cuarta parte de esta formación, enseñamos el lenguaje Solidity también desde cero. Empezamos desde lo más básico aunque ya lleguéis con conocimientos sólidos de programación y poco a poco vamos cubriendo todas las áreas del desarrollo con Solidity hasta la construcción de aplicaciones descentralizadas.
En cuanto a la formación técnica como tal, estos son los cuatro módulos que componen el máster, pero todavía hay más.
Hay algo super importante y que limita mucho a las personas a la hora de encontrar trabajo en este sector y es defenderse con el inglés. Por suerte o por desgracia, casi toda la documentación que existe está en inglés y además, los trabajos mejor remunerados se encuentran fuera de España, por lo que saber inglés es FUNDAMENTAL.
Bueno, pues como bonus en esta formación, también tenemos un módulo adicional en el que impartimos inglés para ayudaros más aún si cabe, a ser los profesionales mejor formados.
Igual pensáis al leer esto que damos muchas vueltas antes de llegar a la Blockchain y a Solidity, pero de verdad que nada más lejos de la realidad. El contenido de este máster lo han elaborado profesionales que abarcan muchas áreas, y han llegado a la conclusión de que esta es la mejor manera de formar a un desarrollador.
A pesar de que parezca lejano empezar con la blockchain, os aseguro que hacerlo de esta manera ahorra una cantidad de tiempo increíble. Además de que vais a estar continuamente acompañados por los profesores, que van a estar resolviendo todas vuestras dudas.
Algo que también hay que decir, es que aunque esta formación esté especialmente enfocada en formar personas que no tengan conocimientos previos sobre desarrollo de software, si en tu caso particular ya eres desarrollador o sabes programar, esta formación también puede ser para ti. Puedes empezar directamente con la Ethereum Virtual Machine y con Solidity.
De hecho, en la formación, tenemos dos grupos diferenciados para poder centrarnos más en cada perfil y que así todos por igual aprendáis mucho más rápido.
De todas formas, como todo esto es mucha información, si os interesa o si os quedan dudas, lo mejor es que consultéis vosotros mismos el link que os dejamos a continuación y si queréis, podéis agendar una llamada con el equipo. Estarán encantados de recibiros y resolver vuestras preguntas:
➡️ Pulsa aquí para acceder al master de conquer blocks
Vídeo del artículo: