Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
O que é SER UM
PROGRAMADOR?
lucas boeing scarduelli / @lucasscarduelli
bom
Arquiteto de software
líder setor de pesquisa e desenvolvimento (P&D)
Técnico em Informática industrial (#sqn)
bacharel em...
motivação
nós não precisamos de mais
programadores, nós precisamos
de bons programadores.
(edson yanaga)
motivação
contrate o carácter.
treine as habilidades.
(peter schutz)
O que é um programador?
“profissional especializado no desenvolvimento e no
aperfeiçoamento de programas de computador.”
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 “
… ou também …
… ou ainda!!! #melhordetodas
“e aquele cara que muitas vezes tem que encontrar a
melhor e mais simples solução, para um pr...
somos pagos para resolver problemas…
… muitos problemas, mais muitos mesmo, todos os
dias e quase sempre pra ontem!! #napr...
na real … ser programador não e fácil!
mais e massa pra caramba!!!
porque você quer ser um programador?
… porque eu gosto de internet e redes sociais!
… porque eu gosto de jogar!
… prefiro trabalhar sentado e no ar condicionado!
… quero fazer somente aquilo que eu gosto!
… quero trabalhar igual o pessoal do google!
… quero ser o orgulho da família!
… é a profissão do futuro!
… porque quero ter
uma ideia genial e
ficar rico rápido!
então quando te perguntarem, o que você vai
responder?
se for algo diferente disso… :(
então quando te perguntarem, o que você vai
responder?
o que é ser um bom programador?
Uma escola ou faculdade vão me formar um bom
programador?
Eu preciso conhecer e dominar as melhores
linguagens de programação?
Eu preciso conhecer o melhor banco de dados?
Eu preciso usar e conhecer a melhor ide ou
ferramenta de desenvolvimento?
Eu preciso conhecer e aplicar as melhores
metodologias e práticas de desenvolvimento?
Eu preciso ter uma super estação de trabalho?
programação é coisa para
nerd?
quanto mais linhas
de código, melhor
programador eu
sou?
Eu preciso digitar muito ou ser o mais rápido?
tudo isso te ajuda, mas não é o principal!!!
se nada disso é o principal, então o que eu realmente
preciso?
atitude
atitude
não se acomodar
dar sempre o seu melhor
manter o foco
realmente se importar com o que faz
atitude
não se acomodar
dar sempre o seu melhor
realmente se importar com o que faz
manter o foco
SE DESENVOLVER E CRESCER
atitude
não se acomodar
dar sempre o seu melhor
realmente se importar com o que faz
manter o foco
SE DESENVOLVER E CRESCER...
ser um bom programador é muito mais do que fazer
um software funcionar
é ter domínio da área que atua…
é comprometimento com aquilo que faz…
é gerar bons resultados…
é buscar sempre a melhor solução…
com a melhor qualidade…
com a melhor experiência…
e com o melhor custo benefício!
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.
tudo tem um começo!
primeiro de tudo aprenda a pensar
lógica de programação
o difícil é resolver o problema
pergunte sobre tudo
código é a men...
o resto entra no loop infinito que é a vida do
programador
Estudo
curso técnico
faculdade
livros
tutoriaisprojetos open source
prática
estágio trabalho
aula
freelancer
open source
hobby
aprendizadoabsorva o conhecimento
lide melhor com as pessoas
lide com os erros
lide com o fracasso
repita práticas de suce...
aperfeiçoamento
novas técnicas
novas linguagens
novos domínios
novas tecnologias
aplique o aprendizado
aprenda inglês
o loop infinito!
while programador.estaVivo() {
programador.estudar();
programador.praticar();
programador.cometerErros();...
robert c. martin
@unclebobmartin
o que é um código limpo?
simples
direto
eficiente
sem duplicidade
elegante
feito com cuidadofácil manutenção
padronizado
p...
o que é um código limpo?
teoria da janela quebrada
como se mede o quão limpo um código e?
nomes significativos
nos escolhemos nomes para tudo E TEMOS QUE FAZER ISSO BEM
FEITO, por isso eles devem nos dizer...
- p...
devem revelar sua intenção…
devem revelar sua intenção…
devem revelar sua intenção…
devem revelar sua intenção…
devem ser pronunciáveis…
não seja genérico…
não economize nas palavras!
evite a desinformação!
evite palavras que
não são palavras
se preciso use varias
palavras
evit...
classes e métodos
nomes de classes devem ser
substantivos e não conter verbos
Veículo, Pessoa,
Cliente, Fornecedor,
Estoqu...
devem ser pequenos
“a primeira regra dos
métodos e que eles devem ser
pequenos. a segunda e que
devem ser menores ainda.”
...
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 ...
métodos devem fazer algo ou responder algo!
os dois juntos causa
confusão.
simplifique as estruturas de decisão, evite O hard
codE E APROXIME-SE DA MARGEM
simplifique as estruturas de decisão, evite O hard
codE E APROXIME-SE DA MARGEM
dry - don’t repeat yourself
evite duplicidade de código!
reutilize seus métodos.
srp - principio da responsabilidade única
uma classe deve ter uma, e
somente uma razão para
mudar
classes devem ser coesas
poucas variáveis
cada método deve manipular
uma ou mais variáveis quanto mais variáveis um
método...
comentários
podem ser mentirosos,
mesmo sem intenção
comentários não escondem
código ruim
comentário é sinal de
necessidad...
explique-se com código
closing brace comments
comentários podem ser uteis
mostra a intenção por trás
de uma decisão tomada
avisa aos desenvolvedores
sobre a consequênci...
formatação
formatação é importante
para a comunicação
legibilidade é importante para
mudanças futuras
métodos com conceito...
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ápi...
código hadoooouuuken!!
code smells - fique atento a eles
comentários pobres,
obsoletos ou redundantes
métodos mortos ou que
fazem muita coisa
cód...
mantenha sempre sua cozinha limpa!
regra do escoteiro
deixe a areá do acampamento mais limpa do que
como você encontrou.
manifesto para desenvolvimento ágil de software
www.agilemanifest.com
manifesto para o artesanato de software
manifesto.softwarecraftsmanship.org
lucas boeing scarduelli / @lucasscarduelli
Perguntas?
O que é ser um bom programador?
Upcoming SlideShare
Loading in …5
×

O que é ser um bom programador?

1,397 views

Published on

Você quer saber o que é ser um bom programador?

Published in: Software

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?

×