Awari

Tecnologia para profissionais de Produtos (PM): o que realmente é preciso dominar?

Você é Product Manager (PM) – ou pretende se tornar um – e tem dúvida sobre tecnologia para profissionais da área de Produtos? Saiba que você não está sozinho.

Muita gente se questiona sobre o que realmente é necessário saber sobre o assunto. Isso, inclusive, provoca uma certa ansiedade e faz com que o plano de desenvolvimento profissional seja prejudicado.

Para que essa situação não aconteça com você, eu preparei este artigo. Assim, além de não perder o foco, você também não desperdiça tempo e dinheiro estudando o que não precisa. Nas próximas linhas, vamos derrubar alguns mitos e abordar as tecnologias que, de fato, são importantes para um PM. Vem comigo!

Tecnologia para profissionais de Produtos: é preciso saber programar?

De prontidão, vou responder a uma das principais perguntas que pairam sobre os profissionais da área:

Você NÃO precisa saber programar para ser PM.

O time de desenvolvimento é que ficará responsável por isso. Como um profissional de Produtos, você deve apenas conhecer o funcionamento e o processo de programação.

Afinal, existe algum contexto que exige atuação técnica diretamente?

Aqui a resposta é SIM, mas preste bem atenção: existem empresas que possuem produtos mais técnicos e, nesses casos, é possível que procurem por um profissional de Produtos com habilidade técnica. 

Algumas organizações, por exemplo, têm produtos baseados em dados, e é importante ter alguém com essa experiência e formação técnica. Mas vale dizer que aqui se aplica o princípio de Pareto, também conhecido como regra do 80/20. Ou seja, 80% dos casos não exigem uma atuação técnica direta.

Conceitos básicos de tecnologia para profissionais de Produtos: o que você precisa saber

Antes de entrarmos nas tecnologias, vamos colocar os “pingos nos is”. Bem, prefiro dizer que as pessoas de Produtos devem ser curiosas e entusiastas de tecnologia, mas não precisam ter, obrigatoriamente, um background técnico. 

O que eu acredito que seja importante para os PMs:

  • Conhecer como produtos de tecnologia funcionam
  • Conhecer como um produto digital é criado. 

Com isso, você saberá dialogar melhor com as pessoas de engenharia/desenvolvimento. Esse conhecimento também ajudará na construção de requisitos e na formulação de perguntas em cerimônias de refinamento. 

Ainda vai ser útil ao avaliar trade-offs de desenvolvimento, o que pode ser legal para priorização. Mas, lembre-se: você nunca vai dizer como o time deverá desenvolver, não vai dar o prazo/estimativa das coisas e não vai chefiar o time de desenvolvimento. 

Agora, sim, é hora de falar do que o PM tem que saber. Vamos em frente!

A Internet e a Nuvem

Todo PM deve entender que praticamente qualquer produto digital demanda internet. É importante saber que a rede (internet) conecta bilhões de dispositivos mundo afora, e que um cliente é diferente de um servidor ou backend. Também é importante saber a diferença de um produto hospedado na nuvem ou enterprise. 

As empresas mais modernas e nativas digitais já nascem na nuvem. A diferença básica é que empresas que não estão na nuvem têm servidores físicos em algum data center. 

Que diferença isso faz para você? Bom, na prática, entender que uma empresa pode estar mais avançada ou menos em termos de tecnologia, ou que tem o estilo de conversa e aversão à mudança diferente. Empresas com software e estrutura enterprise tem processos de deploy mais engessados. E maior fragilidade para escalar. Embora, elas acreditem estar mais protegidas, mito.

Preste atenção nos monolitos. Eles são mais difíceis de manter e testar do que programas em micro-serviços, que também são mais modernos em termos de arquitetura. Porém, micro-serviços têm mais dependências entre eles e seu desenvolvedor precisará, às vezes, ter um trabalho técnico maior de conexão entre eles. 

Software vs Hardware

Na imanemos vemos um celular e uma tabela com as diferenças entre Hardware e Software apresentadas no texto.
Tabela com diferenças entre Hardware e Software

Você, provavelmente, vai trabalhar com software. Por isso, precisa ter clareza sobre a diferença entre software e hardware. Os hardwares representam a parte física do equipamento (computador, etc). Já os softwares são conjuntos de comandos organizados para produzir um resultado. Aspectos importantes:

  • Os comandos são realizados em formato de código
  • Códigos são escritos em diferentes linguagens de programação
  • Linguagens de programação são formas de se comunicar com dispositivos.

Leia mais: 5 Dicas de uma Product Manager para construir produtos incríveis

Linguagens de desenvolvimento

Como já falei, você não precisa saber programar ou dominar as linguagens de desenvolvimento para executar seu trabalho. Mas é necessário saber que elas existem, quais são e como os desenvolvedores as utilizam.

Uma linguagem de desenvolvimento é a forma como os comandos são projetados. É, de fato, o idioma no qual se escreve o código. Há milhares de linguagens de programação no mundo, e cada linguagem pode ser mais apropriada para um objetivo diferente. Já a lógica de programação é o modo como se escreve um programa de computador.

