O Engenheiro de Software com Mentalidade de Produto
Desenvolvendo software de alto impacto para seus usuários
Descrição do livro
“Os melhores engenheiros de software com quem trabalhei tinham uma mentalidade de produto.” Infelizmente, não havia um livro ou recurso que eu pudesse indicar a outros engenheiros para ajudá-los a evoluir nessa área… até agora. Drew escreveu o guia que faltava sobre como se tornar um engenheiro com mentalidade de produto. Para quem trabalha em startups ou com produtos, este livro é essencial.” – Gergely Orosz, autor de O Programador Programático
“Neste excelente livro, Drew Hoskins incentiva desenvolvedores de software a focarem no produto e a desenvolver as habilidades para fazê-lo. Este conteúdo é especialmente valioso para quem desenvolve artefatos de software que, normalmente, não são vistos como produtos, como bibliotecas e aplicações internas. Quem trabalha com esse tipo de software geralmente não conta com equipes de produto a quem recorrer; portanto, deve desenvolver essas habilidades.” – Joshua Bloch, Universidade Carnegie Mellon, autor de Java Efetivo
No ritmo acelerado da engenharia de software, o desenvolvimento de habilidades técnicas costuma ser prioridade. No entanto, se você quer crescer na carreira, aprimorar apenas as habilidades técnicas não é suficiente. Também é necessário aprofundar sua empatia pelos usuários —habilidade frequentemente negligenciada nos cargos tradicionais de engenharia de software. Compreender as necessidades dos usuários e o impacto do seu trabalho não apenas resultará em produtos melhores, mas também impulsionará o crescimento e o sucesso da sua carreira.
Com mais de 20 anos de experiência, em empresas como Microsoft, Facebook, Stripe e Temporal Technologies, Drew apresenta estratégias essenciais para reduzir a lacuna entre a excelência técnica e a visão de produto. Seja você criando produtos para consumidores, ferramentas para profissionais ou plataformas internas, este livro é o ponto de partida para se tornar um engenheiro mais completo, capaz de antecipar problemas e inovar de acordo com as necessidades dos usuários.
• Simule e preveja interações de usuários para melhorar a usabilidade do produto
• Direcione a atenção para as necessidades específicas do público-alvo
• Interaja com usuários de forma eficaz para coletar feedback relevante
• Priorize seu tempo e o roadmap do produto de maneira estratégica, com base em custo e impacto
Ver menos ▲Sumário
- Prefácio
- CAPÍTULO 1: Fundamentos da mentalidade de produto
- Estudo de caso
- Primeira tentativa: sem utilizar cenários
- Resultados pouco animadores
- O que deu errado?
- Segunda tentativa: utilizando cenários
- Cenários como histórias que inspiram
- Cenários que capturam entrevistas com usuários
- Cenários que evidenciam lacunas de produto
- Cenários que evidenciam uma experiência marcada com atrito
- Cenários que validam funcionalidades que planejamos desenvolver
- Cenários como testes
- Buscando as respostas-chave
- Então, o que é um cenário?
- Uma motivação
- Uma persona
- Uma simulação
- Como utilizar cenários?
- Resumo do capítulo
- Exercícios
- Respostas
- PARTE I: Desenvolver
- CAPÍTULO 2: Orientando usuários pela jornada do produto
- Introdução do estudo de caso
- Cenários na jornada do usuário
- Cenário de descoberta
- Mapa de descoberta de produto
- Aproveite o conhecimento dos usuários
- Ofereça múltiplas rotas para a descoberta
- Revele a complexidade de forma elegante
- Design de múltiplas personas
- Transforme “unknown unknowns” em “known unknowns”
- Cenário de compreensão
- Escolhendo nomes compreensíveis
- Revisando conselhos clássicos de nomenclatura
- Oferecendo explicações redundantes
- Cenário de uso
- Otimizando a jornada toda do usuário
- Limites dos signifiers
- Resumo do capítulo
- Exercícios
- Respostas
- CAPÍTULO 3: Erros e avisos
- Valor de um diagnóstico eficaz
- Cenários para diagnósticos
- Categorizando cenários de erro
- Categorizando erros na prática
- Mensagens de aviso e de erro
- Introdução do estudo de caso
- Forneça contexto
- Torne mensagens de erro e de aviso acionáveis
- Levante erros na interface
- Validações antecipadas
- Reempacote erros
- Levante erros programáveis
- Levante erros específicos
- Agrupe erros de acordo com a categoria de cenário
- Mantenha informações disponíveis para diagnósticos
- Forneça diagnósticos o mais cedo possível
- Realize validações estáticas
- Valide antecipadamente
- Permita que os usuários testem
- Solicite confirmações do usuário
- Resumo do capítulo
- Exercícios
- Respostas
- PARTE II: Entregar
- CAPÍTULO 4: Experimentando o próprio produto
- Testes como dogfooding
- Que tipos de testes escrever?
- Testes de cenário
- Testes funcionais
- Testes end-to-end (e2e)
- Testes de aceitação do usuário
- Desenvolvimento orientado à documentação
- Documentação não deve sustentar o produto
- Cenários para leitores de documentação
- Escrevendo documentação como dogfooding
- Registro de atrito
- Escrevendo registros de atrito
- Recebendo registros de atrito
- Cultura de registro de atrito
- Samples
- Resumo do capítulo
- Exercícios
- Respostas
- CAPÍTULO 5: Acompanhando usuários
- Um novo cargo: o profissional responsável pelo gêmeo digital
- Projetando para mudança
- Introdução do estudo de caso
- Fundamentos tecnológicos da mudança
- Obtendo feedback de usuários
- Versões beta reduzem o raio de impacto de falhas
- Widgets de feedback ajudam pessoas a expressar suas opiniões
- Programas de champions oferecem profundidade
- Pesquisas oferecem amplitude
- Ciclo flywheel de suporte a usuários
- Métricas de produto
- Introdução do estudo de caso
- Métricas de adoção
- Métricas de valor
- Indicadores-chave de desempenho (KPIs)
- Métricas táticas e estratégicas
- Resumo do capítulo
- Exercícios
- Respostas
- PARTE III: Descobrir
- CAPÍTULO 6: Compreendendo o público-alvo
- Usuários reais, não espantalhos
- Introdução do estudo de caso
- Dê um passo atrás e adote a ciência
- Descoberta com clientes
- Conseguindo entrevistas
- Entrevistas de descoberta com clientes
- Chamadas de vendas
- Pesquisas de descoberta com clientes
- Networking com entrevistados
- Regras gerais para entrevistas com clientes
- Definindo e comunicando um público-alvo
- Escolhendo um público-alvo
- Alinhando a equipe com personas
- Públicos para o App Center
- Nonpersonas
- Selecionando funcionalidades com base no público-alvo
- Mantendo o foco
- Produtos para múltiplas personas
- Quando personas entram em conflito
- Compreendendo o valor de um cliente
- Priorizando entre personas concorrentes
- Resumo do capítulo
- Exercícios
- Respostas
- CAPÍTULO 7: Descobrindo o produto por meio de simulações
- Da visão aos requisitos
- Introdução do estudo de caso
- Briefing de produto do assistente de IA
- Conclua a visão de produto com cenários norteadores
- Descoberta orientada por cenários
- Faça brainstorming de cenários em equipe
- Selecione e refine os cenários norteadores
- Converta os cenários norteadores em requisitos
- Requisitos de alto nível
- Documento de requisitos do produto (PRD)
- Compêndio de casos de uso
- Organize o compêndio de casos de uso
- Priorize os requisitos para o primeiro milestone
- O que realmente importa na priorização?
- Defina os cenários norteadores-alvo para o primeiro milestone
- Priorize o compêndio de casos de uso
- Construa fluxos de usuário detalhados para o primeiro milestone
- Validando fluxos de usuário
- Traduzindo fluxos de usuário em jobs to be done
- Retroalimentando os requisitos
- Resumo do capítulo
- Exercícios
- Respostas
- PARTE IV: Definir
- CAPÍTULO 8: Design de interação
- Papel do viés e da ideologia no design de software
- Discussão: flexível versus opinativo
- Discussão: otimismo versus pessimismo
- Discussão: código aberto versus proprietário
- Pré-requisitos de um bom design
- Introdução do estudo de caso
- Destaque o uso correto do produto e desencoraje o uso incorreto
- Escolha padrões seguros e previsíveis, ou nenhum padrão
- Otimize o caminho de menor resistência
- Conceda affordances à persona correta no cenário correto
- Realize validações
- Escolha com sabedoria o momento de disponibilizar affordances
- Se vale a pena construir, vale a pena validar
- Não seja nem otimista nem pessimista
- Aplique a regra de três
- Construa em etapas
- Se necessário, comece com uma versão experimental
- Funcionalidades restritas versus extensíveis
- Resumo do capítulo
- Exercícios
- Respostas
- CAPÍTULO 9: Arquitetura de produto
- Fundamentos da arquitetura de produto
- Amplie a perspectiva e observe o panorama geral
- Evite o efeito poste de luz
- Comunique o impacto de uma proposta ao usuário
- Utilize tecnologias que reduzam a lacuna entre sistema e produto
- Introdução do estudo de caso
- Experiências confiáveis para o usuário
- Latência
- Disponibilidade
- Consistência de dados
- Trade-offs entre latência, disponibilidade e consistência de dados
- Escalabilidade
- Simulações de escala
- Comunicando requisitos não funcionais aos usuários
- Resumo do capítulo
- Exercícios
- Respostas
- Encerramento
- Índice remissivo
Sobre o autor
Drew Hoskins é um engenheiro que se tornou gerente de produto, com trajetória marcada pela inovação e pela entrega de soluções centradas no cliente. Em sua trajetória, passou por Microsoft, Meta e Stripe, nas quais ajudou a desenvolver produtos essenciais e a criar sistemas como o EntSchema da Meta e o Workflow Engine da Stripe.… Ver perfil completo ▶
Livros relacionados
Recursos
Opinião dos leitores
Ailton T
O livro “O Engenheiro de Software com Mentalidade de Produto” traz uma perspectiva muito interessante sobre o papel do desenvolvedor além da implementação técnica. O conteúdo reforça a importância de entender o contexto do negócio, a experiência do usuário e o impacto real das decisões de engenharia no produto final. Achei muito positiva a forma como o livro incentiva uma visão mais estratégica da engenharia de software, mostrando que um bom profissional não deve pensar apenas em código, mas também em valor entregue, priorização, comunicação e sustentabilidade da solução ao longo do tempo. A leitura é fluida e consegue aproximar conceitos de produto e tecnologia de maneira prática, principalmente para quem já participa de ambientes mais colaborativos entre engenharia, produto e negócio. No geral, considero um livro bastante relevante para profissionais que querem evoluir tecnicamente sem perder a visão do impacto que o software gera para usuários e para a empresa.






