Ver mais

Web3: profissões e habilidades (parte 2)

13 mins
Atualizado por Anderson Mendes

EM RESUMO

  • Quais as principais funções um programador ou engenheiro da computação pode desempenhar na Web3?
  • Como um desenvolvedor pode atuar na indústria Web3?
  • Que habilidades e skills é preciso desenvolver para quem deseja atuar neste mercado, além da formação técnica?
  • promo

No artigo anterior desta coluna, vimos como um profissional – que não é desenvolvedor – pode atuar na Web3. Hoje, daremos seguimento ao tema, explorando o grupo de profissões que desempenham funções diretamente relacionadas à tecnologia. Se você perdeu a parte 1, leia aqui.

Leia mais: Bitcoin e mais 3 criptomoedas que podem atingir novos recordes em maio

Profissões diretamente relacionadas à tecnologia

De acordo com uma pesquisa do Stack Overflow de 2020 com 65.000 desenvolvedores em todo o mundo, cerca de 54,9% se identificam como Full Stack. Em contraste, 55,2% dos entrevistados se identificaram como desenvolvedores back-end, 37,1% se identificaram como desenvolvedores front-end e apenas 19,2% afirmaram ser desenvolvedores móveis. Veja aqui como os desenvolvedores identificam suas funções.

Tendo em conta que ser um desenvolvedor exige uma infinidade de qualificações, vamos começar com as habilidades consideradas necessárias para um desenvolvedor Blockchain, e depois vamos avançar com comentários mais específicos sobre as funções dos tipos de desenvolvedores mais conhecidos.

1 –  Desenvolvedor Blockchain

2 –  Desenvolvedor de núcleo 

3 –  Desenvolvedor de software

  • Desenvolvedor de aplicativos descentralizados (dApp) 
  • Desenvolvedor de contratos inteligentes 

4 –  Desenvolvedor Mobile

5 –  Desenvolvedor de Metaverso 

6 – Engenheiro ou Desenvolvedor Full Stack 

7 –  Desenvolvedor de front-end

8 –   Desenvolvedor de back-end

9 –   DevOps

10  – Engenheiro de controle de qualidade

11 – Engenheiros de Hardware

12 – Tech Lead

1 – Desenvolvedor Blockchain

Sobre as principais qualificações necessárias a um desenvolvedor blockchain, Marcos Sarres –  CEO na GoLedger, Professor da PUC-MG em disciplinas Blockchain, e membro do Hyperledger Chapter Brasil –  explica que ” algumas skills são importantes, além do conhecimento de lógica de programação.” 

Mais especificamente sobre as “skills”, Sarres ressalta a importância de conhecimento nas seguintes áreas:

  • Conhecimento de criptografia: tudo na Blockchain é assinado, sendo assim conhecimentos em algoritmos criptográficos, chaves, wallets, hashes, merkle trees, certificados é fundamental. Uso de ferramentas como OpenSSL é praticamente obrigatório em alguns frameworks de Blockchain como o Hyperledger Fabric. 
  • Conhecimento de diversas linguagens: plataformas como Fabric, Corda ou Ethereum permitem o uso de múltiplas linguagens de programação, é comum o desenvolvedor ter que variar entre uma linguagem e outra. 
  • Conhecimento de rede/nuvem: em Blockchain os contratos inteligentes são executados em nodes externos e as transações fluem pela rede, conhecimentos sobre serviços de nuvem para a distribuição de dados é bastante útil. 
  • Conhecimentos de processos de DevOps: desenvolvimento e infraestrutura se complementam em Blockchain (base do modelo DevOps), muitas vezes o código criado precisa interagir com o node para poder ser executado da forma correta. 
  • Conhecimento de containers/orquestradores: “containizar” facilita muito o trabalho para a implementação de redes Blockchain, ferramentas como Docker, K8s, Helm ou orquestradores específicos como AWS Blockchain Services, IBM Blockchain Plataform, GoFabric ou Kaleido, auxiliam muito a jornada de desenvolvimento para um ambiente de produção. 
  • Conhecimento em APIs: a grande maioria da interações em Blockchain produção se faz através de APIs, um bom conhecimento de desenvolvimento de middlewares é valioso.

2 – Core Developer

Olhando para a função de Core Developer no contexto da construção da tecnologia blockchain, o Desenvolvedor de Núcleo Blockchain constrói a arquitetura Blockchain, projeta seu protocolo, mecanismo de consenso, toma e implementa decisões de alto nível relacionadas à rede Blockchain.

