Archive for category cotidiano
toda empresa tem um mijão
Posted by fabio.massa in cotidiano on July 28, 2009
Depois de passar por 3 empresas diferentes, percebi que é muito comum tem um “mijão” na empresa, não que eu faço algum tipo de anotação ou coisa do tipo, mas não tem como deixar de notar uma poça de “mijo” no banheiro.
Além de muito desagradável, acho uma tremenda sacanagem com a pessoa que vai ter que limpar aquela sujeira, por nunca ter trabalhado em uma empresa de grande porte, sempre tive contato com todos funcionários, desde o dono até os faxineiros, por isso talvez me sentia mais frustrado que os demais.
Eu e meus amigos já chegamos até a pregar panfletos com frases do tipo “se não tem mira, senta”, “seu pau é menor do que imagina, chegue mais perto”…mas nunca tivemos o sucesso esperado, as vezes dava a impressão de que o sujeito ao invés de dar as “balançadas” convencionais, ele inovava brincando de pirocóptero ou imaginava que tinha um controle do Wii em suas mãos.
Fico com dó das esposas/namoradas dos “mijões”, pois se não conseguem acertar a privada, como conseguem acertar aquele buraco bem menor?
dica para debugar com o Eclipse
Posted by fabio.massa in cotidiano on July 27, 2009
Antes de começar a escrever, vou contar como tive a idéia de criar esse post.
Alguns dias atrás, um conhecido do fretado me pediu ajuda com um problema que estava enfrentando com JSF, ele estava tentando implementar um método com A4J e não sabia quais propriedades de um binding deveria utilizar, ao me mostrar o código vi vários “System.out.println();” e o questionei, e o mesmo me respondeu que mesmo debugando achava mais fácil imprimir algumas propriedades, segundo ele era mais “rápido”, percebendo sua necessidade lhe apresentei o “Display”, e o mesmo me disse que não conhecia e nenhum dos seus colegas de trabalho utilizava.
Para habilitar essa opção é fácil, vá em: Window -> Show View -> Display irá abrir uma pequena janela ao lado das janelas de opções, como Console, Problemns, Server e etc. Essa opção funciona em modo Debug, você interage quando parar em algum breakpoint, funcionando durante a execução do seu script. Selecione a linha ou trecho de código que deseja executar e aperte o atalho Ctrl + Shift + D , ou copie sua variável para dentro da janela display e a utilize normalmente.
Vejam imagens:

Testando condição

