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

Post on 27-Jun-2015

297 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

Profissão Programador: Práticas para

Melhoria Contínua

Semana de Tecnologia FATEC Praia Grande - Setembro 2013

Agatha LisboaGabriel Rubens

@agathalisboa / @gabrielrubenss

Profissão Programador: Práticas para

Melhoria Contínua

De onde vem a palavra pragmático?

O foco da palestra é ajudar

programadores a se tornarem melhores

Não importa se você trabalha sozinho, em

equipe ou com muitos clientes

Programar é uma arte, e como

programador você é um artesão

Transformar requisitos vagos em

um programa. Documentar seu

trabalho

Ferramentas Ferramentas milagrosasmilagrosas

Metodologias Metodologias que resolvem que resolvem

todos os todos os problemasproblemas

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

situaçõessituações

Sistemas Sistemas Operacionais Operacionais

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

os outrosos outros

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

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

problemas.

Existem ferramentas/

linguagens/SOs apropriados para

cada situação

Dica :)

Reflita sobre seu trabalho.

- 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.

Uma Filosofia Pragmática

O que diferencia programadores pragmáticos?

O gato comeu meu código-fonte

Assuma responsabilidade

Dica :)

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

esfarrapadas.

Entropia de software

Deterioração do Deterioração do softwaresoftware

Teoria da janela Teoria da janela quebradaquebrada

Apagando incêndiosApagando incêndios

Dica :)

Não tolere janelas quebradas

Sopas de pedras e sapos cozidos

Dica :)

Seja um catalizador de

mudanças

Dica :)

Lembre-se do cenário em larga

escala

Software Satisfatório

Envolva os usuários na tomada de

decisões

Dica :)

Torne qualidade parte dos requisitos

Saiba quando parar

Programação como uma pintura

Ciência + arte + trabalho manual

MVCMVC

Carteira de conhecimentos

Semelhante ao gerenciamento de

uma carteira de investimentos

Construindo uma carteira

Dica :)

Invista regularmente em

sua carteira de conhecimentos

Dica :)

Analise criticamente o que você vê e

ouve

Comunicação

Conheça o que vai dizer

Conheça pra quem vai dizer

Escolha o momento certo

Seja ouvinte

Dica :)Dica :)

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

Uma Abordagem Pragmática

Males da duplicação

Conceito de manutenção

Dica :)

NSR - Não Se Repita

DRY - Don't Repeat Yourself

Tipos de duplicação

Duplicação imposta

Dica :)

Facilite a reutilização

Ortogonalidade

Conceito emprestado da

geometria

Sistema ortogonal

Dica :)

Elimine efeitos entre elementos não relacionados

ReversibilidadeReversibilidade

Dica :)

Não há decisões definitivas

Projéteis Projéteis LuminososLuminosos

Código Rastreador

Dica :)

Use projéteis luminosos para

encontrar seu alvo

Programe Igual ao Domínio do Usuário

Dica :)

Programe em um nível próximo ao

domínio do problema (usuário)

Estimando

Dica :)

Estime para evitar surpresas

Que nível de exatidão é

suficientemente exato?

Entenda o que está sendo pedido

Acompanhe sua habilidade de

estimar

Dica :)

Reexamine o cronograma junto

ao código

O que dizer quando lhe pedirem uma

estimativa?

Seja Flexível

Quadros-Negros

A melhor forma de se comunicar é visualmente

Enquanto Você Está Codificando

Programação Baseada no Acaso

Programar é uma tarefa que envolve muita habilidade e

raciocínio

Refine sempre essa estimativa

Refatoração

Refatorar é melhorar um código existente

sem alterar o seu funcionamento

Quando Refatorar?

Código duplicadoMétodo longoClasse grande

Lista de parâmetros longaMá indentação

Dica :)

Refatore cedo, refatore sempre

Código Que Seja Fácil de Testar

Testando as Unidades

Devemos ter o hábito de testar

unitariamente nosso software

(procure o xUnit da sua linguagem favorita)

Testando a Integração entre os

Componentes

Dica :)

Teste seu software ou seus usuários testarão

Programadores Profissionais

Escrevem Testes, Ponto Final

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

Existem várias camadas de teste.

Aprenda para saber quais são necessárias

para seu problema

Dica :)

Projete para testar

Assistentes do Mal

Dica :)

Não use um código de

assistente que você não entender

Antes do Projeto

O Abismo dos Requisitos

RUP você pega toda a documentação no

início.

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

Agile você não documenta nada.

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

Será mesmo!?

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!

Dica :)

Trabalhe com usuário para

pensar como um usuário

Dica :)

Abstração tem vida mais longa do

que detalhes

Projetos Pragmáticos

Uma visão geral de como ser Pragmático

Uma visão geral de como ser uma equipe

Pragmático

Dica :)

Sem janelas quebradas

Dica :)

Sapos cozidos

Dica :)

Comunique-se

Dica :)

Não se repita

Dica :)

Automação

Dica :)

Saiba quando parar de adicionar

retoques

Dica :)

Teste!

O melhor amigo do Programador

Pratique!Pratique!

RUP, XP, Scrum,

Kanban e etc...

DOJOSDOJOS

Programe!Programe!Programe!

Pra quem só tem martelo todo

problema é um prego!

Profissão Programador: Práticas para

Melhoria Contínua

Semana de Tecnologia FATEC Praia Grande - Setembro 2013

Agatha LisboaGabriel Rubens

@agathalisboa / @gabrielrubenss

top related