Quanto às habilidades exigidas, você deve estar familiarizado e ter experiência com a arquitetura Blockchain, funções de hash criptográficas, mecanismos de consenso, algoritmos, tecnologia de registro distribuído e várias estruturas de dados, como Merkle Trees, etc. Algumas das principais linguagens que você usará são Golang, Rust, C++ e Java.

Aqui, podemos citar como exemplo os desenvolvedores do Bitcoin Core, responsáveis por criar e manter a rede de código aberto do Bitcoin.

Bitcoin Core é um software de segurança que ajuda a proteger ativos no valor de bilhões de dólares, portanto, cada alteração de código precisa ser revisada por desenvolvedores experientes. Note que para ser um Bitcoin Core Developer não é preciso ser um especialista em Bitcoin, na base de código do Bitcoin Core ou em C++ (embora tudo isso ajude). Quase sempre há solicitações pull abertas que qualquer programador pode revisar.

3 – Software Developer

Já os Desenvolvedores de Software, no contexto da construção da tecnologia blockchain, também são chamados de desenvolvedor de dApps (aplicativos descentralizados) e desenvolvedor de smart contracts.

Assim como um desenvolvedor de aplicativos cria jogos e aplicativos para lojas móveis da Apple ou do Google, um desenvolvedor de dApp faz a mesma coisa. Mas para uma rede descentralizada ou construída com base na tecnologia blockchain.

Eles criam aplicativos descentralizados ou Dapps usando protocolos criados pelos Desenvolvedores de Núcleo Blockchain.

Dito de outro modo, eles usam ferramentas existentes e a infraestrutura de uma Blockchain para criar dApps em cima dela. Eles fazem isso desenvolvendo contratos inteligentes e dApps e implantando-os na Blockchain.

Com relação às habilidades necessárias, um desenvolvedor de software precisará de experiência com várias ferramentas e linguagens de desenvolvimento, como Solidity, Substrate ou Java.  

Mais especificamente sobre o desenvolvedor de contratos inteligentes (programas de computador que automatizam os termos entre duas ou mais partes), eles precisam entender fundamentos de criptografia, das assinaturas digitais e de protocolos de blockchain de segunda, terceira e quarta geração.

Solange Gueiros, Blockchain Developer Advocate na Chainlink Labs, formada em Ciência da Computação pela USP, diz que já tinha uma sólida base quando descobriu Blockchain e tomou consciência do profundo impacto no mundo. 

Gueiros foi a primeira brasileira a publicar um smart contract – um token ERC 20 customizado -, em uma startup de tokenização de ativos. Veja o smart contract que Solange publicou, aqui

Solange conta que foi um grande desafio dadas as ferramentas e recursos da época. 

“Não funcionou da mesma forma que nas redes de teste! Eu finalizei criando a transação do zero e usando uma wallet online chamada MEW – My Ether Wallet. Eu não sabia que era a primeira mulher brasileira a publicar um smart contract na Ethereum Mainnet, eu comentei em um grupo de Mulheres em Blockchain que temos no WhatsApp, e elas me contaram. Fiquei muito honrada com isso”. 

Quanto às habilidades e skills para ser um desenvolvedor com foco em blockchain e smart contracts, Solange enumera o seguinte:

  • “Entenda os fundamentos de Blockchain, como criptografia, sistemas distribuídos e teoria dos jogos
  • Aprenda lógica de programação. Se você entende a lógica, pode programar em qualquer linguagem.
  • Alguma experiência em linguagens como Javascript ou C++ pode ajudar trazendo alguns fundamentos, mas caso você comece do zero, pode iniciar diretamente programando smart contracts aprendendo Solidity e seus conceitos diretamente.
  • Testar antes de publicar é uma obrigação! É uma grande mudança de paradigma para desenvolvedores, porque é comum fazer publicações e atualizações para corrigir erros. Porém em Blockchain você não pode ter erros em um smart contract, uma vulnerabilidade pode custar milhões de dólares e a falência de um projeto. É importante testar, testar e testar! O tempo dedicado para preparar e executar todas as possibilidades de testes pode ser muito maior do que a programação do smart contract em si.
  • Tenha em mente que Blockchain e smart contracts estão em uma evolução constante e muito rápida. Você precisa de atualizar o tempo todo”.

Já na visão de Victor Lindenblatt, desenvolvedor de software da Transfero Academy, para ser um bom Blockchain Software Developer é preciso “ser autodidata, ter a capacidade de aprender sozinho é fundamental para se manter atualizado com as novas tecnologias que aparecem. Outro ponto fundamental é a resiliência, pois você certamente passará por alguma dificuldade na hora de escrever o código e de consertar alguns bugs e por último, a habilidade de resolver problemas.”

