Developer 0.0

2.820 visualizações

Publicada em

Apresentação do Tiago Pascoal sobre o que todo developer deveria saber antes de 'tocar no teclado' na 25a Reunião Presencial da Comunidade NetPonto (http://netponto.org) em Lisboa.

Publicada em: Carreiras
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
2.820
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.468
Ações
Compartilhamentos
0
Downloads
11
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Developer 0.0

  1. 1. 25ª Reunião Lisboa - 17/12/2011 http://netponto.org Developer 0.0 Tiago Pascoal
  2. 2. Patrocinadores “GOLD”
  3. 3. Patrocinadores “Bronze”
  4. 4. Developer 0.0Tiago Pascoalhttp://pascoal.net
  5. 5. Também disponível em vídeo... Assista!http://www.youtube.com/watch?v=8wDDqYl0d0I
  6. 6. O que a apresentação NÃO é...
  7. 7. Apresentação a ser feita há 36 anos
  8. 8. Fungíveis....• É assim que o IT é visto.• Será isto bom?• Fungibilidade é o atributo pertencente aos bens móveis que podem ser substituídos por outros da mesma espécie, qualidade ou quantidade. In http://pt.wikipedia.org/wiki/Fungibilidade
  9. 9. Uma Interpretação
  10. 10. A realidade...Em bom rigor...
  11. 11. A realidade...Em bom rigor...Não é totalmente verdade
  12. 12. A realidade...Em bom rigor...Não é totalmente verdadeTemos brinquedos mais modernos
  13. 13. A realidade...Em bom rigor...Não é totalmente verdadeTemos brinquedos mais modernos
  14. 14. Mas será justo?• Incapacidade para entregar nos prazos
  15. 15. Mas será justo?• Incapacidade para entregar nos prazos
  16. 16. Mas será justo?• Incapacidade para entregar nos prazos• Incapacidade para entregar dentro do orçamento
  17. 17. Mas será justo?• Incapacidade para entregar nos prazos• Incapacidade para entregar dentro do orçamento
  18. 18. Mas será justo?• Incapacidade para entregar nos prazos• Incapacidade para entregar dentro do orçamento• Incapacidade para entregar o que o negócio precisa
  19. 19. Mas será justo?• Incapacidade para entregar nos prazos• Incapacidade para entregar dentro do orçamento• Incapacidade para entregar o que o negócio precisa
  20. 20. Não é por acaso que o movimento ágil surgiu...• Exactamente para tentar contrabalançar esta necessidade
  21. 21. Não é por acaso que o movimento ágil surgiu...• • Exactamente para tentar contrabalançar esta Individuals and interactions over processes and tools• Working software over comprehensive documentation necessidade• Customer collaboration over contract negotiation• Responding to change over following a plan
  22. 22. Não é por acaso que o movimento ágil surgiu...• • Exactamente para tentar contrabalançar esta Individuals and interactions over processes and tools• Working software over comprehensive documentation necessidade• Customer collaboration over contract negotiation• Responding to change over following a plan • Mas o movimento ágil por vezes tende a ignorar o mundo em que vivemos...
  23. 23. Se calhar o problema tem que seresolver a montante...• Premissa. Enquanto não se resolver este assunto nada de
  24. 24. Isto devia estar embebido noDNA...Conhecimentosbásicos de economiaMas antes comecemos pela base
  25. 25. Discutível?Everything is politics Thomas Mann
  26. 26. Para que serve o sofware?Enquanto não se entender isto tudo o resto éirrelevante...O software é um meio paraatingir um fim não é um fimem si mesmo...
  27. 27. Isto não é discutível.• É perfeitamento binário... ( 0|1) (excepto numa realidade alternativa)Until your pretty code is in production,making money, or doing whatever it does,youve just wasted your time -- Chris Read
  28. 28. Software  Business Value• Uma nova funcionalidade• Melhoriar uma funcionalidade existente• Menos bugs• ...Business Value é _qualquer_ coisa quefaz com que as pessoas dêem dinheiroà pessoa/organização que o produz.
  29. 29. A visão...
  30. 30. Mas.... Escrevemos código para o negócio. O negócio não passa cheques para as nossas masturbações intelectuais PONTO
  31. 31. E agora politicamente correcto• Os engenheiros são contratados para criar valor não para programar coisas.• Drucker definiu o centro de custos e o centro de lucros. –Escolham o vosso lado…
  32. 32. E agora politicamente correcto• Os engenheiros são contratados para Produzir código bonito? Resolver problemas técnicos complexos? Escrever código sem erros? criar valor não para programar Usar linguagens sexy? coisas.• Drucker definiu o centro de custos e o centro de lucros. –Escolham o vosso lado…
  33. 33. E agora politicamente correcto• Os engenheiros são contratados para Produzir código bonito? Resolver problemas técnicos complexos? Escrever código sem erros? criar valor não para programar Usar linguagens sexy? coisas. são objectivos são meios. Isso não• Drucker definiu o centro de custos e o centro de lucros. –Escolham o vosso lado…
  34. 34. E agora politicamente correcto• Os engenheiros são contratados para Produzir código bonito? Resolver problemas técnicos complexos? Escrever código sem erros? criar valor não para programar Usar linguagens sexy? coisas. são objectivos são meios. Isso não• Drucker definiu o centro de custos e Os objectivos são (tipicamente) o centro de lucros. –Escolham o vosso lado…
  35. 35. E agora politicamente correcto• Os engenheiros são contratados para Produzir código bonito? Resolver problemas técnicos complexos? Escrever código sem erros? criar valor não para programar Usar linguagens sexy? coisas. são objectivos são meios. Isso não• Drucker definiu o centro de custos e Os objectivos são (tipicamente) o centro de lucros. reduzir custos Aumentar lucros, –Escolham o vosso lado…
  36. 36. (Voltando ao) PicassoPercebia a diferençaentre tempo e valor
  37. 37. Se pretendem• Ser uma commodity?
  38. 38. Se pretendem• Ser uma commodity?• Então terão muita companhia
  39. 39. Se pretendem• Ser uma commodity?• Então terão muita companhia
  40. 40. Se pretendem• Ser uma commodity?• Então terão muita companhia
  41. 41. E se....The job of a programmer is not towrite code; it is first and foremostto think. Don’t skim; read carefullyevery change line by line in yourdiff tool, and think about them. in http://altdevblogaday.com/2011/10/04/a-pre-commit-checklist/
  42. 42. Vossa EscolhaCommodity Escassez• Race to the • Que combate bottom com o valor E recolhe oQue compete respectivopelo preço prémio
  43. 43. Custo das mudanças de contexto
  44. 44. Custo das mudanças de contexto
  45. 45. Custo das mudanças de contexto Culpa do gestor obviamente
  46. 46. Como reagiam?
  47. 47. Como reagiam?
  48. 48. 15 Minutos == 1/16 dia trabalho• Cada interrupção pode custar 15 minutos de recuperação http://www.nytimes.com/2007/03/25/business/25multi.html
  49. 49. 15 Minutos == 1/16 dia trabalho• Cada interrupção pode custar 15 minutos de recuperação http://www.nytimes.com/2007/03/25/business/25multi.html
  50. 50. 15 Minutos == 1/16 dia trabalho• Cada interrupção pode custar 15 minutos de recuperação http://www.nytimes.com/2007/03/25/business/25multi.html
  51. 51. 15 Minutos == 1/16 dia trabalho• Cada interrupção pode custar 15 minutos de recuperação http://www.nytimes.com/2007/03/25/business/25multi.html
  52. 52. 15 Minutos == 1/16 dia trabalho• Cada interrupção pode custar 15 minutos de recuperação http://www.nytimes.com/2007/03/25/business/25multi.html
  53. 53. Aquilo que era culpa nos outrosDeixa subitamente de terresponsáveis
  54. 54. Não perseguir coisas brilhantes...
  55. 55. Apenas porque brilham.....• Vamos fazer o upgrade de uma biblioteca? porquê? –Quais são os ganhos? • Muitas vezes nenhuns –E nem sequer avaliamos que se vai perder? • Nem se analisa o que mudou • E muito menos se testa em condições
  56. 56. Custo de oportunidadeQuando fazemos A em vez de B.Não só o que custa fazer A mastambém as perdas de não fazerBVamos fazer algo porque sim em vez detrazer valor?
  57. 57. Teoria da vantagem comparativaDavid Ricardo 1772-1823Reduz o nosso custo de oportunidadeFará sentido escrever um parser deXML?
  58. 58. Contexto Corrida Entre VS Quem Ganha?
  59. 59. Depende...50 Km Pista Tartan...
  60. 60. Responsabilização pelo que se faz• Apesar da qualidade ser uma responsabilidade da equipa. A responsabilidade de testar não é de terceiros.• Os erros acontecem e são constantes com a dimensão do código, mas a responsabilidade é nossa.• Terceiros podem validar mas a responsabilidade....
  61. 61. Responsabilização pelo que se faz• Apesar da qualidade ser uma responsabilidade da equipa. A responsabilidade de testar não é de terceiros.• Os erros acontecem e são constantes com a dimensão do código, mas a responsabilidade é nossa.• Terceiros podem validar mas a responsabilidade....
  62. 62. Responsabilização pelo que se faz• Apesar da qualidade ser uma responsabilidade da equipa. A responsabilidade de testar não é de terceiros.• Os erros acontecem e são constantes com a dimensão do código, mas a responsabilidade é nossa.• Terceiros podem validar mas a responsabilidade....
  63. 63. Final Word...
  64. 64. A evitar...• Falta de sentido de urgência – é preciso é calma...• Distrair-se fácilmente – falta de foco• Preguiça• Começa algo mas nunca acaba• Falta de comprometimento – compromete-se mas nunca entrega• Argumentativo – discussões incessantes em vez de simplesmente fazer• Lento – demora a fazer coisas• Perfecionista – tendência para overengineering procura a implementação perfeita em vez de algo que funciona 95% dos casos
  65. 65. A evitar...• Falta de sentido de urgência – é preciso é calma...• Distrair-se fácilmente – falta de foco• Preguiça• Começa algo mas nunca acaba• Falta de comprometimento – compromete-se mas nunca entrega• Argumentativo – discussões incessantes em vez de simplesmente fazer• Lento – demora a fazer coisas• Perfecionista – tendência para overengineering procura a implementação perfeita em vez de algo que funciona 95% dos casos
  66. 66. TakeawaysPara que serve o softwareAnálise custo beneficioCusto de oportunidadeTeoria vantagem comparativaResponsabilização
  67. 67. Use only that which works, and take it fromany place you can find it.Life itself is your teacher, and you are in astate of constant learning.In Jeet Kune Do, its not how much you havelearned, but how much you have absorbedfrom what you have learned. It is not howmuch fixed knowledge you can accumulate,but what you can apply livingly that counts.‘Being is more valued than doing
  68. 68. Patrocinador “Lata”
  69. 69. Patrocinadores “GOLD”
  70. 70. Patrocinadores “Bronze”
  71. 71. Questões?
  72. 72. Próximas reuniões presenciais• 17/12/2011 – Dezembro• 21/01/2012 – Janeiro (Lisboa)• 11/02/2011 – Fevereiro (Coimbra)• 18/02/2011 – Fevereiro (Lisboa)Reserva estes dias na agenda! :)
  73. 73. Obrigado!Tiago Pascoaltiago@pascoal.nethttp://pascoal.nethttp://twitter.com/tspascoal

×