SlideShare una empresa de Scribd logo
1 de 125
Grandiosismo dos
     loucos
     @cecifernandes
    @guilhermecaelum
OU
Loucura dos grandes
      @cecifernandes
     @guilhermecaelum
fanatismo
que diabos ele faz?
que diabos
  ela faz?
tudo menos
 dançar no
  knetics
www.caelum.com.br
3 partes
3 partes
2 loucuras
3 partes
2 loucuras
2 loucuras
3 partes
     2 loucuras
     2 loucuras
loucuras em conjunto
Imagine...
lista de refatorações

   switch => recursão

  repetição => método
• ({}–>nil)
• (nil->constant)
• (constant->constant+)
• (constant->scalar)
• (statement->statements)
• (unconditional->if)
• (scalar->array)
• (array->container)
• (statement->recursion)
• (if->while)
• (expression->function)
• (variable->assignment)
uma sequência de
 passos a serem
    tomados
algoritmo

0, 1, 2, 3, ...
como ela é fácil
usar ela SEMPRE
parece
 bom?
é bom ter um guia!
problema:
ordenar uma array

    (4, 2, 5, 1)
é difícil mesmo!
1 ==> 1
  2,1 ==> 1,2
1,3,2 ==> 1,2,3
resultado:

quicksort
o melhor resultado
   hoje em dia!
nossa reação?
animal!
PORTANTO
PORTANTO
todo problema terá
 como resultado o
 melhor algoritmo
O QUÊ?
o MELHOR algoritmo
  para QUALQUER
      problema
“O melhor algoritmo”
resolve com a melhor solução
               =
         bala de prata
SÉRIO MESMO?
pior ainda,
mesmo que
existisse!!!
Qual a chance de uma pessoa
descobrir A REGRA que resolve
 todos os problemas da melhor
        maneira possível?
eu bombei na terceira
Einstein errou
quem é que vai acertar
     essa lista?
aliás na ordem que ele
sugeriu, a solução dava
         outra!
provei pra 1, provei pra todos

     indução dos loucos
ps:
1. existe outras trans?
2. são as certas? (prov
          não)
    essa é a melhor?
Uncle Bob
               em
“encontrei a solução do universo”




http://cleancoder.posterous.com/the-
                   priority-premise
quero mais...
antigamente
waterfall zuava
existe algo melhor?
já existia Lean
problemas visíveis
ainda linha de produção
significa que...
LEAN
                =
(waterfall - descanso - criatividade)
AHN?
mas tenho a solução
se você usar Scrum
se você usar Scrum
se você usar Scrum
se você usar Scrum
melhor do que todos
 os competidores
todos querem trabalhar
      com você
AHN?
“o meu é o melhor do
      mundo”
cheirinho
   de
   ....
REPITO
“o meu é o melhor do
      mundo”
pé no saco
Ken Schwaber
    em “o meu é o melhor do mundo”




http://kenschwaber.wordpress.com/2010/06/10/waterfall-
               leankanban-and-scrum-2/
querem mais?
algumas pessoas não
  querem aprender
poucas pessoas querem
  aprender sem parar
“não quero perder
tempo tentando mudar
   a pessoa média”
só quero ser o melhor
CALMA LÁ!
se todo mundo ou
“desiste” ou “só pensa
        em si”
o mercado vai ser
sempre o mesmo
com cada vez MAIS
   legado lixo
com cada vez MAIS
   legado lixo
ENTÃO
adianta sim tentar mudar
uma pessoa arrombada
pode produzir o dobro!
mas 50% dos devs
(a média) com 10% de
   qualidade a mais
     é um salto
(sem mencionar os
erros matemáticos)
MAS
“não gosto de código
      legado”
“fazer algo novo, com
   tecnologia nova”
“depois de n meses,
quero fazer com outra
     tecnologia”
“UHU! eu tô me
  divertindo!”
mas o que eu deixei pra
        trás?
MEU legado
estou contribuindo
com o lixo mais do que
        nunca!
ENTÃO
nosso código será
     legado
mas que não seja um
   legado LIXO
Michael Feathers
                  em
      “não to nem aí pro mercado,
         quero é ser produtivo”




http://michaelfeathers.typepad.com/michael_feathers_blog/
          2011/02/the-pinned-progress-curve.html
Programming Language
+50 anos
Programming Language
procedural
OO
logical
funcional
estruturada
graphical
Já vimos +10 tipos.
Matematicamente
    falando,
Já exploramos *todas*
   as possibilidades?
Se já exploramos todos
os tipos possíveis, então...
como assim?
todas?
só 50 anos de
programação
o *universo* é gigante




          ps: e olha que de universo ele manja
se nós já exploramos
 TODOS os tipos de
     linguagens?
sempre tem algo novo
  para experimentar
