PM não precisa saber sobre desenvolvimento! Será?
O que realmente o Product Manager precisa saber sobre habilidades técnicas relacionadas ao desenvolvimento e como não se sobrecarregar com mais assuntos para pensar e estudar.
As notícias e pesquisas sobre um mundo cada vez mais digital nos levam a pensar nas inúmeras possibilidades de mudanças de cenários para o mercado de trabalho como Product Manager, mas o que eu tenho para te contar é algo que sinto desde a minha transição para a carreira de produtos. Eu sou a Pati Duarte e te convido para uma conversa sincera sobre habilidades técnicas estando na cadeira de Produtos.
A tecnologia está assumindo um papel central em todos os aspectos da vida, a figura do Product Manager, mesmo que com todos os altos e baixos, continua sendo uma figura importante no desenvolvimento de produtos e serviços digitais, assim como os desenvolvedores, e até então cada um na sua área de atuação.
Responsável por liderar o produto e algumas vezes o time que desenvolve produtos digitais e suas features, o Product Manager tem uma função bem definida: gerar valor para o negócio, sendo bem simplista é claro.
Mas muitas vezes esse valor tão esperado só é gerado quando se tem uma visão profunda do processo de desenvolvimento, se não profunda, pelo menos mais técnica do que é exigida normalmente na cadeira de PM.
Nesse contexto, o conhecimento de linguagens de desenvolvimento se torna um diferencial importante para o Product Manager. Calma! É mandatório? Não. É um DIFERENCIAL!
O Rafael Almeida, Senior Product Manager, acrescenta:
"Existe um ponto importante que é, qual o produto ou qual parte do produto, como Product Manager, que você está atuando. Ter conhecimento técnico não significa necessariamente que você precisa dominar a linguagem de programação da stack, mas, por exemplo, em uma atuação como growth product manager, você pode aumentar a conversão de um produto após analisar uma requisição de adição ao carrinho, ou seja, através de uma percepção mais técnica você poderia ter o insight de fazer a requisição de forma assíncrona, reduzindo a percepção de tempo do cliente. Você não precisa saber programar em Node.js para saber ou sugerir isso ao time, mas precisa ter um conhecimento de que isso é possível de ser feito.
Saber conceitos e uso de ferramental técnico muitas vezes vale mais do que saber programar, principalmente nos dias de hoje, o que isso quer dizer? Digamos que você atua em um produto que possui uma grande dependência de APIs, ou externas ou de uma parte core da empresa, saber utilizar um postman e conhecer formatos como Json pode ser mais útil do que saber programar em Python, por exemplo."
Entenda o seguinte, ao compreender os fundamentos da programação, o Product Manager pode ir muito além do que ele entrega no dia a dia e posso fazer uma lista de argumentos, veja:
1. Melhorar a comunicação com a equipe de desenvolvimento
Falar a mesma linguagem que os desenvolvedores facilita a comunicação, evitando ruídos e interpretações equivocadas sobre o que está sendo solicitado pelo negócio;
Permite que o Product Manager participe de forma mais ativa nas discussões técnicas, garantindo que sua visão seja representada no produto final.
Aqui, você e o tech lead do seu time já estão torcendo o nariz, mas veja só, participar de forma ativa das discussões não significa entrar em pormenores, mas sim, compreender até mesmo as limitações que existem para o desenvolvimento de uma demanda e ajudar a propor caminhos alternativos ou ao menos compreender o que está sendo discutido pelo time técnico.
2. Tomar decisões mais informadas
Compreender as implicações técnicas das decisões de produto, permitindo uma avaliação mais precisa de viabilidade e custo;
Identificar oportunidades de otimização e inovação que podem ser exploradas pela equipe de desenvolvimento.
Eu garanto que aqui nesse ponto mora uma possibilidade de mudar o produto de patamar, é o casamento perfeito entre negócio e viabilidade técnica.
3. Criar produtos mais intuitivos e fáceis de usar
Ter uma visão de como o código se traduz na interface do usuário, permitindo a criação de produtos mais intuitivos e com uma melhor experiência;
Identificar possíveis problemas de usabilidade e propor soluções antes que impactem o produto final.
4. Aumentar a confiança da equipe
O conhecimento técnico demonstrado pelo Product Manager gera confiança e respeito por parte da equipe de desenvolvimento;
Fortalece a relação entre o Product Manager e a equipe, criando um ambiente de colaboração e trabalho em equipe;
Ajuda o product manager com mais argumentos e embasamento para explicar aos stakeholders as questões técnicas do time, fazendo com que os engenheiros se sintam bem representados frente à liderança.
5. Acelerar o processo de desenvolvimento
A capacidade de traduzir ideias em uma estrutura lógica básica e até mesmo em linhas de código pode agilizar a prototipagem e o desenvolvimento de funcionalidades;
Permite que o Product Manager entenda e direcione a correção de problemas de forma mais rápida, evitando retrabalho e atrasos.
A Rafaela Watanabe, que é Senior Front-End Developer, colaborou com esse artigo também e comentou:
"Além desses argumentos, o PM tem maior liberdade para analisar e compreender o que pode ou não ser feito dentro do seu projeto, assim diminuindo a ocorrência de recorrer ao time de desenvolvedores para tirar essas dúvidas."
É importante destacar que o conhecimento de linguagens e métodos de desenvolvimento não é obrigatório para ser um Product Manager, como mencionei ali em cima.
No entanto, não temos como negar que pode ser um grande diferencial no seu currículo se você souber ao menos escrever umas linhas para consultar um banco de dados, parece simples, mas é um caminho que pode abrir portas para novas oportunidades e até mesmo um destaque entre muitos candidatos.
Falei com o Sergio Rinaldi, que é Digital Products Lead, sobre o assunto e veja só que interessante os pontos que ele trouxe:
"Super importante entender quais são os requisitos do seu produto e como a linguagem técnica utilizada pode viabilizar, ou limitar o funcionamento do seu produto. Por exemplo, se seu produto tem grande volume de dados geográficos, qual seria o melhor banco de dados? Se seu produto tem altíssimos picos de uso periódicos durante um dia, qual linguagem de programação seria mais indicada para trabalhar com esse tipo de escalabilidade sob demanda?
Saber as características de uma tecnologia aplicada ao desenvolvimento também te permite fazer as perguntas certas para seu time de engenharia.
Saber uma linguagem de programação e arriscar umas linhas de código pode até te ajudar a criar um primeiro teste e validar alguma feature ou produto, contribuindo com as entregas do time. Imagine você criar em Python um script simples que automatiza a captura de preço de um produto em um e-commerce concorrente? Ou, que simplesmente atualize os dados do seu dashboard de KPIs da área, eliminando o trabalho manual e operacional. Legal não é?"
Veja, a questão até aqui é que ter um conhecimento extra pode te levar para outro patamar como Product Manager, considerando que a tecnologia é protagonista em muitos produtos e serviços e esse cenário só cresce.
Quando digo que posso garantir tudo isso é por ter vivido na pele! Comecei minha vida profissional no suporte técnico, depois infraestrutura e só então aprendi uma linguagem de programação. Passei por muitas outras experiências, como jurídico, negócios e operações, mas o conhecimento em Java e C# nunca foram desperdiçados, sempre foram um bônus na hora de trabalhar com alguns produtos que tinam essa demanda.
Não quero que você saia dessa conversa e corra para o Google sem um direcional mínimo, dê uma olhada aqui nas percepções que tenho sobre as linguagens de programação mais comuns e o que elas podem acrescentar no seu currículo, mas longe de mim listar todos os usos de forma exaustiva, aqui estão apenas alguns exemplos:
*Essa tabela foi construída em colaboração com as pessoas mencionadas no artigo :)
Importante, aqui estão apenas algumas mais comuns, mas existem diversas outras linguagens não mencionadas que podem ser relevantes para o produto que você está gerenciando.
Ao investir no aprendizado de uma linguagem de desenvolvimento, vejo que abre um leque de possibilidades, além de ser um fator de contribuição diferenciado para o tipo e para o próprio produto digital.
O Eduardo Bezerra, que é desenvolvedor front-end (React & Angular), afirma:
"Além de compreender as linguagens de desenvolvimento, é importante que o Product Manager tenha um entendimento básico das tecnologias utilizadas no desenvolvimento. Isso inclui conceitos fundamentais de arquitetura de software, como a diferenciação entre front-end e back-end, compreensão sobre bancos de dados e familiaridade com os princípios de segurança da informação.
Ter esse conhecimento básico permite que o PM tenha uma comunicação mais eficaz com a equipe de desenvolvimento, garantindo que as necessidades do negócio sejam compreendidas e implementadas de maneira adequada, ajudando na tomada de decisões relacionadas às prioridades de desenvolvimento, estimativas de prazos e avaliação de impacto de novas funcionalidades.
Em última análise, o objetivo não é que o Product Manager se torne um especialista técnico, mas sim que ele tenha uma compreensão suficiente das tecnologias envolvidas para desempenhar seu papel de forma eficaz e colaborativa com a equipe de desenvolvimento. Isso contribui para a criação de produtos de alta qualidade que atendam às necessidades do usuário e do negócio."
O conhecimento serve para agregar e é importante garantir que cada pessoa seja responsável pelo que foi designado, cada um na sua função! Nada de ver PM querendo fazer o papel de um líder técnico ou até mesmo o papel de um desenvolvedor.
Cuidado com a carga cognitiva
Sempre vão exigir mais das pessoas, vejo empresas exigindo conhecimento de negócios para pessoas técnicas e também exigindo mais conhecimento técnico das pessoas de negócios.
Mas acima de tudo, é importante entender os limites daquilo que agrega e o que atrapalha.
Ao querer desenvolver seu lado mais técnico a carga cognitiva vai aumentar sim, é inevitável. E com tantas demandas dentro do próprio ciclo comum de produtos (descoberta, planejamento, desenvolvimento e entrega) já temos uma demanda de carga cognitiva bem intensa e as vezes exaustiva.
Dito isso, eu retomo a pergunta: PM precisa saber sobre desenvolvimento?
A resposta é clara e objetiva: depende do seu momento!
Se animou com a ideia? Se te interessar, comece aprendendo conceitos básicos de programação, como variáveis, estruturas de controle e funções, se interessar por essa dinâmica já vai te dar uma visão mais ampla sobre o assunto e já vai conseguir arranhar umas linhas de código para consultar um banco de dados ;)
Outra dica é participar de projetos práticos para aplicar os novos conhecimentos e manter-se atualizado com as novas tecnologias e tendências através de pesquisa e o bom e velho benchmarking, veja o que outros PMs estão aprendendo por aí e troque ideias.