Como se tornar um desenvolvedor Blockchain e ser bem remunerado em 2022 - Parte 2

in #blockchain2 years ago (edited)

Untitled.png


O mundo da tecnologia da informação tem ganho cada vez mais pessoas que estão encontrando uma oportunidade de melhorar suas vidas, seja financeiro ou com a possibilidade de trabalhar de forma remota com pessoas de todo o mundo e isso se deve ao fato de precisarmos apenas de um computador, energia elétrica e uma boa conexão com a internet.

Mas independente do conhecimento técnico que possua, podem existir outras habilidades que você precise desenvolver para se tornar um desenvolvedor Blockchain. Aqui como o prometido no primeiro guia quero te trazer uma visão geral de quais são essas habilidades técnicas (hardskills) que precisarão ser desenvolvidas pra você decolar na carreira e de fato se bem remunerado ainda em 2022.

Um breve disclaimer: tudo o que está listado no artigo a seguir é com base em minhas vivências como uma pessoa desenvolvedora e já há algum tempo, reconhecido como um especialista Blockchain. Não sou caga regra e sei que podem existir outras 200 formas diferentes de se conseguir o mesmo resultado.

Quem está contratado ?


Untitled.png

Se você der uma breve olhada no Fortune 500, que lista as 500 maiores companhias de 2021, provavelmente encontrará referencias sobre Blockchain e a empresa que você escolheu no Google (que inclusive também está começando a oferecer novidades que envolvem a tecnologia)

E se essas empresas estão começando a arranhar esse novo mundo que se abre com todas as possibilidades, são elas que vão ditar a adoção da tecnologias nas empresas menores a partir de agora. Por isso é importante estarmos prontos para quando as startups promissoras de 2022 comecem a se tornar as referencias em cada segmento ou área e quem sabe se tornarem as novas empresas da fortune 500 daqui há alguns anos.

Como eu começo ?


Untitled.png

É exatamente por isso que estamos aqui, vamos a lista dividida por alguns blocos, ok ? Desenvolvedores de blockchain precisam de múltiplas habilidades técnicas para manter nossas aplicações sempre disponíveis e seguras. Algumas dessas habilidades são:

Arquitetura Blockchain


Saber como uma blockchain funciona é essencial para uma pessoa desenvolvedora entrar nesse mundo. E não estou falando apenas de criptomoedas, que normalmente acaba sendo a porta de entrada, mas também me refiro a criptografia e os principais algoritmos de consenso, além de entendimento sobre computação distribuída e bons conceitos de rede.

Você não precisa ser especialista em nada disso se está começando, mas precisa saber como uma blockchain essencialmente é formada. A recomendação para começar a entender mais sobre o tema, que na verdade é uma leitura mais que obrigatória é o Whitepaper do Bitcoin também pode ser lida em uma versão em português caso o inglês pra ti seja um grande desafio

Estruturas de Dados


É muito importante que desenvolvedores blockchain tenham conhecimento e gostem de algoritmos que envolvam estruturas de dados. Cada byte transacionado pode representar custo de transação e não queremos gastar mais dinheiro do que precisamos com transação na rede publica, não é mesmo ? Então saiba muito bem conceitos de “Pilhas”, “Filas”, “Listas encadeadas”, “Listas Duplamente Encadeadas”, “Chave-Valor” para saber como armazenar informação dentro dos Contratos Inteligentes.

Contratos Inteligentes


Untitled.png

A ideia de existir contratos inteligentes (smart contracts) dentro de uma blockchain ganhou força graças ao ethereum. E mesmo não sendo o primeiro projeto a tentar adotar essa solução, tem o mérito de conseguir a adoção em larga escala em soluções que envolvem a tal da Web 3.0.

Smart Contrats são usados para transformar as regras de negócio e lógica da nossa aplicação em funções que são executadas em um computador da rede e armazena o resultado dessa operação dentro do próprio estado do contrato, ou seja o contrato que orquestra nossas regras de negocio também podem armazenas nossas informações sem a necessidade de um banco de dados externo.

Dependendo da tecnologia que você estiver estudando (lembra da nossa primeira parte do artigo ?) você irá utilizar tecnologias como Solitity, Vyper ou Chaincode (respectivamente tecnologias baseadas em javascript, python e golang)

