Para escrever esse post me inspirei e tive ajuda de um grande amigo, dividi minha baia com ele por quase 2 anos e com certeza aprendi muito, discutimos inumeras vezes o que é normal, já que ninguém pensa da mesma forma, mas sempre soubemos separar o profissional do pessoal. Além de ser super auto-didata, era um grande defensor do código elegante e sempre que se deparava com algum código mal escrito, fazia questão de dizer sobre, sempre autêntico nessas horas, porém, sempre depois da critiva ele sugeria algo melhor ou na maioria das vezes a maneira correta de se fazer.
Ele sempre dizia sobre “code-monkey” e pedi para ele explicar com suas próprias palavras:
“Bom, pra explicar o que é um code monkey para mim, tenho que falar da teoria dos macacos infinitos. Existe uma teoria que diz que se colocarmos infinitos macacos com infinitas máquinas de escrever com tempo infinito, em algum momento eles vão escrever a obra de Shakespeare completa! XD Tem uma prova matemática até lá na Wikipedia http://pt.wikipedia.org/wiki/Teorema_do_macaco_infinito e para mim um code monkey é tipo isso mas ele escreve código. O cara senta lá, bate no teclado e acontece de a combinação das teclas que ele apertou acabar em um código de computadores, ele não sabe por que funciona, como funciona e nem como fazer funcionar de novo. O cara senta e produz código. Um programador de verdade tem que saber o mínimo de arquitetura e design de sistemas de computadores, ele tem que saber fazer funcionar e fazer bonito! Só fazer funcionar qualquer code monkey faz, o papel de um programador é fazer funcionar bonito!”
por Michael Kuhinika
Não quero dizer que um iniciante por exemplo deve saber tudo, mas sou totalmente contra ao famoso Ctrl+C e Ctrl+V o que é muito comum de se ver, mais comum ainda é os programadores que antes de tentar entender o problema, recorrem ao Google e/ou fóruns como o GUJ por exemplo, e na maioria dos casos não sou a favor do “reescrever a roda”, mas o que eu sempre digo é para tentarem entender o problema ou pelo menos tentarem entender o que o código “copiado” faz. Ja testemunhei um caso cômico de uma classe “clonada” e que o programador disse ter feito, mas de tão “esperto” esqueceu de tirar o cabeçalho do javadoc que tinha o nome, e-mail e site do verdadeiro autor, comédia né?
O método de “tentativa e erro” é uma grande característica do code-monkey, ele nem faz idéia do que está digitando, ele só espera que em alguma hora de alguma forma apareça o “Hello World” na tela, costuma dar refresh para ver se o erro desaparece e na maioria da vezes diz que “debugar” é chato, e quando debuga utiliza-se da técnica do System.out.println(“passou aqui”);
Vocês podem estar pensando que quero me gabar de alguma coisa, mas não é esse o propósito, fui um code monkey em um passado não muito distante e foi esse grande amigo que me fez mudar, tive sorte de tê-lo por perto para mudar a tempo e tomara que consiga mudar a maneira de algumas pessoas pensarem com esse post(tá bom, acho que estou pretencioso de mais), para quem não me conhece pode até parecer que sou um cara difícil de se lidar, mas não é verdade, sobrariam dedos na mão do Lula se eu contasse quantas inamizades eu criei até hoje em todas as empresas que passei. Esse é outro post sobre meu cotidiano e em agradecimento a outro amigo, Michael Kuhinika, que além de ótimo programador é outro RPGista, que só troca uma pata de camelo pelo Guitar Hero
#1 by Rafael Ponte on July 13, 2009 - 10:46 am
Insanidade é fazer sempre a mesma coisa, esperando resultado diferente
Ótimo post, parabéns Fábio!
#2 by Handerson Frota on July 13, 2009 - 11:47 am
A freqüência de code-monkeis infelizmente estão cada maior, não sei se pela facilidade de alguns frameworks ou simplesmente porque a turma não gosta de estudar.
Já trabalhei com vários e é sempre complicado você fazer o cara entender que ele precisa entender o que está fazendo, pois muitos só querem “entregar e pronto”.
Mas uma coisa é certa, o mercado vai tirando aos poucos esses caras, pois, ou ele vira um Desenvolvedor de verdade ou ele perde posição e vai ficando cada vez pra trás.
Post bacana cara, parabéns.
#3 by Handerson Frota on July 13, 2009 - 11:48 am
Errata….
“A freqüência de code-monkeis infelizmente está cada vez maior,..”
#4 by fabio.massa on July 13, 2009 - 2:59 pm
@Rafael Ponte Boa colocação Rafael, como sempre!
@Handerson Frota o problema fica maior quando code monkeys não estão abertos para aprender, são teimosos e não admitem que não sabem, resumindo-se em CRUDS e mais CRUDS, quando surge um problema novo eles encalham.
Agradeço pelos comentários!
#5 by Michael on July 13, 2009 - 3:11 pm
Fala Massa!
Fico muito feliz mesmo de ter te ajudado a sair da macaquice de código! =D
Ainda encontro muitos macacos de código por aí, as vezes pego uns que tenho que tomar um dramin pra não vomitar quando leio! =x
E, cara, dependendo da pata do camelo ainda prefiro guitar hero! XD
Abraços! o/
#6 by fabio.massa on July 13, 2009 - 3:23 pm
@Michael verdade, as vezes é melhor Guitar Hero! Um dia ainda quero voltar a trabalhar com você, seja como for ou quando for. Sinto falta das nossas conversas no café, ou melhor, das besteiras que falavamos. Abraços!
#7 by INAH on July 14, 2009 - 11:33 am
A carapuça serviu!!! OUCH!!!heheheheeheh
#8 by INAH on July 14, 2009 - 11:40 am
Menos a parte “o problema fica maior quando code monkeys não estão abertos para aprender, são teimosos e não admitem que não sabem(…)” e a parte que debugar eh chato!!! hehehehe
Mas to melhorando Massinhaaaaaaaaa NO CODE MONKEYS!
#9 by fabio.massa on July 14, 2009 - 2:48 pm
@Inah sim, ninguém nasce o “fodão” e não há nenhum programador em atividade que não aprenda algo de novo, pode até ter sim na verdade, o programador rico que não dependa mais da sua carreira. Bjo,
#10 by Fabio Serra on July 22, 2009 - 1:15 am
Eae Fabio Massa!!
Excelente post kra! Parabéns!
Creio que a programação em par ajude a evitar isso, não acha?
A pessoa sai daquela zona de conforto e tem que mostrar trabalho ou pelo menos absorver conhecimento dos outros, sempre aprendendo. Não fazendo isso, a equipe, se for razoavelmente experiente, tende a identificar e até eliminar (não no sentido de matar huahau), em último caso, a pessoa.
Abraço!
#11 by fabio.massa on July 22, 2009 - 9:56 am
@Fabio Serra verdade Serra, você me fez lembrar de outro sintoma, code monkeys não gostam de pair programming, na maioria das vezes com a desculpa de que não gostam de programar com alguém olhando…rs… agradeço pelo comentário, abraços.