Pois bem, além de desenvolvedores focados em blockchain, há desenvolvedores focados em outras áreas, igualmente importantes para a construção da Web3. E é isto que veremos a seguir.

4 – Mobile Developer

Como desenvolvedor de dispositivos móveis (Mobile), você criará aplicativos móveis para iOS ou Android, e precisará ser proficiente em JavaScript (ES6), entender Redux, Trunk/Saga e APIs REST. 

O desenvolvimento de aplicativos móveis nativos é um caminho a seguir. Mas o React Native também é uma estrutura comum com a qual se pode trabalhar.

5 – Metaverse Developer

Para entusiastas de realidade virtual e desenvolvedores com experiência em games, tornar-se um desenvolvedor dos mundos virtuais que formarão o Metaverso oferece uma ótima oportunidade para desenvolver e gerenciar aplicativos para mundos virtuais.

Você precisará de experiência na tecnologia blockchain (codificação em Solidity, por exemplo), e em como desenvolver aplicativos descentralizados. 

Aqui, vale lembrar que metaverso e Web 3 não são a mesma coisa. Assim como ainda não existe uma definição concreta para metaverso, também não existe um conceito para o que é a Web 3.0, ambos ainda em amadurecimento. Mas já é possível dizer que o metaverso, ainda incipiente, está sendo construído em várias esferas, sendo a Web a maior delas.

6 – Full Stack Developer

O termo Full Stack Developer surgiu nos primórdios da Web, quando os sites eram pequenos e descomplicados o suficiente para permitir que uma única pessoa lidasse com todos os aspectos da criação de sites. Porém, nas décadas que se seguiram a esses dias iniciais, a Web ficou cada vez mais complexa. O surgimento do aprendizado de máquina, da computação preditiva e do design responsivo tornou desafiador – mas não impossível! – para um único desenvolvedor lidar com todos os aspectos da criação e do design de um site ou aplicativo.

O desenvolvedor moderno de pilha completa (Full Stack Developer) é um generalista experiente que pode criar um Produto Mínimo Viável (MVP), ou seja, um aplicativo com funcionalidade suficiente para agradar aos primeiros clientes e gerar feedback para o desenvolvimento contínuo, por conta própria. 

As empresas Web3 confiam nos profissionais de Full Stack para identificar, por exemplo, erros entre o front e o back-end e lidar com tarefas que abrangem ambas as disciplinas. 

Essa versatilidade tem se tornado cada vez mais vital à medida que os aplicativos Web3 começam a incorporar IA e outras tecnologias de núcleo em sua programação.

Como os desenvolvedores Full Stack possuem um amplo conjunto de responsabilidades, dentre as habilidades exigidas, podemos citar: 

  • ser bem versado em HTML, CSS e JavaScript e conhecer bem as tecnologias de back-end e as estruturas de banco de dados.  
  • saber gerenciar bancos de dados e servidores conhecer codificação para funcionalidade em vários idiomas e plataformas
  • Comunicar-se com desenvolvedores especializados e com a equipe de design gráfico para oferecer o melhor produto possível
  • Acompanhar as tecnologias emergentes que possam atender às necessidades de uma empresa com foco na Web3
  • saber prototipar produtos mínimos viáveis para comunicação com as partes interessadas da empresa

7 – Front-end Developer

O desenvolvedor de Front-End é o responsável pelas interfaces de usuário front-end. 

E atuar nessa função, em uma empresa de Blockchain, é semelhante a atuar em qualquer outra empresa. A única diferença é que você estará fazendo isso para um produto baseado em Blockchain, na grande maioria das vezes. 

O Front-end Developer será responsável por criar interfaces de usuário bonitas e funcionais, bem como escrever códigos bem testados e confiáveis. E trabalhará em estreita colaboração com designers de UX/UI com vistas a oferecer uma melhor experiência ao usuário final.

Quanto às habilidades necessárias, você precisará ter experiência com JavaScript (ES6), trabalhar com aplicativos da Web do lado do cliente, e React.JS em aplicativos prontos para produção. Você também deve ter conhecimento de Redux e middlewares como Trunk ou Saga. 

Além disso, é sempre um bônus se você tiver experiência com APIs REST e TypeScript. 

Você também precisará entender de criptografia e um pouco de UX/UI, para poder se comunicar facilmente com os designers.

Com relação à remuneração, ela costuma ser cerca de 23% mais alta que a remuneração média de um Desenvolvedor Front-End em empresas de tecnologia tradicionais.

