O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

O que é ser um bom programador?

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
Carregando em…3
×

Confira estes a seguir

1 de 85 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a O que é ser um bom programador? (20)

Anúncio

Mais recentes (20)

Anúncio

O que é ser um bom programador?

  1. 1. O que é SER UM PROGRAMADOR? lucas boeing scarduelli / @lucasscarduelli bom
  2. 2. Arquiteto de software líder setor de pesquisa e desenvolvimento (P&D) Técnico em Informática industrial (#sqn) bacharel em sistemas de informação pós graduado em gerenciamento de projetos 9 anos de experiência 7 anos desenvolvendo software web lucas boeing scarduelli scarduelli.com @lucasscarduelli
  3. 3. motivação nós não precisamos de mais programadores, nós precisamos de bons programadores. (edson yanaga)
  4. 4. motivação contrate o carácter. treine as habilidades. (peter schutz)
  5. 5. O que é um programador? “profissional especializado no desenvolvimento e no aperfeiçoamento de programas de computador.”
  6. 6. mas pode ser também… “quem te resolve um problema que você não sabia que tinha de uma maneira que você não compreende “
  7. 7. … ou também …
  8. 8. … ou ainda!!! #melhordetodas “e aquele cara que muitas vezes tem que encontrar a melhor e mais simples solução, para um problema de uma área que ele não conhece e de que ele não faz a mínima ideia do porque acontece”
  9. 9. somos pagos para resolver problemas… … muitos problemas, mais muitos mesmo, todos os dias e quase sempre pra ontem!! #napressao
  10. 10. na real … ser programador não e fácil! mais e massa pra caramba!!!
  11. 11. porque você quer ser um programador?
  12. 12. … porque eu gosto de internet e redes sociais!
  13. 13. … porque eu gosto de jogar!
  14. 14. … prefiro trabalhar sentado e no ar condicionado! … quero fazer somente aquilo que eu gosto!
  15. 15. … quero trabalhar igual o pessoal do google!
  16. 16. … quero ser o orgulho da família!
  17. 17. … é a profissão do futuro!
  18. 18. … porque quero ter uma ideia genial e ficar rico rápido!
  19. 19. então quando te perguntarem, o que você vai responder?
  20. 20. se for algo diferente disso… :( então quando te perguntarem, o que você vai responder?
  21. 21. o que é ser um bom programador? Uma escola ou faculdade vão me formar um bom programador?
  22. 22. Eu preciso conhecer e dominar as melhores linguagens de programação?
  23. 23. Eu preciso conhecer o melhor banco de dados?
  24. 24. Eu preciso usar e conhecer a melhor ide ou ferramenta de desenvolvimento?
  25. 25. Eu preciso conhecer e aplicar as melhores metodologias e práticas de desenvolvimento?
  26. 26. Eu preciso ter uma super estação de trabalho?
  27. 27. programação é coisa para nerd?
  28. 28. quanto mais linhas de código, melhor programador eu sou?
  29. 29. Eu preciso digitar muito ou ser o mais rápido?
  30. 30. tudo isso te ajuda, mas não é o principal!!!
  31. 31. se nada disso é o principal, então o que eu realmente preciso?
  32. 32. atitude
  33. 33. atitude não se acomodar dar sempre o seu melhor manter o foco realmente se importar com o que faz
  34. 34. atitude não se acomodar dar sempre o seu melhor realmente se importar com o que faz manter o foco SE DESENVOLVER E CRESCER
  35. 35. atitude não se acomodar dar sempre o seu melhor realmente se importar com o que faz manter o foco SE DESENVOLVER E CRESCER gerar resultados
  36. 36. ser um bom programador é muito mais do que fazer um software funcionar
  37. 37. é ter domínio da área que atua…
  38. 38. é comprometimento com aquilo que faz…
  39. 39. é gerar bons resultados…
  40. 40. é buscar sempre a melhor solução… com a melhor qualidade… com a melhor experiência… e com o melhor custo benefício!
  41. 41. então, que dizer que eu vou levar a vida toda para ser um bom programador? não, você é bom quando faz o seu melhor.
  42. 42. tudo tem um começo!
  43. 43. primeiro de tudo aprenda a pensar lógica de programação o difícil é resolver o problema pergunte sobre tudo código é a menor parte
  44. 44. o resto entra no loop infinito que é a vida do programador
  45. 45. Estudo curso técnico faculdade livros tutoriaisprojetos open source
  46. 46. prática estágio trabalho aula freelancer open source hobby
  47. 47. aprendizadoabsorva o conhecimento lide melhor com as pessoas lide com os erros lide com o fracasso repita práticas de sucesso
  48. 48. aperfeiçoamento novas técnicas novas linguagens novos domínios novas tecnologias aplique o aprendizado aprenda inglês
  49. 49. o loop infinito! while programador.estaVivo() { programador.estudar(); programador.praticar(); programador.cometerErros(); programador.aprender(); programador.corrigirErros(); programador.evoluir(); }
  50. 50. robert c. martin @unclebobmartin
  51. 51. o que é um código limpo? simples direto eficiente sem duplicidade elegante feito com cuidadofácil manutenção padronizado poucas dependências
  52. 52. o que é um código limpo?
  53. 53. teoria da janela quebrada
  54. 54. como se mede o quão limpo um código e?
  55. 55. nomes significativos nos escolhemos nomes para tudo E TEMOS QUE FAZER ISSO BEM FEITO, por isso eles devem nos dizer... - por que existe - o que faz - como e usado
  56. 56. devem revelar sua intenção…
  57. 57. devem revelar sua intenção…
  58. 58. devem revelar sua intenção…
  59. 59. devem revelar sua intenção…
  60. 60. devem ser pronunciáveis…
  61. 61. não seja genérico…
  62. 62. não economize nas palavras! evite a desinformação! evite palavras que não são palavras se preciso use varias palavras evite palavras reservadas o tipo não precisa estar no nome evite trocadilhosevite palavras que não são palavras use boas praticas
  63. 63. classes e métodos nomes de classes devem ser substantivos e não conter verbos Veículo, Pessoa, Cliente, Fornecedor, Estoque, ... nomes de métodos devem conter verbos calculaCusto(), lancaEstoque(), geraNotaFiscal(), ...
  64. 64. devem ser pequenos “a primeira regra dos métodos e que eles devem ser pequenos. a segunda e que devem ser menores ainda.” (uncle bob) classes menores são mais fáceis de ler e entender o que estão fazendo. classe = 200 a 500 linhas métodos <= 20 linhas linhas <= 100 caracteres
  65. 65. métodos devem fazer uma coisa só e fazer certo! o difícil e definir o que é uma coisa só. tente extrair parte do código e dar um nome a ele.
  66. 66. métodos devem fazer algo ou responder algo! os dois juntos causa confusão.
  67. 67. simplifique as estruturas de decisão, evite O hard codE E APROXIME-SE DA MARGEM
  68. 68. simplifique as estruturas de decisão, evite O hard codE E APROXIME-SE DA MARGEM
  69. 69. dry - don’t repeat yourself evite duplicidade de código! reutilize seus métodos.
  70. 70. srp - principio da responsabilidade única uma classe deve ter uma, e somente uma razão para mudar
  71. 71. classes devem ser coesas poucas variáveis cada método deve manipular uma ou mais variáveis quanto mais variáveis um método consegue manipular, mais coeso ele é coesão e a co-dependencia entre métodos e variáveis
  72. 72. comentários podem ser mentirosos, mesmo sem intenção comentários não escondem código ruim comentário é sinal de necessidade de refatoração nunca deixe um código comentado
  73. 73. explique-se com código
  74. 74. closing brace comments
  75. 75. comentários podem ser uteis mostra a intenção por trás de uma decisão tomada avisa aos desenvolvedores sobre a consequência de um trecho de código
  76. 76. formatação formatação é importante para a comunicação legibilidade é importante para mudanças futuras métodos com conceitos parecidos devem ficar verticalmente próximos ordem dos métodos influencia na legibilidade do código
  77. 77. indentação importante para visualização de todo o escopo não deve ter nível maior que 2, para uma compreensão fácil e rápida espaçamento e importante
  78. 78. código hadoooouuuken!!
  79. 79. code smells - fique atento a eles comentários pobres, obsoletos ou redundantes métodos mortos ou que fazem muita coisa código comentado responsabilidades demais ou fora do contexto nomes pequenos e inexpressivos muitos parâmetros ou parâmetros booleanos despadronização números mágicos duplicidade de código
  80. 80. mantenha sempre sua cozinha limpa!
  81. 81. regra do escoteiro deixe a areá do acampamento mais limpa do que como você encontrou.
  82. 82. manifesto para desenvolvimento ágil de software www.agilemanifest.com
  83. 83. manifesto para o artesanato de software manifesto.softwarecraftsmanship.org
  84. 84. lucas boeing scarduelli / @lucasscarduelli Perguntas?

×