Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Leitura: The Pragmatic Programmer

No description
by

Welington Veiga

on 13 March 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Leitura: The Pragmatic Programmer

Leitura: The Pragmatic Programmer
Conclusão
Pragmatismo
"Pragmatismo", "pragmático" ???
Não estou certo se sei o que isso significa...
Pragmatismo
Entendi o que é pragmatismo, mas o que é um programador pragmático?
Software Craftsmanship
Manifesto: manifesto.softwarecraftsmanship.org/
Filosofia pragmática
prag·ma·tis·mo
(inglês pragmatism)
substantivo masculino
Doutrina que toma por critério da verdade o valor prático e se opõe ao intelectualismo.


"pragmatismo", in Dicionário Priberam da Língua Portuguesa [em linha], 2008-2013, http://www.priberam.pt/dlpo/pragmatismo [consultado em 12-03-2014]
Pragmático
prag·má·ti·co
(grego pragmatikós, -ê, -ón, activo, hábil em negócios ou política)

adjectivo
1. Relativo à pragmática ou ao pragmatismo.
2. Que tem motivações relacionadas com a acção ou com a eficiência. = PRÁTICO
adjectivo e substantivo masculino
3. Que ou quem revela um sentido prático e sabe ou quer agir com eficácia.
"pragmático", in Dicionário Priberam da Língua Portuguesa [em linha], 2008-2013, http://www.priberam.pt/dlpo/pragmatismo [consultado em 12-03-2014]
"Consideração das coisas de um ponto de vista prático. "Pragmatismo" provém da palavra grega prágma, que significa "ação" e originou as palavras "prática" e "prático".
Dicionário inFormal (SP) em 07-10-2008

"Doutrina filosófica que adota como critério da verdade a útilidade prática, identificando o verdadeiro como útil; senso prático."
Por Bianca R. Moura (PE) em 03-07-2009

Pôr algo em prática utilizando-se de ferramentas já conhecidas e que já demonstraram bons resultados.

Robson Jose Maria (ES) em 07-05-2011
Doutrina que toma por critério da verdade o valor prático. (Para o pragmatismo é verdadeiro tudo o que pode ser feito com êxito e não há verdade absoluta).