8 – Back-end Developer

Back-end Developer é responsável pela execução de back-end de aplicativos da Web para proporcionar experiências ideais aos usuários, sua função também é semelhante à de qualquer outra empresa de tecnologia, mas, em um contexto Blockchain. 

Embora os usuários finais não enxerguem isso, eles se comunicam com a Blockchain por meio de várias APIs e provedores de serviços, sempre que fazem uma transação. É aí que o desenvolvedor back-end atua. 

Ele garante que determinado aplicativo possa buscar e fornecer dados com êxito, a vários provedores de serviços, ou até mesmo se comunicar diretamente com uma plataforma Blockchain.

Quanto às habilidades necessárias, um desenvolvedor back-end deve ter experiência com JavaScript (ES6), Node.js e Express.js. E é provável que também trabalhe com o IntelliJ. 

Ele deve entender como funcionam as criptomoedas e ter experiência com APIs REST, bancos de dados relacionais (PostgreSQL, MySQL), dentre outros.

Com relação à remuneração, ela é cerca de 23% maior que a remuneração média de um  desenvolvedor back-end em empresas de tecnologia tradicionais.

9 – Engenheiro DevOps

Back-end Developer é responsável pela execução de back-end de aplicativos da Web para proporcionar experiências ideais aos usuários, sua função também é semelhante à de qualquer outra empresa de tecnologia, mas, em um contexto Blockchain. 

Embora os usuários finais não enxerguem isso, eles se comunicam com a Blockchain por meio de várias APIs e provedores de serviços, sempre que fazem uma transação. É aí que o desenvolvedor back-end atua. 

Ele garante que determinado aplicativo possa buscar e fornecer dados com êxito, a vários provedores de serviços, ou até mesmo se comunicar diretamente com uma plataforma Blockchain.

Quanto às habilidades necessárias, um desenvolvedor back-end deve ter experiência com JavaScript (ES6), Node.js e Express.js. E é provável que também trabalhe com o IntelliJ. 

Ele deve entender como funcionam as criptomoedas e ter experiência com APIs REST, bancos de dados relacionais (PostgreSQL, MySQL), dentre outros.

Com relação à remuneração, ela é cerca de 23% maior que a remuneração média de um  desenvolvedor back-end em empresas de tecnologia tradicionais.

10 – QA Engineer

Como parte da equipe de controle de qualidade, um engenheiro de controle de qualidade desenvolverá procedimentos de teste que abordam impactos no banco de dados, cenários de software, testes de regressão, testes negativos, retestes de erros ou bugs ou testes de usabilidade.

Quanto às habilidades, exige-se a capacidade de projetar planos de teste, cenários, scripts ou procedimentos, organizar testes de usuários ou de terceiros (beta). 

Além disso, documentará os procedimentos de teste para garantir a replicabilidade e a conformidade com os padrões, e fornecerá feedback e recomendações sobre a usabilidade e a funcionalidade do software.

Com relação à remuneração, ela é cerca de 50% mais alta que a remuneração média de um engenheiro de controle de qualidade em empresas de tecnologia tradicionais.

11 – Engenheiro de Hardware

A Web3 e o Metaverso não serão construídos apenas em código, jogos e aplicativos; operar em um ambiente tridimensional perpetuamente disponível exigirá o desenvolvimento de novas câmeras, fones de ouvido, sensores e wearables.

Tais tecnologias existem hoje, mas muito trabalho é necessário para aprimorá-las e levá-las à maturidade ideal, tornando-as sem fio, confortáveis, leves e capazes de comunicar o toque, as emoções ou a área ao redor.

Quanto às habilidades necessárias, ter vários anos de experiência no desenvolvimento de produtos ou projeto de sistemas embutidos e/ou uma formação em engenharia elétrica, informática, mecânica ou óptica ou física pode qualificar para uma posição como engenheiro de hardware de realidade virtual.

É preciso também estar familiarizado com importantes conceitos e ferramentas de realidade virtual, tais como auxiliado por computador (CAD – Computer Aided Design) e software de engenharia auxiliada por computador (CAE – Computer Aided Engineering), grau de liberdade (DoF), haptics, eye tracking, head tracking, etc.

12 – Tech Leader

Um líder técnico pode ser considerado um líder, desenvolvedor e arquiteto, tudo em um, o que define seu conjunto de habilidades essenciais:

Como líder, ele supervisiona os membros da equipe, delega tarefas, emite feedback, avalia riscos e resolve conflitos. 