Podemos fazer essa lista ficar gigantes com tantas tecnologias, mas vou elencar aqui as que eu uso hoje e algumas que usei no passado, mas sinta-se a vontade para usar os comentarios e indicar ou aconselhar sobre formas mais produtivas ou educativas de fazer as coisas.

  • Hardhat ou Truffle: ambas bibliotecas trazem dezenas de ferramentas para criação de projetos com smart contracts até criação de testes unitarios com execução em tempo de desenvolvimento para que seus contratos sejam seguros e estavéis.
  • Ganache: cria uma blockchain de brincadeira localmente na sua rede para seus testes antes da publicação final. E isso é muito importante: Contratos inteligentes não tem rollback! Uma vez publicado, não é possivel voltar e corrigir um errinho como acontece hoje nos projetos comuns de software da web 2.0.
  • Remix: Ambiente completo para você começar a desenvolver seus primeiros contratos sem precisar de muita coisa.
  • Infura ou Alchemy: são provedores de nós de redes blockchain. Você pode utiliza-los para não precisar ter um nó da rede ethereum (ou similar) dentro de casa ou dedicado na sua empresa

Demais ferramentas que podem ser utilizadas nessa etapa como Ethers.JS , Web3.js, Metamask eu explico melhor no próximo tópico.

Aplicações Web


Aprender sobre tecnologias da web são o ponto forte de quem quer construir Dapp, aplicações descentralizadas ou aplicações da web 3.0. E mesmo ainda nesse novo paradigma, as tecnologias base serão as mesmas, ou seja, HTML, CSS e Javascript mas agora precisamos de alguns plugins e bibliotecas para se comunicar os as blockchain através dos smart contracts

Aqui o leque de possibilidades pode se extender demais, então vou ficar pela parte mais basica e sugerir algumas ferramentas e bibliotecas que podem ser estudadas pra facilitar um pouco sua vida, mesmo que seja possivel criar uma boa Dapp apenas com HTML, CSS e JS, combinado ?

  • React ou Vuejs: são “frameworks” que podem entregar reusabilidade de componentes e aplicações mais robustas e ricas.
  • Web3js ou Ethers.js: bibliotecas que te ajudam a fazer a interface com os contratos da blockchain ou até mesmo assinar transações e controlar tudo que envolve as redes do Ethereum (ou as baseadas nela)
  • Metamask ou TrustWallet: São carteiras de redes de blockchain que são instalados como plugins no seu browser e que caso você precise fazer uma transação na sua aplicação, é através desses plugins que as transações são “assinadas criptograficamente”
  • Moralis é uma ferramenta que ajuda nessa comunicação entre seus contratos e sua carteira plugin no browser. Mas eu, sinceramente, só recomendaria depois que você entendesse bem como o processo de uma aplicação 'web 3.0' funciona. Moralis é ótima e abstrai muita implementação, mas estamos aprendendo aqui, certo ?

Criptografia


Untitled.png

Ok, ok.. você não tem que se tornar uma pessoa criptógrafa para começar a falar de blockchain, mas entender os principais mecanismos e sua importancia é fundamental para que você comece até mesmo a explicar para as pessoas sobre porque a Blockchain é tão segura. Com isso temos algum tópicos como criptografia simétrica e criptografia assimétrica.

E depois ?


Depois é que a brincadeira começa a ficar interessante. Seja uma pessoa que gosta de ler e se antenar sobre as novidades da comunidade. Leve para discussão o tema na sua empresa ou entre seus amigos desenvolvedores (se não tiver, recomendo que procure as comunidades online, eles vão te abraçar com certeza) e pratique muito tudo o que tem aprendido.

Crie um portifólio, escreva, grave videos, audios, tanto faz.. mas deixa as pessoas saberem que você está na frente das outras com o tanto que tem se esforçado =)

E é claro, conta comigo pra trocar uma ideia maneira sobre o que você tem aprendido \o/

Conclusão


Se fornar uma pessoa programadora para Blockchain é possivel, muito realista e talvez dependa muito mais do seu esforço e talento para programação do que uma expectativa de necessidade do mercado. Porque vou te contar um segredo... o mercado está quentissimo para encontrar pessoas talentosas que entendam como uma blockchain funciona de verdade e não só aquele blá blá blá e pataquadas de NFT e moedinhas de jogo (nada contra, amo vocês).

Por favor, deixe seus comentarios do que achou e quais temas você acha que faltou abordar aqui.. Eu adoraria fazer um terceiro artigo com a sua sugestão.

Untitled.png

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.030
BTC 63630.78
ETH 3406.29
USDT 1.00
SBD 2.55