As escolhas do
desenvolvedor
Willian Molinari (a.k.a PotHix)
Aviso
Plaev
.github.io
C
Porque esse tema?
Especialista em
desenvolvimento de
sistemas
Na carteira de trabalho
Software Engineer
para ficar bonito em inglês
Desenvolvedor
como eu acho que deveria ser
Solucionador de
problemas
o que realmente somos
E para solucionar...
fazemos algumas escolhas
1. Linguagens
C
C
Porque ruby?
● a syntax é bem enxuta
● tem bastante coisa pronta que facilita
● para aplicações web o Rails é muito útil
●...
Então, tudo em ruby?
Ferramenta X Problema
Leela
Leela
C
C
C
C
Seja “fluente”
em pelo menos 1 linguagem
Saruman
Wise provisioning
em 9 meses
Economia de 75
servidores, cerca de 1.5
MM de reais
2. Testes
Test Driven
Development?
Framework
Lista: 74+ linguagens, avg 4 cada uma
Unitário? Integração?
Garanta que funciona
de forma automática
3. Equipe
Mais de um dev
sempre que possível
Por projeto
Bus factor
Por funcionalidade
Pair programming, code review, ...
4. Código
Métodos menores
Versionamento
Git, hg, bzr, svn, ...
Implementações paralelas
gamecareerguide.com (reprinted)
Feature toggle
http://martinfowler.com/bliki/FeatureToggle.html
Otimização
Premature
optimization is the
root of all evil.
Donald Knuth
Padrões
● Observer
● Factory
● Singleton
● Adapter
● ...
Design patterns
● Responsabilidade única
● Aberto / Fechado
● Substituição de Liskov
● Segregação de interface
● Inversão de dependencia
S...
Twelve-factor
Twelve factor app
● Codebase
● Dependencies
● Config
● Backing services
● Build, release, run
● Processes
● Port binding
●...
5. Servidores
Conf. Manager
ou gerenciador de configuração
Infra imutável
Alta disponibilidade
6. Deploy
Etapa de build
vm, docker, lxc, chroot
Deb, rpm, tar.gz, exe, ...
Blue -> Green
usando sua alta disponibilidade
10%
90%
Entregas pequenas
Conclusão
Relembrando...
1. Linguagem
2. Testes
3. Equipe
4. Código
5. Servidores
6. Deploy
Opções
e não respostas
Perguntas?
Willian Molinari
@PotHix
pothix@pothix.com
Slides: http://goo.gl/V5BT5J
http://tinyurl.com/pothix-17elw
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
As escolhas do desenvolvedor
Próximos SlideShares
Carregando em…5
×

As escolhas do desenvolvedor

463 visualizações

Publicada em

Palestra feita no encontro Locaweb nas seguintes cidades:
Belo Horizonte, Recife, Curitiba, Porto Alegre, Rio de Janeiro e São Paulo.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
463
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

As escolhas do desenvolvedor

  1. 1. As escolhas do desenvolvedor Willian Molinari (a.k.a PotHix)
  2. 2. Aviso
  3. 3. Plaev .github.io
  4. 4. C
  5. 5. Porque esse tema?
  6. 6. Especialista em desenvolvimento de sistemas Na carteira de trabalho
  7. 7. Software Engineer para ficar bonito em inglês
  8. 8. Desenvolvedor como eu acho que deveria ser
  9. 9. Solucionador de problemas o que realmente somos
  10. 10. E para solucionar... fazemos algumas escolhas
  11. 11. 1. Linguagens
  12. 12. C
  13. 13. C
  14. 14. Porque ruby? ● a syntax é bem enxuta ● tem bastante coisa pronta que facilita ● para aplicações web o Rails é muito útil ● prototipagem rápida ● já tenho uma boa experiência ● porque eu gosto! :)
  15. 15. Então, tudo em ruby?
  16. 16. Ferramenta X Problema
  17. 17. Leela
  18. 18. Leela C
  19. 19. C
  20. 20. C
  21. 21. C
  22. 22. Seja “fluente” em pelo menos 1 linguagem
  23. 23. Saruman Wise provisioning
  24. 24. em 9 meses Economia de 75 servidores, cerca de 1.5 MM de reais
  25. 25. 2. Testes
  26. 26. Test Driven Development?
  27. 27. Framework Lista: 74+ linguagens, avg 4 cada uma
  28. 28. Unitário? Integração?
  29. 29. Garanta que funciona de forma automática
  30. 30. 3. Equipe
  31. 31. Mais de um dev sempre que possível
  32. 32. Por projeto Bus factor
  33. 33. Por funcionalidade Pair programming, code review, ...
  34. 34. 4. Código
  35. 35. Métodos menores
  36. 36. Versionamento Git, hg, bzr, svn, ...
  37. 37. Implementações paralelas
  38. 38. gamecareerguide.com (reprinted)
  39. 39. Feature toggle
  40. 40. http://martinfowler.com/bliki/FeatureToggle.html
  41. 41. Otimização
  42. 42. Premature optimization is the root of all evil. Donald Knuth
  43. 43. Padrões
  44. 44. ● Observer ● Factory ● Singleton ● Adapter ● ... Design patterns
  45. 45. ● Responsabilidade única ● Aberto / Fechado ● Substituição de Liskov ● Segregação de interface ● Inversão de dependencia SOLID
  46. 46. Twelve-factor
  47. 47. Twelve factor app ● Codebase ● Dependencies ● Config ● Backing services ● Build, release, run ● Processes ● Port binding ● Concurrency ● Disposability ● Dev/prod parity ● Logs ● Admin processes
  48. 48. 5. Servidores
  49. 49. Conf. Manager ou gerenciador de configuração
  50. 50. Infra imutável
  51. 51. Alta disponibilidade
  52. 52. 6. Deploy
  53. 53. Etapa de build
  54. 54. vm, docker, lxc, chroot
  55. 55. Deb, rpm, tar.gz, exe, ...
  56. 56. Blue -> Green usando sua alta disponibilidade
  57. 57. 10% 90%
  58. 58. Entregas pequenas
  59. 59. Conclusão
  60. 60. Relembrando... 1. Linguagem 2. Testes 3. Equipe 4. Código 5. Servidores 6. Deploy
  61. 61. Opções e não respostas
  62. 62. Perguntas? Willian Molinari @PotHix pothix@pothix.com Slides: http://goo.gl/V5BT5J http://tinyurl.com/pothix-17elw

×