Comecei a programar contratos inteligentes há cinco anos, aos 38 anos, e deixei de ter nenhuma experiência profissional em programação para construir contratos inteligentes de última geração.
Muitos perguntaram como poderiam seguir um caminho semelhante. Embora não exista um recurso ou segredo específico para o sucesso, existe um padrão que você também pode usar.
Aqui está minha jornada.
Em 2018, mudei-me recentemente com a minha mulher e o meu filho pequeno de Melbourne para Lisboa, para que pudéssemos estar todos mais próximos da família. Tive uma carreira decente como engenheiro de supercomputação e arquitecto de soluções para banca de investimento e pensei que Lisboa seria suficientemente grande para eu encontrar um emprego.
Rapidamente descobri que o mercado de trabalho em Lisboa não necessitava absolutamente de engenheiros de supercomputação e que a minha formação em arquitecto de soluções só me proporcionaria funções aborrecidas de gestor intermédio.
Eu estava interessado na tecnologia blockchain há muito tempo, mas nunca realmente entrei nisso. Então li um artigo sobre como era difícil contratar engenheiros de blockchain e vi uma oportunidade.
Escrevi ao autor para agradecê-lo pela inspiração para procurar emprego em blockchain. Começamos a conversar e, junto com um amigo dele, decidimos fundar a TechHQ, uma consultoria de blockchain com ideais elevados. Em nossa consultoria de três pessoas, eu seria o especialista em tecnologia.
Tive cerca de um mês para fazer a transição de arquiteto de soluções corporativas para a criação de projetos baseados em blockchain que poderíamos vender aos clientes.
Sem experiência anterior, eu seria o especialista em tecnologia.
Uma de minhas atribuições era escrever artigos técnicos sobre blockchain para atrair clientes, assim como o artigo que me levou a conhecer meus parceiros. Escrever esses artigos e tornar público o que aprendi seria fundamental em minha carreira.
Meu primeiro artigo seria sobre
Nossa primeira oportunidade de negócio surgiu alguns meses depois com um projeto de
Os resultados não foram nada excelentes – engenharia excessiva e ineficientes mesmo para os padrões de 2018
Tendo adquirido alguns recursos de codificação sólidos e apenas com Bernardo qualificado em desenvolvimento frontend, assumi os contratos inteligentes da CementDAO. Infelizmente, devido em parte à implementação ineficiente do Fixidity, nunca avançamos para o estágio mainnet.
À medida que procurávamos mais clientes, continuei a experimentar para poder escrever mais artigos, porque era assim que esperávamos conseguir clientes. Eventualmente, tive uma ideia interessante para um
Bem quando a falência parecia iminente, esse mesmo código nos garantiu outro cliente:
Apesar do péssimo desempenho nos contratos inteligentes, eles só precisavam de uma prova de conceito no Ganache, que entregamos. Aprendi lições importantes sobre arquitetura de contratos inteligentes,
Apesar do péssimo desempenho… aprendi lições importantes
Novamente não tivemos receita e estávamos com muito pouco dinheiro. Resolvi abrir mão do meu salário e comprar um terço da empresa para não irmos à falência. Não achei que tivéssemos grandes chances de sucesso como empresa, mas não importava, eu estava programando, estava aprendendo, estava me divertindo. Parecia um negócio barato obter uma ótima experiência em blockchain.
Enquanto procurávamos mais clientes. eu colaborei em
Eventualmente, a empresa ficou sem dinheiro novamente e todos tivemos que começar a procurar emprego. Então, me deparei com um
Após discussões com
Encorajado por este sucesso, enfrentei o desafio do OpenZeppelin de renovar os seus contratos de controlo de acesso. Eu tinha feito um trabalho de ponta no tópico da falha na aplicação da cadeia de suprimentos, aperfeiçoado com o AllianceBlock e novamente
Eu sabia que poderia fazer isso. Isso acabou levando à publicação de
Eu consegui. Parte do meu código finalmente foi lançado. E com o OpenZeppelin nada menos.
Eu ainda precisava de um emprego e me tornei instrutor de Blockchain da BeyondSkills. Eu teria que criar cursos online para ensinar programação de solidez. Como sempre, eu não estava realmente qualificado para o trabalho. Eu sabia codificar algumas coisas, mas tinha enormes lacunas no meu conhecimento. Até então, eu nem tinha contratado um contrato.
Tive que falar em vídeo e fazer tutoriais sobre desenvolvimento de solidez. Eu também tive que ser minucioso porque os cursos precisavam ser consistentes. O mesmo padrão dos artigos aqui aplicados; Eu estava aprendendo coisas e imediatamente ensinando-as, e isso me levou a aprender muito sobre desenvolvimento de solidez.
Infelizmente, a empresa fechou devido a desafios legais e esse conteúdo nunca foi divulgado. Talvez seja melhor assim.
Eu estava aprendendo coisas e imediatamente ensinando e isso me levou a aprender muito sobre desenvolvimento de solidez.
Durante a gravação desses cursos, fui abordado por
Naquela época, eu já havia codificado o Fixidity, publicado vários artigos sobre matemática de ponto fixo e tentado ajudar tanto o OpenZeppelin quanto a equipe principal do Solidity, sem sucesso. Eu também sabia que AMMs com funções logarítmicas não eram triviais e conhecia um cara, Mikhail, que poderíamos contratar para fazê-los funcionar.
Fui o primeiro contratado na @yield. Convenci Allan a contratar
Eu aprendi muito - sobre
Uma das coisas que aprendemos é que, ao contrário do Uniswap, precisaríamos fazer alterações no protocolo em busca de adequação entre produto e mercado. Como nossos contratos eram em sua maioria imutáveis, logo começamos a trabalhar no Yield v2.
O Yield Protocol v2 esteve ativo por cerca de dois anos e aprendi muito com ele, mas agora está fechando. Embora o nosso trabalho técnico tenha sido de primeira linha, as taxas fixas não se enquadram no mercado de produtos nas finanças descentralizadas no momento.
Na natureza novamente, estou escolhendo o caminho difícil novamente e, em vez de conseguir outra função de Engenheiro Líder/CTO, estou me posicionando como consultor para outras startups que podem se beneficiar das lições que aprendi. Não existem manuais sobre como fazer isso e sei que as lacunas no meu conhecimento são enormes, mas também o são as oportunidades de melhoria.
Agora você deve ver o padrão. Fico fora da minha zona de conforto, muitas vezes falhando, mas sempre ensinando aos outros o que aprendo. Este mesmo artigo pode ser visto como um exemplo.
Se tiver sorte, encontrarei algo que alguém deseja, como CementDAO, AllianceBlock, contratos para OpenZeppelin, cursos BeyondSkills e, finalmente, Yield. Se não consigo encontrar alguém com necessidade, sempre há algo para aprender e sobre o qual escrever, como todos os meus artigos.
Fico fora da minha zona de conforto, muitas vezes falhando, mas sempre ensinando aos outros o que aprendo.
O ciclo de tentativa, fracasso, aprendizado e ensino não é invenção minha, mas funciona. Muitas vezes me faz parecer um idiota, e talvez essa seja a parte mais difícil para alguns. Eu mesmo, visto meus fracassos com orgulho.
Obrigado por ler. Espero que isso lhe dê alguma inspiração. Boa sorte.