Em uma página web, por exemplo, são usadas:

  •   HTML: para servir o conteúdo (texto e vídeo)
  •   CSS: para especificar o conteúdo (aspectos visuais)
  •   JavaScript: para criar comportamento.

E o que é programar com essas linguagens? Basicamente, escrever uma série lógica de comandos que você quer que aquele software execute, item por item. Fazendo uma analogia, imagine que você precisa programar a ação de tomar um banho: 

Ficou mais claro?

Bancos de dados e Query

Os bancos de dados, basicamente, representam uma forma de armazenar dados que seja fácil para busca e recuperação.

Há dois tipos:

  • Relacionais: organizam os dados em formas de tabelas
  • Não-relacionais: organizam os dados de forma menos estruturada; podem armazenar dados mais complexos, como imagens e vídeos.

A query, por sua vez, é a instrução enviada para consulta em um banco de dados. As queries são feitas em linguagens de programação, sendo a SQL a mais comum para DBs relacionais.

APIs

Na área de Produtos (PM), falamos bastante sobre API (Application programming interface). A API é o modo como um programa consegue se comunicar com outro. Ou, em termos mais técnicos, como o seu backend (lógica de regras de negócios e banco de dados) se comunica com o frontend (interface do site).

As APIs podem ser:

  • Públicas: expostas entre organizações
  • Privadas: internas a uma organização
  • Híbridas: em que partes são públicas e partes são privadas.

Para ficar mais fácil de compreender, digamos que você queira consultar a disponibilidade de um produto em uma loja. Você representa o ambiente; o estoque da loja é o banco de dados; e o vendedor é a API. Ou seja, a API conecta o que é visível ao que não está exposto para que um processo seja executado.

Stack de desenvolvimento

Trata-se do conjunto de programas, linguagens, redes e armazenamentos que sustentam a existência de uma aplicação (produto digital). Basicamente, tudo aquilo que as pessoas de tecnologia na sua empresa usam para desenvolver. Você tem cada pessoa especialista em uma parte, mas para ter uma visão geral, acompanhe esse infográfico:

Na imagem vemos um exemplo de Stack de desenvolvimento
Stack de Desenvolvimento

Fluxo de desenvolvimento 

Além dos conceitos de tecnologia que já tratamos, também acho importante você entender o fluxo de desenvolvimento. Nesse processo, algumas etapas de desenvolvimento são chave. O processo de desenvolvimento é caracterizado por:

  • Entendimento do problema e hipótese de solução
  • Desenho da solução
  • Desenvolvimento do programa que vai falsear a hipótese
  • Desenvolvimento de testes automatizados
  • Entrega para o usuário final.

Vale ainda ficar por dentro de aspectos mais técnicos desse fluxo, como:

Repositório

Um repositório de software é um local de armazenamento de onde pacotes de software podem ser recuperados e instalados em um computador.

Branch

Branch significa “ramo”. A ramificação, em controle de versão e gerenciamento de configuração de software, é a duplicação de um objeto sob controle de versão. Cada objeto pode, a partir daí, ser modificado separadamente e em paralelo para que se tornem diferentes. 

PR/Code Review

O Code Review é uma espécie de revisão do código-fonte computacional, feita para identificar falhas no desenvolvimento de software e aprimorar a qualidade do sistema. Basicamente, uma pessoa desenvolvedora de software avalia o que outra pessoa desenvolveu. Tudo isso é feito usando ferramentas dos repositórios e versionamentos. 

Deploy

Deploy é a fase do ciclo de vida de um software, no contexto de um Sistema de Informação, que corresponde textualmente à passagem do software para a produção (ambiente onde o usuário pode ter acesso). 

O processo de implantação universal consiste em várias atividades intercaladas como possíveis transições entre elas.  

Release

É o lançamento de uma nova versão oficial do produto de software. Cada vez que um produto de software é criado ou modificado, o fabricante e seus desenvolvedores decidem sobre a distribuição para as pessoas.

É bem parecido com o deploy, mas o ponto é que, fazendo o release, o seu cliente/usuário também vê. Há a opção de fazer um deploy e deixar isso escondido para seus usuários por uma questão estratégica ou soltar a release em fases para grupos específicos de clientes. 

Conclusão

Ufa, quanto “tecniques”, não é verdade?

Tomara que esses conteúdos tenham te ajudado a entender melhor o universo da tecnologia e a mitigar a famigerada dúvida sobre saber ou não programar. Com essa visão, agora, você pode pesquisar e se aprofundar nos conceitos mencionados.

Em resumo, o que você precisa mesmo é saber conversar a respeito. Isso porque não é necessário colocar a mão na massa e se envolver diretamente na tecnologia, mas é preciso entender todos os aspectos que compreendem o desenvolvimento de Produtos para propor soluções adequadas e alinhadas aos processos.

Gostou do artigo sobre tecnologia para profissionais de Produtos? Siga-me no LinkedIn pra gente falar mais sobre isso e outros temas da área.

Avatar

Escrito por

Alex Ivonika

Mais de 10 anos criando produtos digitais e liderando equipes em startups premiadas no Brasil e na América Latina. Criador do Product Drops e editor no Product Guru’s, professor dos cursos de Product Management da Awari e Product Manager na Agrosmart.