Brasil

Bem-Vindo

Rafael Lima Eu sou Rafael Lima, administrador focado em gestão de desenvolvimento de software e desenvolvedor desde 1997. Gosto de trabalhar com empreendedorismo focado em inovação.

Hoje eu trabalho gerenciando equipes e gerando informação para investidores em tecnologia.

07 março 2010 ~ Deixe seu comentário »

Definição de Metas e Prioridades

Em resposta ao Tweete do Alan, resolvi publicar este post.

Após ter feito o Empretec, eu mudei bastante meu comportamento. Como o Fábio Seixas me disse ontem, no Circuito 4×1, o Empretec é um divisor de águas. Eu concordo plenamente.

No Empretec estudamos as CCEs (Característica do Comportamento Empreendedor). Uma CCE fraca em mim era o Estabelecimento de Metas. Estou melhorando. Defini minhas metas e estou trabalhando para alcançá-las. Para isso tenho algumas tarefas que estão devidamente priorizadas.

Escrever no blog é algo que acho muito importante, mas para o que estou buscando agora, existem outras tarefas mais importantes. Por conta disso meu blog está sem atualizações há um bom tempo.

Espero ter esclarecido a questão e posso adiantar que quando voltar, estarei acelerado.

Abraço e até a próxima.

Tags: ,

22 dezembro 2009 ~ 3 Comentários, deixe o seu »

Programador lento

Na Myfreecomm temos alguns programadores lentos, graças a Deus. Conversando sobre isso com o Henrique, ele disse que merecia um post. Atendendo a pedidos, aí está.

Depois de bastante tempo sem programar, eu passei dois dias escrevendo um pequeno sistema para integrar a parte de pagamento de uma aplicação com o Paypal.

O fato de ter voltado a programar, depois de mais de um ano apenas gerenciando projetos e equipes, e estudando metodologias ágeis, me fez optar por escrever uma aplicação 100% testada, em Ruby, utilizando Sinatra. Gostaria de aproveitar para agradecer o Rafael Souza que me ajudou bastante no início.

A escolha de Ruby (ao invés de Python por exempo) e Sinatra (ao invés de Rails por exemplo), não importa. O que importa é que eu poderia fazer tudo “scriptado” (aka cuspido), mas achei que não deveria. O primeiro motivo é que se trata de um middleware para um processo crítico que não pode falhar, o pagamento. Segundo, por que na minha cabeça não fazia sentido cuspir um código e fazer funcionar o mais rápido possível.

Isso me fez pensar sobre o paradoxo da qualidade x velocidade. A conclusão que tirei das minhas reflexões é que os programadores que se dizem lentos, na verdade não são lentos.

Para você dizer que alguém é lento, você tem que comparar com outra pessoa. Lentidão é relativo. Você não é lento e ponto final, você pode ser lento se comparado com outras pessoas.

Minha conclusão foi que na verdade o “programador lento” faz as coisas no tempo em que elas realmente precisam para serem feitas da maneira que funciona. Na verdade, os outros que são rápidos de mais. Adianta ser rápido e ter bug?

Analisando sob essa ótica, e considerando a premissa de que a maioria das pessoas (rápidas) fazem errado, vide relatório Chaos Report do Standish Group, posso dizer que programadores lentos são bem-vindos.

Hoje, eu vejo essa característica como um sintoma de que ele programa com boas práticas e com o cuidado necessário para o software funcionar.

No final da conversa eu disse para o Henrique: “Se em uma entrevista de emprego, um programador me diz que é lento, eu vou vê-lo com bons olhos”.

Abraço e até a próxima.

17 dezembro 2009 ~ 1 Comentário, deixe o seu »

A procura da batida perfeita – Parte 1

Na minha última palestra, no Ceará On Rails, eu tive que preparar tudo de um dia para o outro e não pude organizar melhor as idéias colocadas nos slides. Em um deles eu escrevi “A procura da batida perfeita”, no momento que eu ia falar sobre as características de uma aplicação web ideal, da maneira que eu busco.

De lá pra cá eu venho pensando sobre o termo “batida perfeita” e relacionando com os acontecimentos do dia-a-dia na minha vida.

Então me veio a pergunta: Qual seria a batida perfeita para a gestão de uma empresa de desenvolvimento de software?

Antes de responder, é bom lembrar que a batida perfeita é aquela que dá gosto de ouvir.

