top of page

Coffee and Tips Newsletter

Inscreva-se na nossa newsletter semanal

Nos vemos em breve!

Minha experiência usando Cursor não sendo mais um Dev

  • Foto do escritor: JP
    JP
  • há 6 dias
  • 5 min de leitura

Como foi usar o Cursor sendo um Gerente de Engenharia de Software


Cursor
Usando ferramentas Vibe Coding

Bom, já faz tempo que não crio códigos produtivos, apenas provas de conceito onde compartilho aqui no Blog. Codei durante 14 anos, e 4 anos para cá me dedico ao papel de Gerente na área de Engenharia de Dados, onde também fiz parte como Engenheiro de Dados anos atrás.


Por mais que gosto de criar códigos em produção, nem sempre consigo adequar meus compromissos e acaba que preciso priorizar outras tarefas de gestão. Mas um dos meus papeis é também buscar por inovações pare aplicar no meu dia a dia e do time que lidero. No início do ano decidi me aventurar com ferramentas Vibe Coding e virei um "Vibe Coder" por 2 horas.


A minha ideia era testar uma ferramenta geradora de código através de IA Generativa, assim eu poderia engajar o time a usar e consequentemente aumentaria o meu repertório de skills de IA.


Porém fiz muito diferente, não foquei em testar dentro de um contexto de Dados, mas preferi relembrar os velhos tempos de Full-Stack Developer, mais especificamente quando eu precisava criar a parte de front-end. Front-end sempre foi minha criptonita, era terrível, ter que lidar com muitos detalhes como CSS, Java Scripts, JQuery, Ajax e dentre outros frameworks que não vem ao caso falar.


A ferramenta que decidi usar foi o Cursor. Achei bem interessante todo o seu eco-sistema e a facilidade de uso e estava com uma ideia simples em mente que era criar um site que calculava ciclo menstrual e período fértil. Inicialmente o prompt foi muito simples, como queria explorar a ferramenta, me surpreendi.


O prompt foi algo assim "Preciso gerar um site simples e de interface limpa onde usuários possam calcular seu período menstrual". Perceba que não detalhei frameworks, linguagem de programação e etc.


O resultado da tela inicial foi este:

cursor

Mas é claro que ao clicar no botão "Calcular" e nada funcionava. Como estava apostando todas as fichas em explorar a ferramenta, eu não perdia tempo em entender as mensagens de erros no console de depuração. Simplesmente copiava e colocava as mensagens no prompt do Cursor e ele simplesmente ia resolvendo pra mim os bugs, impressionante!


Após zerar as mensagens de erro, uma nova tela com o calendário menstrual nascia, veja abaixo:

Cursor

Surreal, facilmente eu demoraria dias criando uma tela como esta e talvez até iria desistir pela complexidade de ter que lidar com scripts Java Script. (Por ser Javeiro, haja preguiça em lidar com front)


Mas nem tudo são flores, resolvi evoluir o projeto focando em otimizações e SEOs, e foi aí que comecei a lidar com alguns problemas da ferramenta em gerir melhor o código.


Quando pedi para o prompt criar otimizações para que a página fosse carregada de forma mais rápida, o Cursor removeu parte da implementação que gerava o calendário mostrado acima e nada mais rodava. Nem mesmo quando copiava as mensagens de erro no console e pedia para ele corrigir não era o suficiente. Logo percebi um problema que precisava ter atenção ao criar projetos como estes.


Dificuldades em evoluir um código


Pode ser uma questão de amadurecimento da ferramenta ou falta de estratégia da minha parte, mas uma uma coisa que percebi é que o Cursor não estava lidando bem com evoluções a partir de um código pronto.


Inicialmente foi gerado código o suficiente para executar a solução, mas quando precisei adicionar mais features além de otimizações, partes do código simplesmente desaparecia. Para isso, é importante adotar uma ferramenta de gestão de código, como Git por exemplo.


As vezes foi necessário sair da persona "Vibe Coder" para entender o código para resolver um Bug gerado através dos pedidos de evoluções, ou seja, provavelmente uma pessoa que nunca teve contato com programação irá ter dificuldade em usar ferramentas como estas, ainda exige um nível de conhecimento técnico.


Chegou em momentos que todos prompts para evoluir o código, eram gerados códigos desnecessários, gerando conflitos e sendo necessário intervir manualmente.


Com paciência foi possível contornar os problemas e a solução ficou pronta, porém com alguns Bugs que ainda não foram corrigidos, basta acessar o site que talvez você perceba (https://ciclomenstrualonline.com/).


A IA irá te substituir, programador?


Não acredito que isso possa acontecer com a rapidez que tem se falado. A IA veio simplesmente para acelerar o processo e como mesmo citei neste post sobre a minha dificuldade com Front-end e que em outras épocas levaria dias para construir algo parecido e usando IA, levei 2 horas. Mas por mais que foi gerada com IA, foi necessário um mínimo de direcionamento técnico da minha parte durante o desenvolvimento e algumas intervenções.


Tenho usado bastante IA no meu dia a dia para acelerar e automatizar tarefas repetitivas, isso me dá um grau de produtividade muito além comparado a outros tempos, quando não existia IA. Para você programador, que ainda resiste ao uso de IA, não faça isso. Não existe mais essa de quebrar cabeça para resolver um Bug, dar uma solução que levaria dias para planejar ou criar scripts na mão, nem mesmo pesquisar em fóruns o motivo de uma mensagem de erro estar aparecendo no console. Deixe a vaidade de lado e adote IA pois no final das contas é a produtividade que conta. Por mais que deve-se manter atenção a qualidade que pode também ser resolvida através de IA.


Aprender com IA


Uma coisa interessante que percebi é que a IA tem me ensinado bastante. Também uso IA para me auxiliar em análises de métricas, e ela consegue me fornecer diversos insights que antes precisava me aprofundar em algum estudo específico para aquele contexto.


Fique atento, por mais que a IA pode nos tornar um pouco acomodados, ela também está disposta a ensinar e dar clareza de como ela resolveu aquele problema. Em tempos assim, o nosso cérebro agradece e tornamos parte da solução.


Cursor é uma boa ferramenta para desenvolvimento


Sim! Porém precisamos ter alguns cuidados. O exemplo deste post foi apenas um de vários outros que tive a oportunidade de usar no dia a dia. O Cursor auxilia bastante em atividades pontuais, acelerando o desenvolvimento de software como criação de scripts, criação de algorítimos, resolução de Bugs, otimização de queries SQL e etc.


Mas não apostaria no Cursor para criar uma aplicação complexa e que necessita de critérios de segurança que facilmente podem ser exploradas por terceiros. Outro ponto é que por mais que exista a facilidade em gerar códigos, a revisão humana é sempre importante, como a adoção de boas práticas como testes unitários, teste de integrações e usar um ambiente de homologação para que todos os detalhes sejam validados antes da liberação em produção.



Quer Aprender Mais? Inscreva-se na nossa Newsletter semanal!


Não perca nossas dicas exclusivas de Tech e Data!



Receba semanalmente:

  • Tutoriais práticos e diretos sobre Engenharia de Software e Dados

  • Insights de tecnologia e notícias da semana


 
 
 

Commenti


bottom of page