Propriedades da variável (Ctrl + Espaço)
Espero que esse post possa ajudar alguém assim como tem me ajudado, essa dica quem me passou foi o Jonas da Caelum, assim como várias teclas de atalhos do Eclipse, as que eu mais uso são essas:
- Alt + Shift + R: refactor
- Alt + Shift + M: extrai uma linha ou várias para um novo método
- Ctrl + Alt + Seta para cima/baixo: copia seu código para cima ou para baixo
- Alt + Seta para cima/baixo: movimenta seu código para cima ou para baixo
- Alt + Shift + X: leque de opções para execução, teste junit por exemplo é: Alt + Shift + X + T (esse é legal de se fazer)
- Ctrl + 1: sugestões (essa acho que todo mundo conhece)
- Ctrl + Espaço (nem preciso falar né?)
- Ctrl + 3: acho que to apelando…tá bom
Não quero mostrar que sei algumas teclas de atalho do Eclipse, só quero passar o que me ensinaram, pois acredito que os atalhos nos deixam mais produtivos; tenho um bom mouse, mas quanto menos eu pegar nele melhor ![]()
Desculpem me se não ficou muito claro, qualquer dúvida podem me enviar e-mail, deixar um comentário ou twittar.
impressões sobre code monkeys
Posted by fabio.massa in cotidiano on July 13, 2009
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
quando a programação em par da resultado
Posted by fabio.massa in cotidiano on July 8, 2009
Dois dias atrás (06/07) recebi um e-mail de uma pessoa com quem dividia a mesma baia na empresa que trabalhava, dizendo que estava super contente pois nos últimos dias se saiu muito bem com suas tarefas, nada melhor do que ter confiança em si mesmo. Eu sei bem o que é isso.
Fiquei muito contente ao receber essa notícia, em parte tive uma pequena participação em sua evolução, passei algumas horas com ela no pair programming, aliás, ela não pode reclamar, pois teve como par 3 diferentes consultores da Caelum por algumas semanas (Rafael, Jonas e Diego), além disso agora ela está ajudando outro desenvolvedor da equipe (repararam no ciclo?), bom né?, eu diria ótimo!. Torço para que ela continue assim, e como diz meu caro amigo blogueiro e twitteiro Rafael Ponte “só melhoria continua salva”.
Esse post é pra você Inah, espero que não se acomode e nem pare de estudar…e para de ficar implicando com outros funcionários da empresa
e deixa o Phillip ouvir o radinho dele sossegado, é bem melhor que ficar ouvindo ele cantando
primeira semana no meu novo emprego
Posted by fabio.massa in cotidiano on June 22, 2009
Para quem não sabe, dia 10 me desliguei da empresa que trabalhava, não tinha nenhum problema relativo ao trabalho ou relacionamento, meu único problema era a distância, estava chegando atrasado quase todos os dias e para não perder meu fretado tinha que sair antes de todo mundo, e isso me incomodava além de começar a ficar desgastante.
Essa segunda dei início ao meu novo trabalho, agora mais perto de casa, antes acordava as 4:30 e agora posso me levantar com folga as 7 da manhã, fora que chego bem mais cedo em casa também e isso tem feito muita diferença. Antes trabalhava preocupado com o horário, pois se eu perdesse meu fretado era um caos até chegar em casa, agora estou livre dessa preocupação, aliás a única que tenho agora é com o serviço de fato.
Ainda é cedo para falar, uma semana apenas, mas fui muito bem recepcionado pela equipe toda, não sei quais são as expectativas que têem sob mim, mas com mais tempo livre quero me dedicar mais aos estudos e não quero causar nenhuma má impressão pelo menos até o final do contrato que são de 6 meses apenas.
Ano que vem talvez volte para sampa, mas agora que já senti o gosto de trabalhar próxima a minha casa, será difícil querer voltar a levantar de madrugada para pegar o fretado, bom, até o final do ano tem tempo e muita coisa pode mudar, e espero que possa ficar ainda melhor.
evolução dos códigos
Posted by fabio.massa in cotidiano on May 29, 2009
Nossa que fod*, faz mais de 1 mês desde que escrevi meu último post, não pensava que fazia tanto tempo assim, então vou escrever um bem curto, sobre um acontecimento da semana que me fez lembrar de algumas coisas.
Não faz muito tempo que desenvolvo sistemas em java, se não me falha a memória pouco mais de 1 ano, comecei da forma errada e há pouco estou corrigindo (falha grave por sinal). Essa semana ao iniciar a refatoração de um dos primeiros managed-bean que eu “codei” com JSF, me lembrei de uma frase do Paulo Silveira da Caelum, na época estavamos em um treinamento e ele nos disse +- assim: “…quando você olhar um código antigo seu e perceber que está ruim, é um bom sinal, é um sinal de que você evoluiu…” e não é que me ocorreu isso!?, parece pouco mas na hora fiquei contente, isso claro, depois de ter pensado: “que merda de código é esse?”.
É isso aí, acredito que a evolução dos nossos códigos devem ser constantes e parar com aquele pensamento de: “não mexer no que está funcionando” e mudar para: “o que está funcionando pode ser melhorado”.
final do terceiro sprint
Posted by fabio.massa in cotidiano, scrum on April 23, 2009
Hoje finalizamos nosso terceiro sprint e apresentamos todas as estórias, já está virando um “costume” e [otimismo]espero que continue assim.[/otimismo]
Esse sprint assim como os anteriores, teve a duração de duas semanas, porém, contamos com a ajuda do Diego “Harry” e o Rafael “Rômulo” apenas na metade do sprint, por um lado foi super positivo, conseguimos dar continuidade na efetivação das estórias não deixando o sprint atrasar, para falar a verdade, até pegamos outras tasks. Amanhã subiremos a nova versão, a “cara” continua a mesma, mas mudou muito a ponto de nos deixar preocupados. Torçam por nós. Vou acender uma vela para Nossa Senhora da Bicicréta.
Nossa atual velocidade
Até esse sprint sabíamos nossa velocidade, para o próximo será tudo diferente, pois reduzimos a equipe pela metade…é, perdemos um membro do time o que nos deixou chateados, já que nossa velocidade irá reduzir sabe lá quanto. Até uma semana atrás éramos em 6, hoje somos 3 e semana que vem um membro do time irá fazer uma cirurgia para troca de sexo no dedão do pé, então, ficaremos em apenas 2 por alguns dias…
Pós e Contras
- Paginação sob demanda, deu trabalho para o Rafael! (ponto positivo++).
- Percebi que um membro do time a equipe está se sentindo mais encomodada com códigos que podem ser refatorados (ponto positivo).
- Não vi ninguém com cara de bunda nas daily meetings êêê!!! (ponto positivo).
- Pela primeira vez pegamos tasks que não estavam no sprint (ponto positivo).
- Mais um wizard foi feito utilizando o SWF (ponto positivo).
- API’s atualizadas para novas versões sem stress nenhum (ponto positivo).
Deve ter algum ponto negativo mas não me veio nada na cabeça agora…
Aproveito e agradeço ao Diego e Rafael que nos ajudaram por um bom tempo, nos deixaram muitas lições além de nos divertir também, uma coisa que notei desde o Jonas, Lucas CS e o Anderson da Caelum que foram os primeiros consultores que tivemos contato na empresa, podemos ser bons sem ser arrogantes e podemos ser bons sem desdenhar de ninguém por isso. Falo isso pois já passaram umas “peças” na empresa que…bom, isso fica para outro post, com o título: “como trabalhar com um merda”…ou algo do tipo.
Finalizo o post com um link bastante interessante, sugerido pelo Rafael, se esse link não ti causa mais nenhum transtorno ou ja perdeu a graça, entre no pai Google e busque por “lemon party” …depois busque por imagens se tiver coragem hehehe
final do segundo sprint
Posted by fabio.massa in agile, cotidiano, scrum on April 4, 2009
Finalizamos ontem nosso segundo sprint e assim como o primeiro, conseguimos mostrar todas as histórias para o PO. Podemos dizer que tivemos uma pequena vantagem sob o primeiro sprint, já tinhamos em mãos os pontos que acertamos e os que pecamos, então, teoricamente deveríamos manter os pontos positivos e eliminarmos os negativos.
Pós e Contras
- Apresentamos tudo, nenhum história/tarefa sumiu (ponto positivo).
- Integração do Spring Web Flow + JSF em uma história que precisava de um “wizard” (ponto positivo).
- Surgiram alguns problemas com a versão do sistema que está em produção, e a pedido parte do time trabalhou em um domingo. As correções eram necessárias, não teria como deixar para o próximo sprint, só leva o ponto negativo porque essa semana ficou mais longa (ponto negativo).
- O “Harry” da Caelum entrou para o time (ponto positivo).
- Código que está funcionando pode melhorar! Temos que deixar de ser acomodados! (ponto negativo).
- Pontuação das histórias e horas estimadas de cada tarefa foram melhores estimadas (ponto positivo).
- O “espírito de porco” influenciado por algum problema pessoal, parece que está rondando um membro do time, isso pode comprometer nosso próximo sprint dependendo de quão podre está essa maçã (ponto negativo).
- Pensei que o time se preocuparia mais com refatoração e testes e não foi isso que percebi (ponto negativo).
- Criação de tags no SVN (ponto positivo).
- Integração com sistema de geração de boleto da Locaweb (ponto positivo).
Finalizando, a sensação de terminar outro sprint e apresentar tudo é excelente, novamente não ouvimos nada que pudesse originar algum desconforto, tudo dependia apenas do time. Sendo sincero, estou um pouco cansado após 2 sprints, gostaria muito que segunda-feira pudessemos esquecer um pouco das histórias do product backlog e termos nosso “lab day“(inspirado pelo Google, claro!) como dito no livro “Scrum and XP from the Trenches” escrito por Henrik Kniberg. Até a próxima!
sprint quase perfeito
Posted by fabio.massa in cotidiano, scrum on March 21, 2009
Como prometido, estou aqui prestando “contas”!, hoje terminamos o nosso primeiro sprint e como dito na restrospectiva pelo nosso Scrum Master: “faltou pouco para ser perfeito”.
Pós e Contras
- Deveríamos ter parado o desenvolvimento ontem e ter apresentado tudo hoje pela manhã, porém, não conseguimos marcar a sala de reuniões para esse horário, adiando para o final da tarde, então “alguns” ajustes foram feitos (ponto negativo).
- Pela primeira vez apresentamos TUDO!, dessa vez não ficou faltando NADA! (ponto positivo). No início estavamos tão otimistas que achavamos que sobraria tempo para pegar uma nova história ou”gastar” mais tempo refatorando, mas não foi possível.
- Mesmo com a “brigada de incêndio” tivemos que apagar algumas “chamas”, talvez se tivessemos respeitado a ordem de não apaga-los, poderia ter sido perfeito. (ponto negativo)
- A equipe se comportou bem, não vi ninguém com cara de bunda desmotivado em nenhum daily meeting (ponto positivo).
- Mesmo falando exaustivamente sobre testes e refatoração, não percebi que essas práticas aumentaram por parte da nossa equipe (muito negativo).
- Subestimamos o número de horas de algumas tasks, algumas foram terminadas dentro do prazo, já outras atrasaram muito (ponto negativo).
- Não sei porque, mas dessa vez não houvimos nenhuma cobrança como houviamos no passado, sim, cobranças fazem parte e ajudam/estimulam quando são saudáveis, quando ocorre o oposto, pode acabar com o dia de um desenvolvedor facilmente (muito, muito positivo)
Esses são os pós e contras que me veio a memória, ah esqueci de mencionar nosso almoço, fomos ao costela 30 horas comemorar, que maravilha!
Bom é isso, essas duas semanas foram cansativas, mas continuo feliz e entusiasmado, que venham os próximos sprints…agora deixa eu durmir que amanhã é dia de paintball! Let’s paint?
um sprint de verdade
Posted by fabio.massa in cotidiano, scrum on March 12, 2009
Essa semana demos início a um novo sprint, dessa vez em especial estou mais estusiasmado e otimista, isso se deve por alguns motivos:
- Scrum Master: podemos contar agora com um Scrum Master certificado, tenho certeza que daqui para frente os erros tendem a diminuir naturalmente, além disso, agora está claro que ou seguimos o Scrum da forma correta ou entraremos para lista dos que seguem o “scrum-butt”. “Independente da metodologia, acho que passou da hora de sairmos da caverna”.
- Brigada de incêncio: sim caro amigo, agora nosso time pode manter-se focado por mais tempo nas tarefas, pela primeira vez, contamos com uma brigada de incêncio, a princípio pode parecer pouco, até mesmo mal uso de um membro do time, mas isso gera um conforto a mais, visto que nosso “produto” está em fase de amadurecimento. Acredito que deixar um membro do time na “brigada” não implica que ele só ficará responsável por isso, quando não existir “fogo”, ele pode muito bem contribuir de outra forma, como ajudar no desenvolvimento de novas tarefas e/ou testando-as.
- Ajuda Profissional: quando eu digo profissional, é profissional mesmo! mais uma vez podemos contar com os profissionais da Caelum, contamos com o Lucas CS no sprint, que nos ajudou desde a pontuação das tarefas como na decisão das prioridades….transmitiu muita segurança de que estamos indo em direção ao caminho certo.
- Desenvolvimento: cada profissional da Caelum que passa por nós deixa muitos ensinamentos(muitos mesmo), seja um atalho novo do eclipse, uma boa prática a ser seguida e etc, cabe a cada um de nós absovermos o máximo possível…hummm acho que vou deixar isso para um próximo post
Você deve estar pensado: “há, se esse japonês pensa que só porque tem um scrum master certificado as coisas vão caminhar melhor, está muito enganado, ele vai ver só!” não, não amiguinho, sei muito bem que isso não evitará possíveis falhas e/ou desentendimentos, mas lembra da minha primeira frase?, estou sendo apenas otimista, não desejo não entregar nada no final do sprint, ter uma tarefa feita dando pau, outra que apenas começou, outras sem mexer e várias caras feias, desejo que esse seja um sprint de verdade do começo ao fim. Não peço que torçam por nós, não secar e tirar o olho gordo de cima já basta
Prometo escrever outro post contando o final desse sprint, assim como os pós e contras.
Recent Comments