que tristeza seria
se a partir de agora não
 desse mais pra inovar
Sabe essa área de
    estudo?
*acabou*!
Uncle Bob
                                  em
                   “não vale a pena tentar algo novo”




http://cleancoder.posterous.com/the-last-programming-
                        language
o mais importante
mesmo ao ler algo de
alguem importante tem
   que tomar cuidado
respondendo
que diabos eles fazem?
NÃO
    existe “o melhor”
algoritmo dos algoritmos
NÃO
existe “o melhor” método
adianta sim tentar mudar
adianta sim tentar
 novas linguagens
valeu!
@guilhermecaelum   @cecifernandes

Más contenido relacionado

Similar a O grandiosismo dos loucos - Agile Brazil 2011, Cecilia Fernandes e Guilherme Silveira

Criando uma cultura de aprendizagem
Criando uma cultura de aprendizagemCriando uma cultura de aprendizagem
Criando uma cultura de aprendizagemGabriel Rubens
 
Testescerebro
TestescerebroTestescerebro
Testescerebrousersee
 
Python bge
Python bgePython bge
Python bgeTiago
 
Inauguração do PIBID na EEAA
Inauguração do PIBID na EEAAInauguração do PIBID na EEAA
Inauguração do PIBID na EEAAGesson Brener
 
Inauguração do PIBID de Matemática na EEAA
Inauguração do PIBID de Matemática na EEAA Inauguração do PIBID de Matemática na EEAA
Inauguração do PIBID de Matemática na EEAA Gesson Brener
 
Inauguração do PIBID de Matemática na EEAA
Inauguração do PIBID de Matemática na EEAA Inauguração do PIBID de Matemática na EEAA
Inauguração do PIBID de Matemática na EEAA Gesson Brener
 
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...Jerônimo Medina Madruga
 
Wire 2010 - Entenda Software da Forma Correta
Wire 2010 - Entenda Software da Forma CorretaWire 2010 - Entenda Software da Forma Correta
Wire 2010 - Entenda Software da Forma CorretaFabio Akita
 
Teste seu-cerebro-13829
Teste seu-cerebro-13829Teste seu-cerebro-13829
Teste seu-cerebro-13829Lidio Clemente
 
Algoritmos 0 - apresentação
Algoritmos   0 - apresentaçãoAlgoritmos   0 - apresentação
Algoritmos 0 - apresentaçãoDaniel Moura
 
OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014Marcio Marchini
 

Similar a O grandiosismo dos loucos - Agile Brazil 2011, Cecilia Fernandes e Guilherme Silveira (20)

Criando uma cultura de aprendizagem
Criando uma cultura de aprendizagemCriando uma cultura de aprendizagem
Criando uma cultura de aprendizagem
 
Lapidando ruby
Lapidando rubyLapidando ruby
Lapidando ruby
 
Dark Java (2009)
Dark Java (2009)Dark Java (2009)
Dark Java (2009)
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
Aprender a pensar
Aprender a pensarAprender a pensar
Aprender a pensar
 
Testescerebro
TestescerebroTestescerebro
Testescerebro
 
Python bge
Python bgePython bge
Python bge
 
Teste da mente
Teste da menteTeste da mente
Teste da mente
 
Inauguração do PIBID na EEAA
Inauguração do PIBID na EEAAInauguração do PIBID na EEAA
Inauguração do PIBID na EEAA
 
Teste Da Mente
Teste Da MenteTeste Da Mente
Teste Da Mente
 
01-Lógica de Programação .pptx
01-Lógica de Programação .pptx01-Lógica de Programação .pptx
01-Lógica de Programação .pptx
 
scilab aula 05
scilab  aula 05scilab  aula 05
scilab aula 05
 
Teste Da Mente
 Teste Da Mente Teste Da Mente
Teste Da Mente
 
Inauguração do PIBID de Matemática na EEAA
Inauguração do PIBID de Matemática na EEAA Inauguração do PIBID de Matemática na EEAA
Inauguração do PIBID de Matemática na EEAA
 
Inauguração do PIBID de Matemática na EEAA
Inauguração do PIBID de Matemática na EEAA Inauguração do PIBID de Matemática na EEAA
Inauguração do PIBID de Matemática na EEAA
 
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
 
Wire 2010 - Entenda Software da Forma Correta
Wire 2010 - Entenda Software da Forma CorretaWire 2010 - Entenda Software da Forma Correta
Wire 2010 - Entenda Software da Forma Correta
 
Teste seu-cerebro-13829
Teste seu-cerebro-13829Teste seu-cerebro-13829
Teste seu-cerebro-13829
 
Algoritmos 0 - apresentação
Algoritmos   0 - apresentaçãoAlgoritmos   0 - apresentação
Algoritmos 0 - apresentação
 
OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014
 

Más de Guilherme Silveira

