A arte de desenvolver software Um processo humano de criatividade, técnica e estratégia

Matheus Castiglioni

*Você terá acesso às futuras atualizações do livro.

Conteúdo

Na era da automação e da entrega contínua, este livro propõe enxergar o desenvolvimento de software como um processo humano, criativo e estratégico — não apenas técnico. Matheus Castiglioni mostra como compreender problemas, lidar com a complexidade e tomar decisões conscientes para criar sistemas sustentáveis e com propósito.

Mais do que ensinar tecnologias, a obra valoriza habilidades que a IA não substitui: pensamento crítico, visão sistêmica, responsabilidade técnica e tomada de decisão. Um convite para usar a IA como aliada sem perder o controle da própria carreira.

Saiba o que você vai aprender

 

Sumário

  • 1. Comece bem
  • 1.1 Visão geral do capítulo
  • 1.2 Entendendo o problema antes da solução
  • 1.3 Análise de requisitos na prática
  • 1.4 Boas perguntas na prática: de perguntas vagas a respostas valiosas
  • 1.5 Ferramentas para entender melhor o problema
  • 1.6 Conclusão: do problema à arquitetura
  • 1.7 Exercício prático: comece bem o seu próximo projeto
  • 2. Calculando a complexidade do problema
  • 2.1 Visão geral do capítulo
  • 2.2 Por que analisar a complexidade do problema?
  • 2.3 As dimensões da complexidade
  • 2.4 Ferramentas para análise de complexidade
  • 2.5 Casos práticos: analisando complexidade
  • 2.6 Reduzindo complexidade: estratégias práticas
  • 2.7 Conclusão: da análise à arquitetura
  • 2.8 Exercício prático: analise a complexidade do seu projeto
  • 3. Medindo o custo de desenvolvimento
  • 3.1 Visão geral do capítulo
  • 3.2 Por que entender todos os custos?
  • 3.3 As dimensões do custo
  • 3.4 Tipos de custos
  • 3.5 Ferramentas para análise de custos
  • 3.6 Casos práticos: analisando custos reais
  • 3.7 Reduzindo custos: estratégias práticas
  • 3.8 Custos ocultos: os que não vemos (mas pagamos)
  • 3.9 Conclusão: custos como ferramenta de decisão
  • 3.10 Exercício prático: analise os custos do seu projeto
  • 4. Planejamento
  • 4.1 Visão geral do capítulo
  • 4.2 Por que planejar?
  • 4.3 Os níveis do planejamento
  • 4.4 Da estratégia ao roadmap
  • 4.5 Técnicas de planejamento
  • 4.6 Planejamento de sprint/iteração
  • 4.7 Execução e acompanhamento
  • 4.8 Erros comuns e como evitá-los
  • 4.9 Casos práticos: planejamento na prática
  • 4.10 Conclusão: planejamento como arte e ciência
  • 4.11 Exercício prático: crie um plano para seu projeto
  • 5. Desenhando um rascunho da primeira proposta
  • 5.1 Visão geral do capítulo
  • 5.2 Por que criar uma proposta antes de começar?
  • 5.3 O que compõe uma proposta?
  • 5.4 Product Requirements Document (PRD)
  • 5.5 Diagramas C4: uma linguagem para arquitetura
  • 5.6 Architecture Decision Records (ADRs)
  • 5.7 Documentação de APIs e contratos
  • 5.8 Modelo de dados e fluxos
  • 5.9 Estratégia de implementação
  • 5.10 Design Technical Document (DTD)
  • 5.11 Iteração sobre a proposta
  • 5.12 Ferramentas e práticas
  • 5.13 Casos práticos: propostas na prática
  • 5.14 Erros comuns e como evitá-los
  • 5.15 Conclusão: da proposta ao código
  • 5.16 Exercício prático: crie uma proposta para seu projeto
  • 6. Concebendo o sistema
  • 6.1 Visão geral do capítulo
  • 6.2 Por que conceber antes de desenvolver?
  • 6.3 O que compõe a concepção do sistema?
  • 6.4 Configurando o ambiente de desenvolvimento
  • 6.5 Definindo padrões e convenções
  • 6.6 Ferramentas de qualidade
  • 6.7 Estrutura de testes
  • 6.8 Versionamento e workflows
  • 6.9 Documentação inicial
  • 6.10 CI/CD básico
  • 6.11 Erros comuns e como evitá-los
  • 6.12 Casos práticos: concepção na prática
  • 6.13 Conclusão: da concepção ao código
  • 6.14 Exercício prático: conceba o sistema do seu projeto
  • 7. Implementação
  • 7.1 Visão geral do capítulo
  • 7.2 Por que implementação é diferente de "apenas codificar"?
  • 7.3 Desenvolvimento incremental: construindo em pequenos passos
  • 7.4 Test-Driven Development (TDD)
  • 7.5 Code review: qualidade através de colaboração
  • 7.6 Refatoração contínua
  • 7.7 Integração contínua e deploy
  • 7.8 Preparação para produção
  • 7.9 Pós-lançamento: operação e evolução
  • 7.10 Erros comuns e como evitá-los
  • 7.11 Casos práticos: implementação na prática
  • 7.12 Conclusão: da concepção ao código em produção
  • 7.13 Exercício prático: implemente uma feature completa
  • 8. Conclusão
  • 8.1 Uma jornada de compreensão
  • 8.2 Os princípios fundamentais
  • 8.3 O caminho à frente
  • 8.4 Uma reflexão final
  • 9. Próximos passos
  • 9.1 Onde estamos e para onde vamos
  • 9.2 O que fazer agora?
  • 9.3 Uma palavra final
  • 10. Referências
  • 10.1 Referências online
  • 10.2 Normas técnicas

Autor

Matheus Castiglioni

Matheus Castiglioni é arquiteto de software, engenheiro e autor com mais de uma década de experiência em desenvolvimento de software. Ao longo de sua carreira, trabalhou em projetos de diferentes escalas e complexidades, desde startups até grandes corporações, sempre buscando equilibrar excelência técnica com o valor de negócio.

Dados do produto

Número de páginas:
400
ISBN:
978-85-5519-432-0
Data publicação:
06/2026

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter