Back to Blog

Ready for a free 2 GB trial?

Book a call with one of our Data Nerds to unlock a super-sized free trial.

START TRIAL
De fundador frustrado a engenheiro prático: como a IA fez a diferença nos gráficos

De fundador frustrado a engenheiro prático: como a IA fez a diferença

Jason Grad
Co-founder
September 26, 2024

Libertando-se: aprendendo noções básicas de codificação 🧑 ‍ 🎓

Você já teve uma visão de como uma coisa específica deveria parecer e funcionar, mas explicá-la em todos os detalhes levaria 10 vezes mais tempo do que mostrar um protótipo funcional?

Esse era eu há alguns anos, preso em um ciclo familiar a muitos fundadores: projetos atolados por longos prazos para tarefas aparentemente simples, reuniões intermináveis para definir requisitos rígidos e produtos finais que não atendiam verdadeiramente aos nossos usuários ou à empresa.

Frustrado com as ineficiências e os desalinhamentos, decidi resolver o problema com minhas próprias mãos. Comecei a aprender a programar, me transformando em um fundador técnico.

Comecei com recursos como Automatize as coisas chatas com Python e Aprenda JavaScript da maneira mais difícil. Em poucas semanas, eu estava:

  • Criação de scripts: O primeiro script foi obter números de contato disponíveis publicamente e um grande número de sites 📊
  • Trabalhando com APIs: Usando o Google OAuth para criar logins simples, testando outros serviços 🔑
  • Criação de aplicativos simples: Comecei criando blogs e diretórios 🛠️


Em poucos meses, eu estava contribuindo ativamente para nossa própria base de código, tomando decisões informadas rapidamente e implementando recursos que realmente serviam aos nossos usuários e à empresa.

O poder da autonomia

Em muitas empresas, os membros da equipe são prejudicados por:

  • Instruções rígidas: Diretrizes rígidas que deixam pouco espaço para inovação. 🚫
  • Medo de repercussões: Uma cultura em que sair de funções definidas pode perturbar a gerência. 😟
  • Falta de autoridade para tomar decisões: Incapacidade de tomar decisões rápidas que possam beneficiar o projeto. 🚶 ‍ ♂️


Como fundador com habilidades técnicas e uma visão profunda das prioridades da nossa empresa, eu poderia contornar esses obstáculos. Tomei centenas de microdecisões em tempo real, resultando em soluções eficientes e eficazes que se alinhavam perfeitamente com nossos objetivos.

Sobrecarga com AI 🚀

Graças aos avanços na IA, especialmente em modelos de linguagem grande (LLMs), tornar-se um fundador técnico está mais acessível do que nunca. No ano passado, a IA foi minha “desenvolvedora júnior”, me ajudando a expandir além do Python e do MERN para linguagens e estruturas como Java, Kotlin (Android), Objective-C/Swift (iOS), Go e até extensões de navegador.

Recentemente, criei uma ferramenta de início rápido que gera código para nossos parceiros desenvolvedores em apenas 2 a 3 horas — uma tarefa que poderia ter levado três dias ou mais para minha equipe.

Neste artigo, compartilharei minha jornada e meus processos para inspirar mais fundadores a adotarem uma abordagem prática quando necessário, mesmo que você não seja um desenvolvedor em tempo integral.

Escolhendo o projeto certo ⚖️

É importante escolher projetos com sabedoria ao aproveitar os LLMs.

  1. Atenha-se às tecnologias estabelecidas:
    • Os LLMs são treinados em dados históricos, para que tenham um melhor desempenho com a tecnologia estabelecida. Por exemplo, o uso do Node.js, que existe há mais de uma década, garante que a maioria dos problemas tenha soluções conhecidas. No entanto, com ferramentas mais novas, como o Supabase, descobri que as instruções geradas pelo ChatGPT estavam ausentes, o que me forçou a descobrir isso manualmente.
  2. Não espere a melhor implementação:
    • Os LLMs podem fornecer soluções funcionais, mas podem não ser as mais eficientes ou escaláveis. Para recursos não críticos, geralmente é bom, desde que as saídas estejam corretas. No entanto, para sistemas principais, talvez seja necessário se aprofundar para refinar a solução.
  3. Seja específico com suas solicitações:
    • Um aviso detalhado é crucial, assim como definir os requisitos do produto com antecedência. Reservar um tempo para esclarecer as expectativas desde o início pode economizar muito tempo no futuro, evitando reescritas caras e resultados desalinhados.

Construindo o Prompt