Respondendo a pergunta acima, na minha opinião, a batida perfeita para gestão em software, envolve em parte o seguinte:

Utilização de metodologias ágeis

Se eu pudesse dar uma só dica sobre o futuro, seria esta: use metodologia ágeis
Os benefícios a longo prazo do uso de metodologias ágeis estão provados e comprovados pela ciência; já o resto de meus conselhos não tem outra base confiável além de minha própria experiência errante.

As metodologias ágeis começaram a ter força no Brasil, neste ano de 2009. O Scrum, Lean, Kanban, XP foram as filosofias e metodologias mais faladas entre os Brasileiros. Eu estou convicto de que o agile, como é chamado pelos íntimos, é mais eficiente que as metodologias adotadas atualmente, assim como sou convicto que haverá metodologias melhores no futuro próximo. O legal é que o agile já é o primeiro passo para se aceitar mudanças com velocidade.

Fixar qualidade, negociar escopo. Preço e prazo são consequência
É muito importante que você fixe a qualidade do serviço, seja para clientes externos ou clientes internos. Negociar o escopo é chave para o sucesso de projetos de desenvolvimento de software, pois assim fica garantido que o que foi feito vai funcionar, que é um dos maiores problemas neste setor.

Entendimento do perfil do desenvolvedor
Em geral, o desenvolvedor é um funcionário um pouco diferente dos demais. Um amigo meu já disse uma vez “É mais fácil tocar uma indústria com 600 funcionários do que uma empresa de software com 10”. É claro que não passa de uma opinião, mas o que ele queria dizer é que desenvolvedores são problemáticos.

O primeiro problema que deixa qualquer gestor neurótico é o horário. Difícil fazer o Daily Meeting no horário todos os dias, não é mesmo!?

Confiar no desenvolvedor é importante, principalmente nos prazos dados. É sério, eles sabem dar prazos. Os gestores que não sabemos aceitar.

Escolha de uma tecnologia para trabalhar
Escolher um ambiente e as tecnologias para as soluções que serão desenvolvidas é indispensável. Pequenas empresas principalmente precisam fazer uma escolha e segui-la.

As opções são inúmeras, dentre elas temos: software desktop, software para Windows, aplicações para mainframe, sistemas web na plataforma Windows, sistemas Ruby on Rails, etc. Perceba que não existe um critério, você pode deixar mais abrangente dizendo desktop x web ou especificar que será só pra Windows ou usando o framework X.

Embora não seja aconselhável você se prender a uma tecnlogia, quanto mais você especificar com o que deseja trabalhar, é melhor para evitar ficar perdido e gastar energia com falsas oportunidades.

Estes foram apenas quatro pontos que estavam na minha cabeça e resolvi colocar em um post. A batida perfeita não pára por aí evidentemente. Muitos outros fatores são relevantes, inclusive aqueles que dizem respeito à programação em si.

Havendo oportunidades escreverei sobre abatida perfeita para desenvolvimento de código de programação e fatalmente falarei sobre os tópicos abaixo:

Framework, Programação orientada a testes (TDD), Deployment automatizado, Integração contínua, Controle de versão distribuído, Definição de um Commit Pattern, Ambiente de Staging, etc.

Conforme eu for descobrindo características importantes, vou escrevendo aqui. Por enquanto é só.

Abraço e até a próxima

06 dezembro 2009 ~ 4 Comentários, deixe o seu »

Empretec, eu fiz!

Mesmo que você não tenha feito o Empretec, pode ler este post, pois não revelo nada sobre a metodologia.

Uma semana se passou do seminário Empretec que participei e meu ritmo continua acelerado. Quem me acompanha no Twitter já sabe que eu fiz o Empretec e ficou sabendo da minha evolução.

Segundo a definição do Sebrae, realizador do Empretec no Brasil, o EMPRETEC é um seminário que tem por objetivo desenvolver, nos participantes, características de comportamentos empreendedores. O programa foi desenvolvido pela ONU – Organização das Nações Unidas visando o fortalecimento destas características empreendedoras. O participante deverá primeiro identificar seu potencial empreendedor e verificar quais são seus pontos fortes e fracos.

Eu não posso falar sobre o seminário em si, todos os participantes assinam um termo de compromisso de sigilo sobre a metodologia e além disso, falar o que acontece, estragaria por completo o seminário para você, caso queira fazer.

