O Que Você Precisa Saber Para Aproveitar o Potencial da GenAI em desenvolvimento de software

O Que Você Precisa Saber Para Aproveitar o Potencial da GenAI em desenvolvimento de software

Eu vou te explicar o porquê gerentes de produto são os que estão melhor posicionados para essa popularização do uso de GenAI para “construir” para a gente.

Se você é um profissional de tecnologia, saiba que você já passou pelo seguinte cenário:

O gerente de produto é um facilitador. Ou seja, ele facilita o trabalho de grande parte dos profissionais de tecnologia. Funciona como cola que conecta todas as pontas do negócio, experiência, dados e limitações técnicas.

Os desenvolvedores terão perguntas, vão validar se a informação é boa o suficiente, darão os seus respectivos inputs e, por fim, vão garantir que o que deve ser construído tenha a qualidade esperado no tempo especificado mais próximo.

Beleza, é o arroz com feijão de desenvolvimento de software, simplificando bastante mesmo.


Você goste dessa forma de pensar/simplificar esse processo ou não, no fim do dia, é assim em 90% do tempo.

Com isso, normalmente, a partir de todo o refinamento de negócio, design e tecnologia, sempre sai um registro das tomadas de decisão (product requiriment document) ou user stories.

Basicamente uma sequência de escrita e documentações descrevendo exatamente o que precisa ser construído e os seus critérios de aceite.

Veja, se você já trabalhou com um bom gerente de produto, entende perfeitamente o que eu vou dizer:

Seu trabalho fica MUITO mais fácil. Pois você constrói a coisa CERTA.

clareza, direcionamento e consciência daquilo que é feito a partir de todas as informações coletadas das diferentes frentes.

O mesmo é com IA.

Por que algumas pessoas não se dão bem com ferramentas de desenvolvimento como Lovable, Vercel, Supabase e Cursor?

Pois são péssimos gerentes de produto.

Se você tem a expectativa de chegar para uma ferramenta de IA e pedir: "construa isso para mim” e ela construir exatamente o que você quer com todos os requerimentos. Você está viajando.

  • Como o fluxo de informações devem ser transportadas?
  • O que é imprescindível?
  • O que é descartável?

Eu só vejo essa consciência em pessoas que possuem, com o perdão do inglês, Product Acumem. Ou seja, a malandragem, jogo de cintura, perspicácia, habilidade de produto.

É a capacidade de compreender as nuances, dinâmicas e estratégias relacionadas a desenvolvimento e gestão de produtos digitais.

O famoso molho.

E se você não tem o borogodó, sinto muito, não vai construir a coisa certa.

Mas, só para não ficar muito no alto nível o que precisamos. Existem três pontos principais:

  • Saber como escrever
  • Definir funcionalidades com extrema precisão
  • Ter uma noção de qualidade em design de interface

Veja, uma grande habilidade de comunicação é saber escrever como se fala. Aprender a contar uma boa história através da escrita, mais conhecido como storytelling, é o que faz com que você esteja aqui lendo esse artigo.

Isso não é o que eu quero dizer como "Saber como escrever".

Saber como escrever de modo que uma IA (no estado atual) te entenda. Eu normalmente separo meus prompts da seguinte maneira:

Contexto inicial

  • Qual é a tech stack que você deseja seguir?
  • Qual é o objetivo da aplicação?
  • Qual é a jornada de usuário em alto nível que eu desejo como resultado final?

Ao responder essas três perguntas, você já prepara a LLM para te compreender.

Passo a passo detalhado do fluxo de informação

Lembrando, toda e qualquer arquitetura de fluxo de dados é um fluxograma de processo. Dado isso, respondendo as seguintes perguntas você pode ter mais clareza com o que deseja:

  • Quais são as principais chamadas?
  • Que tipo de informação você quer persistir?
  • Quais são os inputs do usuário?
  • Quais são os outputs dado os diferentes cenários de input?
  • Qual o comportamento esperado?

Notas adicionais

O óbvio precisa ser dito. Por exemplo:

  • Como será feito a tratativa de erros das chamadas de API?
  • Qual é a linguagem (portugues, ingles…) do output da LLM?

Vou deixar aqui o prompt que usei para criar uma automação para o BLUF (Bottom Line Up Front) que comentei na última newsletter.

I have an application using the following tech stack:

Python
I want to build an AI automation that integrates OpenAI's LLM to process and 
rewrite corporate communications using the BLUF framework ("Bottom Line Up Front"). 
The automation should do the following:

Input via Terminal
Prompt the user to enter a text (referred to as random_text) in the terminal 
with the message:
"Insert the text to be optimized:"
Capture this input as random_text.

Generate the Prompt for the LLM
Construct the following prompt dynamically, replacing "random_text" with 
the captured input:

_________

CONTEXT: I want you to use the BLUF framework to rewrite corporate 
communications. BLUF ("Bottom Line Up Front") transforms a narrative into a 
format where a summary appears at the beginning, followed by detailed 
explanations. Do the response in brazilian portuguese.

EXAMPLE:  