Não sou especialista imediato, mas, por tentativa e erro, aprendi alguns truques para obter melhores resultados de LLMs. Nesse caso, eu estava construindo um gerador de comandos proxy para que os desenvolvedores pudessem inserir alguns parâmetros e, em seguida, copiar/colar o código no terminal e obter respostas bem-sucedidas. Depois de pesquisar exemplos on-line, fiz uma captura de tela de uma ferramenta semelhante e escrevi minha solicitação inicial em um editor de texto:

Aqui está uma captura de tela de um gerador de comandos proxy. Você pode me dizer em detalhes o que você vê?

O LLM retornou uma análise detalhada dos recursos do gerador de proxy, mas nem todos foram relevantes. Eu o simplifiquei para incluir apenas os recursos essenciais de que precisávamos, como opções de segmentação e seleção de protocolos.

Aqui está o que eu refinei o prompt para:

Preciso de ajuda para criar um guia de início rápido para um painel de desenvolvedores usado por parceiros para gerar solicitações por meio de uma rede proxy residencial.
O guia deve abordar os seguintes parâmetros:
Opções de segmentação: padrão ou filtradas (país, estado, cidade, CEP).
Tipo: proxies rotativos ou fixos.
Protocolo: HTTP, HTTPS ou SOCKS5.
[Exemplo de solicitações de cURL para cada uma dessas configurações]

Implantação e solução de problemas

A primeira resposta do LLM incluiu uma implementação aproximada do guia de início rápido em JavaScript. Enquanto a estrutura estava lá, ela não estava totalmente correta — visualmente, era desajeitada e alguns recursos não funcionavam. Aqui está uma captura de tela de uma das primeiras versões (a primeira versão era muito pior, mas eu esqueci de salvar uma captura de tela dela):

Depois de analisar o resultado, forneci feedback para ajustar a implementação:

  • HTTP e HTTPS precisavam ser separados, usando portas diferentes.
  • O botão “Salvar configuração” era desnecessário e poderia ser substituído por um botão “Copiar”.
  • Os menus suspensos para seleção de países e estados exigiam recursos de preenchimento automático para facilitar o uso.
  • Outros pequenos ajustes, como mudanças na cor do plano de fundo, aprimoraram a experiência do usuário.


Nas próximas duas horas, usei o LLM para todas as tarefas tediosas, como gerar opções suspensas e corrigir pequenos bugs. Por exemplo, pedi ao LLM que criasse listas de códigos de países e estados dos EUA, e isso também ajudou a solucionar o problema do botão “Limpar configuração”, que não estava funcionando corretamente no início.

Embora o LLM tenha sido fundamental para concluir tarefas básicas, alguns trabalhos exigiam conhecimento de domínio, como:

  • Criação de uma nova guia na barra lateral.
  • Configurando rotas para a nova página.
  • Injetando credenciais específicas do usuário (nome de usuário proxy e chave de API) nos comandos curl.

Na manhã de segunda-feira, o recurso estava no ar após uma rápida análise. Aqui está a versão final do gerador de proxy:

Lições aprendidas

Esse projeto foi um ótimo exemplo de como os LLMs podem acelerar o desenvolvimento para fundadores com alguma experiência em codificação. O LLM cuidou da maior parte do trabalho de base e eu intervim onde era necessário conhecimento técnico.

🔑 Principais conclusões:

  1. LLMs se destacam com tecnologias estabelecidas mas eles enfrentam novas tecnologias e problemas complexos.
  • Instruções detalhadas melhoram muito a qualidade da saída.
  • Os LLMs podem aumentar a velocidade, mas podem sacrificar a qualidade e/ou a escalabilidade. Eles nem sempre produzem o código mais otimizado, mas podem ajudar os fundadores a agir rapidamente e a se concentrarem nas principais prioridades do negócio.
  • Ter algum conhecimento técnico faz uma grande diferença. Aprenda os fundamentos de como os aplicativos funcionam e a relação entre banco de dados, API e front-end para que você possa orientar os assistentes de codificação do LLM e solucionar problemas.

Em apenas algumas horas, consegui criar e implantar um recurso que levaria dias para minha equipe. Para fundadores como eu, aproveitar os LLMs nos permite enfrentar desafios técnicos, economizar tempo e manter os negócios avançando.

Pensamentos finais

Aprender a programar transformou meu papel como fundador, mas incorporar a IA ao meu fluxo de trabalho o levou a um novo patamar.

Espero que este passo a passo ajude outros fundadores a superar o obstáculo mental de tornando-se técnico e também perceba o potencial do desenvolvimento orientado por IA. Ferramentas como LLMs estão tornando mais fácil do que nunca dar vida às suas ideias.

Read More