Uma breve resenha sobre o livro "The Clean Coder" (O Codificador Limpo) escrito por Robert C. Martin (Uncle Bob). Vamos abordar alguns dos pontos destacados pelo autor sobre a postura "profissional" de um desenvolvedor de software.
7. Como ser um ‘profissional’ no
desenvolvimento de código
Rafael A Pacheco
8.
9. ...wikipedia
[...] resenha é uma abordagem que se propõe a construção de
relações entre as propriedades de um objeto analisado,
descrevendo-o e enumerando aspectos considerados
relevantes sobre ele.
O objeto resenhado pode ser de qualquer natureza: um livro,
um filme, um álbum ou mesmo um jogo de futebol. Uma
resenha pode ser "descritiva" e/ou "crítica"
16. 4 Conheça e seja bom na sua área...
1 – Desenhar padrões: Ser capaz de descrever todos os 24 padrões do livro GOF
conhecer muitos padrões do livro POSA
2 – Desenhar princípios: Conhecer e ter bom entendimento dos princípios SOLID
3 – Métodos: Entenda XP, SCRUM, LEAN, KAMBAM e WATERFALL
4 – Disciplinas: Você deve praticar TDD, Integração Contínua, Pair Programming,
Code Review e Dojos
5 – Artefatos: Deve saber como Construir e interpretar Diagramas, Gráficos de
Fluxos e documentações
Lista mínima das coisas que devemos ser proeficiente:
17. 5 Comprometimento...
DIGA NÃO DIGA SIM
Faça o seu melhor, na condição que se tem, enquanto não se tem uma
condição melhor. Fuja da mediocridade!
Não faça o que pode, faça seu melhor!!!
24. Rafael A Pacheco
Aspirante a profissional de software
www.ravpacheco.com
@ravpachecco
ravpacheco@gmail.com
rafaelpa@takenet.com.br
Notas do Editor
Estrela (rocha) no céu com cerca de 4.5 bilhoes de anos
Além de impactar em nosssas marés, nos fornecer belas imagens e gerar eclipses a lua sempre foi gatilho para nossa imaginação tanto que não descansamos até que em 1969 Neil Armstrong pisou na lua em sua nave Apolo XI
Essa teoria é parecida com a teoria de formação das luas de marte (Phobos e Deimos). Entretanto ela não é muito aceita porque se a lua fosse realmente algum pedaço de meteorito (asteróide) perdido no espaço muito dificilmente teria uma similaridade tão grande com nosso planeta
Essa teoria diz que sejá lá de onde veio a terra ou a lua (seja do big bang ou do jardim do édem) elas vieram de um ponto inical próximo e por isso estão juntas e são parecidas. Mas essa teoria não foi muito aceita
Segundo a teoria a terra estava girando tão rápido em sua juventude que ejetou uma quantidade suficiente de materiais de seu manto no espaço dando origem a lua
Esta teoria é interessante porque é comprovadamente verdade que a superficie da lua é muito parecida com a superficies terrestre contendo grande parte dos mesmos elementos que vemos aqui.
Entretanto ela não explica porque a lua é bem menos densa que a terra e porque seu interior não é formado de ferro como a terra
Até que em 1975 chegamos na teoria do grande impacto que é uma das teorias mais aceitas. Ela explica muitas coisas inclusive a similaridade entre os elementos presentes na lua e os elementos presentes na terra
Teoria aceita até então:
À 4.5 bilhoes de anos atras um objeto (protoplaneta) do tamanho de marte e de nome Theia se chocou com a Terra e dessa colisão épica ejetaram-se partes que juntas deram origem a lua.
Logo:
Não preciso reescrever o que está no livro
Não preciso necessariamente concordar com tudo que o autor disse
Isso não é spoiler...
Leia o livro se achar interessante
Mais de 40 anos de experiência é sempre um aprendizado... Sabe quando vc senta com seu avô e ele começa a te explicar uma porrada de coisa antiga e várias coisas começam a fazer sentido ?
É mais ou menos isso. Vc começa a ver o nível microscópio dos problemas de antigamente e começa a valorizar as coisas que se tem hoje. Cara pq não usar versionamento de código, pq não fazer teste ? E por ai vai
Vc começa a ficar com vergonha de não usar, porra o cara já fez o trabalho mais difícil que é fazer a parada vc tem q ser muito estranho em não usar... Vc só precisa usar e entender a linha de raciocionio do cara... É meio que um desafio moral vc utilizar as melhores ferramentas
Sua carreira é sua responsabilidade... SUA (não é do seu empregador)
Ele pode estar disposto a comprar livros pra vc pagar treinamentos e conferencias pra vc e isso é ótimo mas é preciso lembrar que eles estão te fazendo um favor.... A obrigação é SUA... é sua responsabilidade
Ele pode também estar disposto a disponibilizar horas pra vc aprender e isso também é ótimo mas mais uma vez é preciso lembrar que eles estão te fazendo um favor.... A obrigação é SUA... é sua responsabilidade
Você precisa disponibilizar um tempo SEU para investir em sua carreira... A sugestão é
Uma semana tem 168 horas, dê 40 para o empregador 20 para sua carreira e fique com os outros 108... Vc usa 56 pra dormir e sobre ainda 52 pra o resto
Dar um presente para quem souber a diferença entre uma máquina de Mealy e uma de Moore?
Ou quem souber sob qual algoritmo NP o quicksort é derivado?
Palestra do Mario Sergio
Dojo,
Kata
PairProgramming
Treinar em casa
Meetups/eventos
Não dá pra aprender programação de forma passiva.
Ler ajuda muito no conhecimento teórico, mas a prática é que leva o programador para um nível acima.
É uma violação ética se enclausurar em seu cúbiculo (mesa) e recusar-se a ajudar os outros
Como profissional vc tem o dever moral de ajudar sempre que alguém precisar
Mas não precisa ser o Buda também ... Vc pode precisar de um tempo só seu mas é só deixar isso claro pra todo mundo.
Ajudar não tem nada haver com ser mais ou menos esperto que outra pessoa é só uma questão de perspectiva e as vezes apenas 1 perspectiva pode fazer toda a
diferença
Quando alguém lhe pedir ajuda receba de bom grado não é nenhum demérito ser ajudado ou pedir ajuda, ficar travado agarrado em um problema não
te leva a lugar nenhum.
Por favor, quando alguém lhe oferecer ajuda espere até que ele termine e não fique falando que já sabe... Se vc já sabe pra q ta perguntando ? Seja paciente e espere a pessoa terminar...
Livro, treinamento, estudo pode ajudar mas nada pode ensinar tanto e tão rápido quanto um programador sênior ajudando programadores júniors...
Eu já falei várias vezes isso mas o pouco que eu sei hoje eu devo muito ao Breno, Minelli e Gabriel... Cara é impressionante o quão bom é sugar as coisas
que as pessoas sabem... É fácil e vc aprende mesmo.
Pair programming é excelente mano
Há 2 verdades sobre reuniões:
Reuniões são necessárias
Reuniões desperdiçam tempo
Aprender a recusar reuniões, o bom profissional sabe recusar reuniões que ele não é necessário
Aprender a sair de um reunião que não está produtiva, de forma delicada é óbvio
Café, sono, exercício físico
FOCO (evite
Técnica Pomodoro
Você precisa estar preparado para lidar com pressão... É normal vai acontecer
Mantenha a calma
Siga sempre com seus compromissos
Não entre em pânico...
Comunique quando der merda
Confie nas disciplinas que vc vem treinando a muito tempo
Peça ajuda
No Stress, quando a crise e a pressão passarem vc vai estar mais forte
Depois de tudo isso que nós discutimos sobre ser um profissional no desenvolvimento de software eu queria só retomar a linha de raciocínio da lua.
Que todos nós temos sorte isso já é fato, agora além de ter sorte como nosso tempo aqui é muito curto nada melhor do que tentarmos ser o melhor possível em todas as esferas seja profissional ou pessoal pra pelo menos tentar deixar algo bacana pra quem ainda vai ter sorte no futuro.
Então já que vc vai sair de casa todo dia pra fazer algo penso eu que o melhor seria que vc fizesse o máximo para fazer coisas realmente boas e não apenas o necessário...