Dicionário inFormal (SP) em 07-10-2008
O que é ser um programador?
Fazer com que um computador faça o que é preciso.
Entender o que precisa ser feito
Ajustar o que precisa ser feito para que seja computacionalmente viável
Expressar-se através de instruções de computador
Ser capaz de adaptar tudo em tempo viável sempre que as necessidades mudam
Documentar para que outros possam entender/continuar seu trabalho
Manter tudo funcionando
Ser programador não é mole!!!!!!!!!
Ainda assim tem muita gente vendendo soluções fáceis...
O blog do framework revoluvionário!
O fornecedor da melhor plataforma!
A linguagem de programação mais rápida!
A IDE perfeita!
O melhor sistema operacional!
Os Fanboys!
Não existe almoço grátis
Não existe a ferramenta salvadora, o melhor framework, a melhor linguagem, a melhor metodologia de desenvolvimento, (O melhor SO existe), e nenhuma resposta acerta em TODO caso.
The Pragmatic Programmer by Andy Hunt
Dave Thomas and Software Craftsmanship by Pete McBreen
Bases:
Um programador pragmático deve avaliar sempre os recursos disponíveis e ser capaz de embasar decisões bem informadas, aderentes à realidade, e objetivas.
Características de um programador pragmático:
Early adopter/ fast adopter
Questionador
Crítico
Realista
Versátil
Dica 1. Preocupe-se com seu ofício.
Dica 2. Pense!
Sobre o seu ofício.
Em termodinâmica entropia é a medida da desordem em um sistema, e tende a aumentar.
2. Entropia de Software
Em software é o que a gente chama de legado...
1. Um gato comeu meu código!
Assuma a responsabilidade!
1. Comprometa-se com suas tarefas e assuma o controle!
2. Assuma seus erros!
Não se envergonhe de falhar.
Aprenda!
Dica 3. Dê opções e não desculpas idiotas.
"Esse erro já tava aí, não é na parte que eu alterei."
"Não é culpa minha, deu erro porque é o IE."
Desculpas...
"Não tem como ter dado erro em produção, eu testei na minha máquina e funcionou."
Se fosse em Go isso não teria acontecido, a gente usa Java.
Opções
"Não conseguimos simular o erro, podemos entrar em contato com o usuário para tentar descobrir como reproduzí-lo ou subir para produção uma versão com logs mais detalhados caso aconteça denovo teremos como descobrir."
"Localmente funciona, em homologação não conseguimos reproduzir o erro, está muito difícil identificar o que está acontecendo em produção."
"Consigo reproduzir o erro mas não consegui identificar o motivo. Estou investigando, quando tiver uma posição te retorno."
Não sei é uma boa resposta.
"Estou investigando, ainda não concluí nada."
Não sei se tem como fazer isso em nodejs. Se eu não conseguir até o fim do dia vou mudar a abordagem...
Assim como na termodinâmica, tendemos para a desordem...
Janelas quebradas
Essa tese, defendida pela primeira vez em 1982 pelos americanos James Wilson e George Kelling, recebeu o nome de “teoria das janelas quebradas”.
Segundo ela, a presença de lixo nas ruas e de grafite sujo nas paredes provoca mais desordem, induz ao vandalismo e aos pequenos crimes. Com base nessas ideias, a cidade de Nova York iniciou, nos anos 1990, uma campanha para remover os grafites do metrô, que resultou numa diminuição dos crimes realizados em suas dependências. O sucesso da iniciativa serviu de base para a política de “tolerância zero” posta em prática a seguir.
JANELAS QUEBRADAS, Drauzio Varella
Em software...
Não deixe conscientemente uma solução ruim...
Não seja condescendente quando vir um alguma coisa errada, especialmente no
code review
Não saia da arquitetura, não desrespeite o padrão de nomeclatura, identação, comentário...
Não produza legado.
Dica 4. Não deixe janelas quebradas.
3. Sopa de pedras e sapos fervidos
Sopa de Pedras
E da perspectiva dos camponeses?
Moral: Envolva as pessoas em prol de um objetivo
Não se envergonhe de falhar.
Aprenda!
Dica 5. Seja um agente de mudança.
Sapo fervido
Dica 6. Mantenha o todo em mente.
4. Software bom o bastante
Um software e bom para um determinado contexto.
Dica 7. Faça da qualidade um requisito
Paranóia da perfeição
O objetivo fim do software é atender ao cliente
(Não a nós mesmos).
E preciso entender a necessidade do cliente para definir o que é um software bom.
O que definitivamente não significa que não seguiremos um padrão de alta qualidade.
5. Seu portifólio de conhecimento
Investidores espertos compram barato e vendem caro.
Dica 8. Invista regularmente no seu portifólio de conhecimento
Invista no seu portifólio de conhecimento!
Investidores serios investem regularmente, fazendo disso um habito.
Diversificar os investimentos é a chave para o sucesso a longo prazo.
Equilibre investimentos de baixo e alto risco.
Revise seu portifólio constantemente.
Cartela de acoes deve ser revista e atualizada constantemente.
Estabeleça metas!
Aprender uma linguagem nova por ano.
Ler um livro técnico por bimestre.
Participar de grupos de discussao.
Experimentar um SO diferente.
Manter-se atualizado.
Sua carreira é sua!
Investidores espertos equilibram envestimentos de alto e baixo risco.
Dica 9. Analise criticamente o que você lê ou escuta.
Fazer um curso!
6. Comunique-se.
Saiba para quem você está falando.
Dica 10. Como você diz é tão importante quanto o que você diz
Trabalhar com computadores nao te exime de saber lidar com seres humanos!
Saiba o que você quer dizer.
Escolha o momento.
Revise seu portifólio constantemente.
Escute!
E-mail!
Confira antes de enviar!
Verifique a ortografia!
Prefira texto simples.
Confirme os destinatários.
Seja objetivo!
Leitura recomendada para todo programdor!
Full transcript