Equipes ágeis em 2012 - Lições aprendidas
Equipes ágeis em 2012 - Lições aprendidasEquipes ágeis em 2012 - Lições aprendidas
Equipes ágeis em 2012 - Lições aprendidasGuilherme Silveira
 
Introducao a machine learning na educacao
Introducao a machine learning na educacaoIntroducao a machine learning na educacao
Introducao a machine learning na educacaoGuilherme Silveira
 
Software de qualidade e qualidade de código
Software de qualidade e qualidade de códigoSoftware de qualidade e qualidade de código
Software de qualidade e qualidade de códigoGuilherme Silveira
 
Crie seu sistema REST com JAX-RS e o futuro
Crie seu sistema REST com JAX-RS e o futuroCrie seu sistema REST com JAX-RS e o futuro
Crie seu sistema REST com JAX-RS e o futuroGuilherme Silveira
 
Put your client and server to rest - Javaone
Put your client and server to rest - JavaonePut your client and server to rest - Javaone
Put your client and server to rest - JavaoneGuilherme Silveira
 
Deploy continuo, integraçao continua não basta
Deploy continuo, integraçao continua não bastaDeploy continuo, integraçao continua não basta
Deploy continuo, integraçao continua não bastaGuilherme Silveira
 
noSql + rest: Arquitetura Contemporanea
noSql + rest: Arquitetura ContemporaneanoSql + rest: Arquitetura Contemporanea
noSql + rest: Arquitetura ContemporaneaGuilherme Silveira
 
Caelum 2010 - Rest Arquitetura Irreponsavel?
Caelum 2010 - Rest Arquitetura Irreponsavel?Caelum 2010 - Rest Arquitetura Irreponsavel?
Caelum 2010 - Rest Arquitetura Irreponsavel?Guilherme Silveira
 

Más de Guilherme Silveira (20)

Equipes ágeis em 2012 - Lições aprendidas
Equipes ágeis em 2012 - Lições aprendidasEquipes ágeis em 2012 - Lições aprendidas
Equipes ágeis em 2012 - Lições aprendidas
 
Introducao a machine learning na educacao
Introducao a machine learning na educacaoIntroducao a machine learning na educacao
Introducao a machine learning na educacao
 
Software de qualidade e qualidade de código
Software de qualidade e qualidade de códigoSoftware de qualidade e qualidade de código
Software de qualidade e qualidade de código
 
Crie seu sistema REST com JAX-RS e o futuro
Crie seu sistema REST com JAX-RS e o futuroCrie seu sistema REST com JAX-RS e o futuro
Crie seu sistema REST com JAX-RS e o futuro
 
Using the web for real
Using the web for realUsing the web for real
Using the web for real
 
Arquitetura: chega de mesmice
Arquitetura: chega de mesmiceArquitetura: chega de mesmice
Arquitetura: chega de mesmice
 
Arquitetura: chega de mesmice
Arquitetura: chega de mesmiceArquitetura: chega de mesmice
Arquitetura: chega de mesmice
 
Arquitetura chega de mesmice
Arquitetura  chega de mesmiceArquitetura  chega de mesmice
Arquitetura chega de mesmice
 
Arquitetura: chega de mesmice
Arquitetura: chega de mesmiceArquitetura: chega de mesmice
Arquitetura: chega de mesmice
 
Put your client and server to rest - Javaone
Put your client and server to rest - JavaonePut your client and server to rest - Javaone
Put your client and server to rest - Javaone
 
Rest @ Qcon 2010
Rest @ Qcon 2010Rest @ Qcon 2010
Rest @ Qcon 2010
 
Rest clients
Rest clientsRest clients
Rest clients
 
Rest clients
Rest clientsRest clients
Rest clients
 
Rest clients
Rest clientsRest clients
Rest clients
 
Um produto por semana
Um produto por semanaUm produto por semana
Um produto por semana
 
Deploy continuo, integraçao continua não basta
Deploy continuo, integraçao continua não bastaDeploy continuo, integraçao continua não basta
Deploy continuo, integraçao continua não basta
 
noSql + rest: Arquitetura Contemporanea
noSql + rest: Arquitetura ContemporaneanoSql + rest: Arquitetura Contemporanea
noSql + rest: Arquitetura Contemporanea
 
Rest workflows
Rest workflowsRest workflows
Rest workflows
 
Caelum 2010 - Rest Arquitetura Irreponsavel?
Caelum 2010 - Rest Arquitetura Irreponsavel?Caelum 2010 - Rest Arquitetura Irreponsavel?
Caelum 2010 - Rest Arquitetura Irreponsavel?
 
REST in Practice
REST in PracticeREST in Practice
REST in Practice
 

O grandiosismo dos loucos - Agile Brazil 2011, Cecilia Fernandes e Guilherme Silveira

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n