Como desenvolvedor, ele aplica ferramentas de programação, utiliza padrões de projeto, realiza testes automatizados e refatora códigos. 

Como arquiteto, ele realiza avaliações técnicas, supervisiona ciclos de vida de desenvolvimento, dirige o gerenciamento de versões e cumpre as normas federais. 

Como você pode ver, os líderes técnicos devem ter não apenas o conhecimento técnico para desenvolver produtos, mas também as habilidades pessoais para liderar equipes. 

Algumas habilidades cruciais de um líder técnico incluem: 

  • Comunicação e liderança 
  • Gerenciamento de projetos e crises 
  • Arquitetura de software e testes de sistemas 
  • Orientação técnica e habilidades de tomada de decisão
  • Garantia de qualidade 
  • Solução de problemas e inovação 
  • Propriedade e visão

Para Fúlvio Xavier, Tech Leader e Arquiteto na Capgemini, as coisas estão muito velozes e saber diferenciar o que é hype e perda de energia do que realmente pode ajudar realmente num projeto/produto é importante. 

Para Fúlvio, é importante uma “conexão com o lado estratégico das coisas – obrigatório tentar conectar negócio e tecnologia, ainda mais em digital assets”. 

Na parte técnica, ele prefere profissionais com habilidades “mais generalistas, que entendem arquiteturas públicas e privadas e têm mais flexibilidade para adequar os cenários”. 

Além disso, ele diz que “conhecimento de UX depende muito do projeto, mas é sempre bom, porque na ponta sempre tem o usuário; e no caso de blockchain/ativos digitais ainda deixamos um pouco a desejar…, mas com o avanço e integração das carteiras digitais tem melhorado”. 

Ainda, para Fúlvio, “os que usam frameworks híbridos tem vantagens, modelos similares de tecnologia geram tokens de naturezas diversas, então nem tudo pode ser colocado numa mesma caixinha principalmente quando falamos de Originação e Estruturação do ativo/cripto (Ex: Token de CO2 e Recebíveis de Cartão) FinOps/Tokenomics – pelo menos o básico para não cair em armadilhas de operação depois”. 

Por último e voltando ao começo, Fulvio conclui que “ter especialização no domínio principal (finanças, crédito, agro…) é um ‘baita’ diferencial. De resto são os padrões, o que já é coisa pra caramba”.

Takeaway

Falar de Web3  é também falar sobre pessoas, não apenas de tecnologia.  É falar sobre mudança de padrões, comportamentos, impacto social e muitas outras coisas. 

Por isso, a lista de profissões que acabamos de ver é exemplificativas, e não exaustiva. A grande maioria das habilidades exigidas dos profissionais são aprendidas por meio do envolvimento ativo no próprio ecossistema Web3.  

Mas e você? Tinha idéia de como os Desenvolvedores classificavam suas funções? Sabia das porcentagens de desenvolvedores identificados como Full Stack, front-end e back-end?

Percebeu que para operar em um ambiente tridimensional perpetuamente disponível, será necessário o desenvolvimento de novas câmeras, fones de ouvido, sensores e wearables

Acha que profissionais com habilidades mais generalistas podem se adequar mais rapidamente a mudanças de cenário? 

Conhecimento é poder!! Nos vemos em breve!

  • Não entendeu algum termo do universo Web3? Confira no nosso Glossário!
  • Quer se manter atualizado em tudo o que é relevante no mundo cripto? O BeInCrypto tem uma comunidade no Telegram em que você pode ler em primeira mão as notícias relevantes e conversar com outros entusiastas em criptomoedas. Confira!
  • Você também pode se juntar a nossas comunidades no Twitter (X)Instagram e Facebook.
Melhores plataformas de criptomoedas | Maio de 2024

Trusted

Isenção de responsabilidade

Todas as informações contidas em nosso site são publicadas de boa fé e apenas para fins de informação geral. Qualquer ação que o leitor tome com base nas informações contidas em nosso site é por sua própria conta e risco.

image_from_ios-1.jpg
Tatiana Revoredo
Tatiana Revoredo é membro fundadora da Oxford Blockchain Foundation. LinkedIn Top Voice em Inovação e Tecnologia. Estrategista Blockchain pela Saïd Business School, University of Oxford. Especialista em Blockchain Business Applications pelo MIT. Especialista em Artificial Intelligence & Business Strategy pelo MIT Sloan & MIT CSAIL. Especialista em Cyber-Risk Mitigation pela Harvard University. Convidada pelo Parlamento Europeu para a “The Intercontinental Blockchain Conference”....
READ FULL BIO
Patrocinados
Patrocinados