Profissão programador práticas para melhoria contínua fatec pg setembro 2013

133
Profissão Programador: Práticas para Melhoria Contínua Semana de Tecnologia FATEC Praia Grande - Setembro 2013 Agatha Lisboa Gabriel Rubens @agathalisboa / @gabrielrubenss

description

Palestra apresentada na Fatec de Praia Grande. O motivação da palestra é mostrar para iniciantes um caminho que deve ser seguido, e como manter a sua carteira de conhecimento atualizada.

Transcript of Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Page 1: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Profissão Programador: Práticas para

Melhoria Contínua

Semana de Tecnologia FATEC Praia Grande - Setembro 2013

Agatha LisboaGabriel Rubens

@agathalisboa / @gabrielrubenss

Page 2: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Profissão Programador: Práticas para

Melhoria Contínua

Page 3: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

De onde vem a palavra pragmático?

Page 4: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

O foco da palestra é ajudar

programadores a se tornarem melhores

Page 5: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Não importa se você trabalha sozinho, em

equipe ou com muitos clientes

Page 6: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Programar é uma arte, e como

programador você é um artesão

Page 7: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Transformar requisitos vagos em

um programa. Documentar seu

trabalho

Page 8: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 9: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Ferramentas Ferramentas milagrosasmilagrosas

Page 10: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Metodologias Metodologias que resolvem que resolvem

todos os todos os problemasproblemas

Page 11: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Linguagens de Linguagens de Programação Programação pra todas as pra todas as

situaçõessituações

Page 12: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Sistemas Sistemas Operacionais Operacionais

que são que são melhores que melhores que

os outrosos outros

Page 13: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Não existe bala de prata!Não existe bala de prata!

Page 14: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Não há uma solução que resolva todos os

problemas.

Page 15: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Existem ferramentas/

linguagens/SOs apropriados para

cada situação

Page 16: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Reflita sobre seu trabalho.

Page 17: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

- O Programador Progmático: de Aprendiz a Mestre de David Thomas e Andrew Hunt

- Código Limpo: Habilidades Práticas do Agile Software de Robert C. Martin

- A Arte do Desenvolvimento Ágil de Jim Shore e Shane Warden

- Rework de Jason Fried- Agile: Desenvolvimento de software com entregas

frequentes e foco no valor de negócio de André Faria Gomes

- O Mítico Homem-Mês de Frederick P. Brooks Jr.

Page 18: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 19: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Uma Filosofia Pragmática

Page 20: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

O que diferencia programadores pragmáticos?

Page 21: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

O gato comeu meu código-fonte

Page 22: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Assuma responsabilidade

Page 23: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Forneça soluções e não desculpas

esfarrapadas.

Page 24: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Entropia de software

Page 25: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Deterioração do Deterioração do softwaresoftware

Page 26: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Teoria da janela Teoria da janela quebradaquebrada

Page 27: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Apagando incêndiosApagando incêndios

Page 28: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Não tolere janelas quebradas

Page 29: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Sopas de pedras e sapos cozidos

Page 30: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Seja um catalizador de

mudanças

Page 31: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Lembre-se do cenário em larga

escala

Page 32: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Software Satisfatório

Page 33: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Envolva os usuários na tomada de

decisões

Page 34: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Torne qualidade parte dos requisitos

Page 35: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Saiba quando parar

Page 36: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Programação como uma pintura

Page 37: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Ciência + arte + trabalho manual

Page 38: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

MVCMVC

Page 39: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 40: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Carteira de conhecimentos

Page 41: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Semelhante ao gerenciamento de

uma carteira de investimentos

Page 42: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Construindo uma carteira

Page 43: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Invista regularmente em

sua carteira de conhecimentos

Page 44: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Analise criticamente o que você vê e

ouve

Page 45: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Comunicação

Page 46: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Conheça o que vai dizer

Page 47: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Conheça pra quem vai dizer

Page 48: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Escolha o momento certo

Page 49: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Seja ouvinte

Page 50: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)Dica :)

É o que você diz e a É o que você diz e a maneira como dizmaneira como diz

Page 51: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Uma Abordagem Pragmática

Page 52: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Males da duplicação

Page 53: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Conceito de manutenção

Page 54: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

NSR - Não Se Repita

DRY - Don't Repeat Yourself

Page 55: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Tipos de duplicação