O que eu posso dizer é que, se você busca empreender, seja na empresa onde trabalha ou com sua(s) própria(s) empresa(s), faça o Empretec!

Este seminário é uma oportunidade ímpar de você crescer e entender todos os seus pontos fracos e fortes como empreendedor. Eu já me conhecia bastante, isso ficou evidente pra mim durante o seminário, mas se conhecer não basta, eu precisava de um empurrãozinho para mudar meu comportamento na prática.

Durante o seminário recebi alguns feedbacks positivos e depois dele, já tive algumas reuniões em que me disseram que eu parecia ser “um outro Rafael”.

Se você deseja fazer o Empretec, seguem algumas dicas:

  • Prepare-se, escolha uma data que você não tenha compromissos e que você possa ter o tempo livre;
  • Pense bem antes de se inscrever, o Empretec só pode ser feito uma vez na vida e depois de iniciar você não pode voltar atrás;
  • Escolha um Sebrae perto da sua casa ou arrume um lugar para ficar durante o seminário, próximo do Sebrae (eu fiz isso e foi fundamental);
  • Converse com marido, esposa e filhos antes de começar para deixar bem claro que você não poderá dar a atenção que eles merecem durante o seminário;
  • Deixe bem claro na empresa onde trabalha, que você não estará disponível neste período e que poderá resolver qualquer problema somente após retornar;
  • Se possível, marque suas férias no período do Empretec de forma que você tenha tempo livre após o seminário para descançar e refletir sobre sua vida.

Eu estou muito feliz de ter feito o Empretec neste momento da minha vida e de ter aproveitado bastante. Particularmente, eu finalizei com uma sensação de dever cumprido. Foi uma sensação que eu vou lembrar pro resto da vida.

Eu agradeço esse momento aos meus pais que, pela educação que me deram, possibilitaram que eu chegasse aonde estou, aos dois principais facilitadores, Almeirão e Joaquim, que me fizeram parar para refletir me dizendo a coisa certa no momento certo, aos facilitadores Mauro, Francisco e Carloman, que me passaram diversas informações úteis e me ajudaram bastante durante o seminário e por fim, a todos os empretecos da minha turma, pois seus exemplos foram fundamentais para meu aprendizado.

Agora é olhar pra frente e colocar em prática tudo que aprendemos e vivenciamos.

Um abraço e até a próxima.

07 novembro 2009 ~ 4 Comentários, deixe o seu »

Bootstrapping de Aplicações Web no Ceará on Rails 2009

Esses últimos três dias foram muito loucos pra mim. Uma sequência de acontecimentos resultou em um final de semana bem interessante, pelo menos até agora.

Tudo começou quando eu coloquei no ar, na noite de quinta-feira (05/11/09), o site do Cobre Grátis, uma nova aplicação web que estou lançando. Na sexta-feira de manhã o Tapajós me ligou dizendo que teve um problema pessoal e que não poderia realizar a palestra sobre CouchDB no Ceará On Rails e me perguntando se eu gostaria de ir no lugar dele.

Eu gostaria de agradecer imensamente ao Tapa por ter lembrado de mim e ter feito o convite. Gostaria também de deixar um grande abraço e vibração positiva para que fique tudo bem em relação ao problema que ele teve.

Voltando ao dia de sexta-feira, depois de alguns telefonemas, fechamos a minha vinda para o Ceará On Rails por volta das 12:00h. A partir daí foi uma loucura. Depois do dia de trabalho normal na Myfreecomm, fui pra casa me arrumar e ir para o aeroporto. Meu voô era 1:25h da manhã de sábado.

Quando estava com a mala arrumada e sentei para começar a pensar na palestra, faltavam 30 minutos para eu sair de casa e ir para o aeroporto. É claro que não deu pra fazer nada!

Chegando no aeroporto fiz o check-in e comecei a preparar a palestra, foram duas horas, com uma pequena interrupção para um doido que pediu para comprar uma passagem pela internet no meu laptop.

Fiz o que pude até a hora do embarque, por volta das 2:00h da manhã. Cheguei no hotel em Natal umas 5:00h e fui dormir. No dia seguinte acordei por volta das 8:00h e fui fazendo a palestra nos momentos que davam até o último minuto, literalmente.

[...]