Pular para o conteúdo
0%

Como se tornar um desenvolvedor Solidity

Alchemy team headshot

Escrito por Alchemy

Publicado em 4 de outubro de 20226 min de leitura

‍Por que devo me tornar um desenvolvedor Solidity?

Conforme web3, termo usado para descrever uma versão mais descentralizada e democratizada da internet, e sua tecnologia subjacente, blockchain, continuam ganhando força, estar profundamente imerso no ecossistema pode trazer benefícios tangíveis, semelhantes aos de quem aprendeu a desenvolver aplicações para internet nos anos 1990.

A tecnologia blockchain é o que impulsiona aplicações descentralizadas e casos de uso conhecidos, como NFTs, DeFi e DAOs. Para participar da construção do futuro da internet, tornar-se um desenvolvedor blockchain é um dos vários caminhos para contribuir com o cenário web3, o que pode se mostrar tanto impactante quanto lucrativo, especialmente à medida que a tecnologia se torna mais prática em contextos de consumo e industriais.

Tendo isso em mente, você deve estar se perguntando quais linguagens de programação web3 aprender. Uma das melhores opções é Solidity, uma linguagem de programação orientada a objetos para executar smart contracts em blockchains como a Ethereum.

A sintaxe de Solidity é parecida com a de Javascript e C, o que significa que desenvolvedores web2 conseguem avançar na curva de aprendizado com mais rapidez.

De acordo com o cryptocurrencyjobs.co, o salário-base médio para desenvolvedores Solidity nos EUA é de US$ 127.500, com um piso de US$ 80.000 e um teto de US$ 180.000. Esse valor pode variar de acordo com localização, empresa e experiência.

Trabalhar com uma tecnologia poderosa em um ambiente descentralizado, assíncrono, ágil e bem remunerado é difícil de superar no mundo cada vez mais digital de hoje. Se ainda não te convenci, aqui está um breve resumo de por que o movimento web3 é uma opção atraente para desenvolvedores:

  1. Junte-se a mais de 5.000 outros desenvolvedores que aprendem toda semana
  2. Responda quizzes no Discord, faça novos amigos no Telegram, ganhe brindes
  3. Aprenda novas habilidades e ferramentas de programação com um currículo baseado em projetos
  4. Construa sua reputação como desenvolvedor web3 com NFTs de Proof of Knowledge

7 passos para se tornar um desenvolvedor Solidity

Agora que temos um entendimento mais formativo sobre o que é um desenvolvedor Solidity e os benefícios de fazer parte de um movimento em ascensão, vamos explorar formas de aprender mais sobre Solidity:

1. Inscreva-se em um bootcamp

Um método eficaz para acelerar o aprendizado de Solidity e se tornar um desenvolvedor Ethereum é participar de um bootcamp de Solidity. Por meio de bootcamps conduzidos por instrutores, desenvolvedores podem adquirir habilidades essenciais de criptografia blockchain, aprofundar o entendimento sobre Ethereum, construir e implantar aplicações descentralizadas e dominar o desenvolvimento de smart contracts.

O Ethereum Developer Bootcamp de 7 semanas da Alchemy University é uma forma ideal para desenvolvedores novos em web3 aprenderem sua linguagem de programação mais popular. Ferramentas de aprendizado personalizadas, desafios de codificação interativos e currículos em constante evolução para acompanhar um setor em crescimento são apenas alguns dos benefícios do programa da Alchemy University.

Se os desenvolvedores forem novos no desenvolvimento em geral, o curso intensivo de JavaScript de 3 semanas da Alchemy é um ótimo pré-requisito antes de começar um bootcamp de Ethereum.

2. Domine os fundamentos de Solidity

Se você prefere uma abordagem mais personalizada para dominar Solidity, existem inúmeros guias, artigos e vídeos disponíveis publicamente que podem ajudar. Esses recursos podem ajudar desenvolvedores a aprender mais sobre terminologia, ferramentas e aplicações básicas de blockchain de forma autodirigida. Além disso, conhecer os fundamentos de C++, JavaScript ou Python também pode ajudar e acelerar o processo de aprendizado.

No entanto, para desenvolver aplicações com smart contracts, os desenvolvedores precisam entender a diferença entre práticas seguras e inseguras. Ignorar ou negligenciar as melhores práticas de segurança de smart contracts não é recomendado.

Alguns conceitos fundamentais de Solidity a dominar incluem funções e modificadores. Funções em Solidity são blocos de código ou coleções de instruções agrupadas para executar uma tarefa específica. Em geral, funções em Solidity podem ser definidas usando a palavra-chave function, seguida do nome de uma função única que não coincida com nenhuma das palavras-chave reservadas. Além disso, funções também podem ter uma lista de parâmetros contendo o nome e o tipo de dado do parâmetro.

Modificadores em Solidity são análogos ao padrão decorator, usado em programação orientada a objetos. Em essência, um modificador pode alterar o comportamento da função à qual está anexado. O principal caso de uso dos modificadores é verificar automaticamente uma função antes de sua execução. Se a função não atender ao requisito do modificador, uma exceção é lançada e a execução da função é interrompida imediatamente.

3. Aprenda ferramentas complementares de Solidity

Tornar-se um desenvolvedor Solidity exige um entendimento amplo das ferramentas web3. Ferramentas complementares como Hardhat, Alchemy e Remix (IDE online) vão elevar o perfil da sua aplicação, já que muitas empresas usam stacks de tecnologia semelhantes.

Hardhat

O Hardhat já vem com a Hardhat network integrada, uma rede Ethereum local projetada para desenvolvimento. Implantar contratos, executar testes e depurar código é totalmente viável dentro da sua própria máquina local.