Page 56: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Duplicação imposta

Page 57: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Facilite a reutilização

Page 58: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Ortogonalidade

Page 59: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Conceito emprestado da

geometria

Page 60: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Sistema ortogonal

Page 61: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Elimine efeitos entre elementos não relacionados

Page 62: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

ReversibilidadeReversibilidade

Page 63: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Não há decisões definitivas

Page 64: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Projéteis Projéteis LuminososLuminosos

Page 65: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Código Rastreador

Page 66: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Use projéteis luminosos para

encontrar seu alvo

Page 67: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Programe Igual ao Domínio do Usuário

Page 68: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Programe em um nível próximo ao

domínio do problema (usuário)

Page 69: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Estimando

Page 70: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Estime para evitar surpresas

Page 71: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Que nível de exatidão é

suficientemente exato?

Page 72: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Entenda o que está sendo pedido

Page 73: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Acompanhe sua habilidade de

estimar

Page 74: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Reexamine o cronograma junto

ao código

Page 75: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

O que dizer quando lhe pedirem uma

estimativa?

Page 76: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Seja Flexível

Page 77: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Quadros-Negros

Page 78: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

A melhor forma de se comunicar é visualmente

Page 79: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 80: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 81: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 82: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 83: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Enquanto Você Está Codificando

Page 84: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Programação Baseada no Acaso

Page 85: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 86: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Programar é uma tarefa que envolve muita habilidade e

raciocínio

Page 87: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Refine sempre essa estimativa

Page 88: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Refatoração

Page 89: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Refatorar é melhorar um código existente

sem alterar o seu funcionamento

Page 90: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Quando Refatorar?

Page 91: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 92: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Código duplicadoMétodo longoClasse grande

Lista de parâmetros longaMá indentação

Page 93: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Refatore cedo, refatore sempre

Page 94: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Código Que Seja Fácil de Testar

Page 95: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Testando as Unidades

Page 96: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Devemos ter o hábito de testar

unitariamente nosso software

(procure o xUnit da sua linguagem favorita)

Page 97: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Testando a Integração entre os

Componentes

Page 98: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Teste seu software ou seus usuários testarão

Page 99: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Programadores Profissionais

Escrevem Testes, Ponto Final

http://blog.fragmental.com.br/2007/10/31/programadores-profissionais-escrevem-testes-ponto-final/

Page 100: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Existem várias camadas de teste.

Aprenda para saber quais são necessárias

para seu problema

Page 101: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Projete para testar

Page 102: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Assistentes do Mal

Page 103: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Não use um código de

assistente que você não entender

Page 104: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Antes do Projeto

Page 105: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

O Abismo dos Requisitos

Page 106: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 107: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

RUP você pega toda a documentação no

início.

Page 108: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

RUP você pega toda a documentação no início.

Agile você não documenta nada.

Page 109: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

RUP você pega toda a documentação no início.Agile você não documenta nada.

Será mesmo!?

Page 110: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

P.: RUP você pega toda a documentação no início?

R.: Isso é cascata!

P.: Agile você não documenta nada.

R.: Não há isso em lugar nenhum!

Page 111: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Trabalhe com usuário para

pensar como um usuário

Page 112: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 113: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 114: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Abstração tem vida mais longa do

que detalhes

Page 115: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Projetos Pragmáticos

Page 116: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Uma visão geral de como ser Pragmático

Page 117: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Uma visão geral de como ser uma equipe

Pragmático

Page 118: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Sem janelas quebradas

Page 119: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Sapos cozidos

Page 120: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Comunique-se

Page 121: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Não se repita

Page 122: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Automação

Page 123: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Saiba quando parar de adicionar

retoques

Page 124: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Dica :)

Teste!

O melhor amigo do Programador

Page 125: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 126: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Pratique!Pratique!

Page 127: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

RUP, XP, Scrum,

Kanban e etc...

Page 128: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

DOJOSDOJOS

Page 129: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 130: Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Page 131: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Programe!Programe!Programe!

Page 132: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Pra quem só tem martelo todo

problema é um prego!

Page 133: Profissão programador práticas para melhoria contínua fatec pg setembro 2013

Profissão Programador: Práticas para

Melhoria Contínua

Semana de Tecnologia FATEC Praia Grande - Setembro 2013

Agatha LisboaGabriel Rubens

@agathalisboa / @gabrielrubenss