Without BLUF:  
"Hi Sandy. There was a glitch with billing that finance is still resolving. 
You should be getting an expense approval shortly. Unfortunately, this means we 
had to delay the invites by a week and push the event to April 24. I checked 
the speaker list, and it looks like Mark hasn't submitted his slides yet, so 
when you talk to him today it would be great if you could remind him about it. 
Also, Cindy and Jane haven't RSVPed, so if you see them, would you mind 
mentioning it? Thanks!"

With BLUF:  
"Hi Sandy. The webinar was rescheduled for Apr 24 and we'll need Mark's slides 
by Apr 16. Please remind him in person. Two other key details:  
- Finance is sending over a new expense approval due to a billing glitch  
- We're missing slides from Cindy and Jane. Please mention on your calls w/ them 
this afternoon  

Thanks, and say hi to Mark!"

CHANGE TO BLUF: "random_text"
________

Call the OpenAI API
Send the constructed prompt to OpenAI's LLM and retrieve the response.

Output the Response
Print the LLM's response or display any error returned by the API in the terminal.

Expected Behavior:

The program accepts a terminal input, integrates it into the prompt, and 
provides an optimized response based on the BLUF framework.
Any errors returned by the OpenAI API should be clearly displayed.

Additional Notes:

Ensure proper error handling for API calls (e.g., invalid key, timeout, or prompt issues).
Please write all responses and outputs in US English.
        

Na dúvida pede para a sua LLM favorita com o seguinte prompt:

You are a prompt engineer specialist of Cursor App. Optimize the following prompt:        

Ah, tem um quarto ponto, mas esse merece um pouco mais de atenção

Compreensão básica sobre desenvolvimento Web

Aprender isso cedo na minha carreira foi o que me destacou ao longo do tempo.

Entenda, eu não venho de uma formação de engenharia de software. Por mais que eu tenha vindo de uma background forte de análise de dados e estatística.

O máximo que aprendi foi algumas redes neurais em fortran de predições de fórmulas químicas (sou Eng. Químico, frustrado, mas sou).

Ou seja, esse mundo de desenvolvimento web sempre foi muito novo para mim. Desenvolvimento mobile então, nunca tinha visto kkkk.

Até o momento que eu me vi em uma sala cheia de desenvolvedores falando a língua deles.

Você já teve o privilégio de sentar em uma mesa cheia de gringos que estão falando uma língua que você não entende? Puta sensação esquisita.

Aí são diferentes cenários, você pode sentar com um bando de espanhóis ou franceses, uma coisa ou outra você acaba pegando de orelhada.

Mas, na sala dos devs estava todo mundo falando chinês. Estudar a fundo desenvolvimento web não foi uma escolha se eu queria ser entendido e entender.

Então, vamos la:


Em um ambiente web, existem três grandes componentes principais: o cliente, o servidor e o armazenamento de dados. É uma estrutura bem simples de entender.

Você não vai chegar em uma IA e pedir: me vê três big macs, batata e coca grande.

Você vai falar: quero um sanduíche com dois hambúrgueres, alface, queijo molho especial, cebola, picles num pão com gergelim.

Inclusive falando a ordem que você deseja que seja montado o hambúrguer.

Para que essa interação seja a melhor possível, é necessário que você entenda como o seu usuário vai interagir com o seu frontend (Client side) e quais tipos de regras de negócio devem ser implementadas (cálculos, APIs e processamentos).

Essa estrutura de três camadas – cliente, servidor e banco de dados – é o que sustenta qualquer sistema funcional. Compreender isso é essencial para identificar problemas, otimizar modelos e quais dados são importantes persistir.

Por exemplo, muitas pessoas iniciam com um prompt genérico, pedindo para um modelo de inteligência artificial, como o V0, criar uma página de lançamento.

O modelo pode gerar algo visualmente interessante, mas, sem especificar o que acontece no servidor ou no banco de dados, o resultado será apenas um front-end. Coisas como autenticação, integração de pagamentos e gerenciamento de dados não serão incluídas, porque não foram instruídas.

E é você, como gerente de produto, que deve entender a importância ou necessidade de se ter ou não.

Isso mostra a importância de entender claramente o que envolve cada camada do sistema. Muitas empresas, como as chamadas "Backend as a Service" (BaaS), surgem para lidar com a complexidade do back-end (Supabase, por exemplo). Ele é considerado a parte mais desafiadora, envolvendo segurança, escalabilidade e diversas questões técnicas.

Mas, isso é história para outra news.

Lembrando, se você chegou até aqui, meus parabéns. É ótimo estarmos nessa jornada de (R)evolução juntos. Não esquece de seguir a news e compartilhar com quem você acredita que pode se beneficiar dessa nossa história.

Valeeeu

Fernando Versteg

Group Product Manager na Deskfy

3 sem

Excelente artigo! Me lembrou a frase 'Learn to sell, learn to build, if you can do both, you will be unstoppable'. Com a IA resolvendo boa parte das tarefas complexas com eficiência, o restante — o 'molho especial' — depende de profundo conhecimento de produto/tecnologia, comunicação clara, visão de negócio e estratégica. É aqui que o papel do gerente de produto pode se torna ainda mais essencial: transformar essa capacidade em algo funcional e com impacto real

Entre para ver ou adicionar um comentário

Outros artigos de Anselmo Filho

Outras pessoas também visualizaram

Conferir tópicos