Ao executar contratos e testes na Hardhat network, você pode imprimir mensagens de log e variáveis de contrato chamando a função console.log() a partir do seu código Solidity. Não se esqueça de que, para usar essa função, você precisará importar hardhat/console.sol para a base de código do seu contrato.

Foundry

Foundry é um kit de ferramentas extremamente rápido, portátil e modular para desenvolvimento de aplicações Ethereum, escrito em Rust. O Foundry é composto por três elementos distintos: Forge, Cast e Anvil.

  • Forge - uma rede de testes Ethereum, semelhante a Hardhat e Truffle
  • Cast - uma ferramenta rica em recursos para interagir com smart contracts baseados em EVM, enviar transações e obter dados da chain
  • Anvil - um nó Ethereum local na Hardhat network, semelhante ao Ganache
  • Chisel: um REPL de solidity rápido, utilitário e detalhado

Além disso, existem outras ferramentas para desenvolvedores blockchain que podem ser usadas. Embora não seja uma lista extensa, aqui estão algumas ferramentas sugeridas para conhecer:

  1. Truffle - um ambiente de desenvolvimento, framework de testes e pipeline de gerenciamento de assets para Ethereum
  2. Brownie - um framework de desenvolvimento e testes baseado em Python para smart contracts direcionados à Ethereum Virtual Machine (EVM)
  3. Echidna - defina propriedades para smart contracts e depois use fuzzing para encontrar falhas de segurança
  4. Remix - uma IDE poderosa e de código aberto para escrever, compilar e depurar contratos Solidity direto do navegador

4. Ganhe experiência prática desenvolvendo em Solidity

Tutoriais e cursos são os principais métodos para aprender desenvolvimento em Solidity, seja para criar um smart contract de NFT, uma DAO on-chain ou uma aplicação de finanças descentralizadas. Esses tutoriais web3 funcionam como experiências guiadas, em que os participantes aprendem de forma assíncrona a concluir uma tarefa específica seguindo documentação escrita e vídeos passo a passo.

Para começar, considere explorar os tutoriais de Solidity na série Road to Web3 da Alchemy, incluindo:

  • Como desenvolver um smart contract de NFT (ERC721)
  • Como construir um dApp DeFi "Buy Me a Coffee"
  • Como criar NFTs com metadados on-chain
  • Como criar uma galeria de NFTs
  • Como criar um NFT dinâmico
  • Como construir um dApp de staking
  • Como construir um NFT Marketplace
  • Como construir um jogo de apostas no Optimism
  • Como construir um dApp de troca de tokens com a 0x API
  • Como criar um aplicativo de mídia social descentralizado

5. Participe de um hackathon Ethereum

Hackathons são eventos em que pessoas de diferentes formações se reúnem para desenvolver um produto mínimo viável que resolva um problema real. Hackathons de Ethereum são ótimas oportunidades para fazer novas conexões globalmente, construir seu portfólio web3, ganhar experiência prática de desenvolvimento e, potencialmente, até conseguir um emprego com uma empresa patrocinadora do evento.

Seja competindo virtualmente ou presencialmente, os hackathons podem oferecer uma plataforma para você se aprofundar ainda mais no universo web3. Atualmente, os padrões-ouro quando o assunto é hackathons web3 são os eventos EthGlobal e o Gitcoin. Ambos oferecem treinamento abrangente e experiência prática.

6. Audite smart contracts para recompensas

Auditar smart contracts para recompensas (bounties) é outra forma de ganhar experiência prática, receber recompensas e entender como smart contracts funcionam. Além dos programas de bounty patrocinados por empresas individuais e protocolos descentralizados, existem plataformas para descobrir programas de bounty, como:

  1. Plataformas nativas de web3 - Immunefi e HackenProof
  2. Plataformas tradicionais - Bugcrowd e HackerOne
  3. Bounties gerenciadas por projetos - Ethereum Foundation e 0xProject

7. Candidate-se a vagas de desenvolvedor Solidity

Com fundamentos e experiência prática em mãos, o próximo passo é considerar candidatar-se a uma vaga de desenvolvedor Solidity em tempo integral. Você se verá trabalhando com colegas de equipe ao redor do mundo, construindo produtos, serviços e infraestrutura para o ecossistema web3 e tecnologias descentralizadas.

Não se esqueça de que energia, empatia e aprendizado proativo também são extremamente importantes!

Atualize seu currículo e LinkedIn

Ao se candidatar a uma vaga de desenvolvedor Solidity, é importante atualizar seu currículo e LinkedIn para um foco em web3. Certifique-se de destacar seu perfil, experiência profissional, projetos, formação, habilidades, certificações e um link para o seu portfólio.

Por fim, também é uma boa ideia incluir informações quantitativas, que ajudam a demonstrar seu impacto para recrutadores e potenciais empregadores de forma convincente.

Pesquise vagas em quadros de empregos web3

Pesquisar vagas em quadros de empregos web3 é uma forma eficaz de explorar funções que podem ser adequadas para você. Sites como web3.career, cryptocurrencyjobs.co e web3jobs.so são ótimos pontos de partida.

Grandes empresas web3, como Alchemy, OpenSea e Coinbase, têm recursos internos dedicados a sourcing, recrutamento e contratação, o que significa que as vagas abertas provavelmente estarão hospedadas em suas páginas de carreiras.

Por fim, engenheiros Solidity aspirantes podem explorar quadros de empregos como Indeed e Monster.com em busca de vagas em cripto publicadas por empresas web2, além de grandes empresas web3 que republicam vagas em vários lugares para aumentar a visibilidade.

Background gradient

Construa magia blockchain

A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.