Vagas do mês de Julho/2016

Estamos contratando! Veja as vagas em aberto para os times de atendimento e desenvolvimento!

Quem somos?
A uMov.me S.A. é uma empresa com espírito jovem. Somos inovadores por natureza. Pioneiros e uma das maiores referências no país no desenvolvimento de soluções de mobilidade para uso empresarial. Temos, entre nossos clientes, empresas de pequeno, médio e porte, dos mais variados segmentos e regiões do Brasil e do exterior. Nossas soluções fazem com que as equipes de nossos clientes sejam mais eficientes, usando nossos aplicativos em smartphones e tablets para executar suas tarefas de campo.

Veja as vagas e os requisitos!

Continuar lendo

Anúncios

Agilidade no longo prazo! A mudança cultural com Lean!

Eu curto muito falar sobre Lean, um sistema para eliminação sistemática de desperdícios através da melhoria contínua, sempre na perspectiva do cliente. Em parte é um processo para criação de uma cultura de aprendizado.

Falei um pouco sobre a importância de se pensar na cultura organizacional.

Deixo link para o vídeo e para apresentação no slideshare.

#TDC2013: nosso #orgulho e a nossa participação!

Foi uma sexta e sábado de muito orgulho para o nosso time, participando da primeira edição em Porto Alegre (2013) da The Developers Conference.

Permitir a reunião de tantos profissionais a fim de trocar ideias sobre diferentes tecnologias, tendências, marketing, linguagens de programação, web, mobile, enterprise, embeeded, arquiteturas para escalar e muito mais! O importante era trocar experiências e boas práticas, para capacitar, inspirar e ajudar a fazer acontecer!

Tivemos pessoas da nossa equipe participando da coordenação do evento, de coordenações de trilha, como palestrantes e participantes. Ao todo, 16 pessoas da equipe uMov.me ajudaram o TDC 2013 Porto Alegre acontecer! Nosso agradecimento a todos que fizeram o evento acontecer! Foram mais de 700 pessoas que estiveram pelo evento presencialmente ou online.

umovme-tdc

Que venha o #TDC2014!

Reuniões que funcionam. Existe isso?

Meetings are bad?

Eu não posso dizer que adoro reuniões. Só que elas são inevitáveis. Então já que eu tenho que fazer elas de vez em quando, procuro formas de criar um local de aprendizado, onde eu possa unir pessoas que querem juntas resolver problemas. Vontade, restrição de tempo e algumas metas a serem cumpridas durante o tempo da mesma. Simples certo? Para exemplificar o processo que uso, vou contar uma história. Certa vez eu cheguei onde estava o time que estava apoiando, e fiz a pergunta:

Vamos fazer a reunião?

A resposta foi uma pessoa pegando uma térmica de café, outro pegando o jornal e outro indicando que precisava de 5 minutos.

Chegamos na sala, mas o pessoal que estava fazendo uma reunião antes, não tinha terminado ainda. Ao questionar, quem estava na sala indicava que era uma reunião importante. Certo… e porque não se marcou então com mais tempo? Porque? Porque?

1a regra para reuniões que funcionam? Faça elas terem um horário de início e fim. Certos. E se alguém usar a sala por 5mins a mais que o esperado? E se alguém se atrasar 5 minutos? Mantenha a hora de fim da reunião. Ou tome a decisão de remarcar a reunião.

Depois de entrarmos na sala, ficamos esperando a pessoa dos 5mins. Enquanto isto, quem estava com a términa começou a servir café, e quem estava com jornal começou a contar as notícias esportivas do dia. Aqueles 5mins se tornaram 10mins.

2a regra para reuniões que funcionam? Tenha uma definição de início da reunião. Quem são as pessoas que podem tocar os assuntos que serão tratados? Quem são as pessoas que podem tomar decisões? Procure trazer duplas para os assuntos que são decisivos ou tenha pessoas de backup que podem ser acionadas por algum meio de contato, para garantir que a reunião possa acontecer.

Quando a pessoa que faltava chegou, assuntos diversos começaram a aparecer. Pequenas urgências que estavam ocorrendo na empresa. E quem puxava as pequenas urgências fazia questão de indicar que eram assuntos rápidos, que enfim, vamos aproveitar alguns minutos para resolver o tal assunto. Não estava na pauta. Porque não trataram isto fora dali? Mas peraí… que pauta?

3a regra para reuniões que funcionam? Tenha uma pauta/agenda. Tenha uma lista de tópicos. Saiba quanto tempo vai ser dedicado para cada tópico. Seja um facilitador das discussões que precisam acontecer, e avise do tempo que vai ser tratado cada tópico. Qual o objetivo que se busca discutindo o tópico X? E o Y? O tópico está ali para ser aberto, desenvolvido, ou é uma reunião para tomada de decisão do tópico Z? Não misture muitos tópicos. Se for o caso marque reuniões isoladas para cada assunto.

Depois de todas as pequenas urgências definidas, uma das pessoas se sente deslocada. E não sabe porque está ali, já que dos 4 assuntos, apenas o 4o será de utilidade dela.

4a regra para reuniões que funcionam? Monte a agenda pensando no uso do tempo de cada pessoa. Se uma das pessoas vem para trabalhar apenas 1 assunto, faça este ser o primeiro assunto. Assim ela participa de forma efetiva e depois pode voltar para outras metas dentro do seu dia. E se for o caso trabalhe melhor a agenda, quebrando a mesma em mais de uma reunião.

Chegando no assunto mais importante da reunião, metade dos participantes não sabia do que se tratava, porque a informação não foi repassada na semana anterior. Aí uma das pessoas se lembrou que tinha ficado de repassar um documento para os outros, mas esqueceu. Aí o que era para ser uma discussão de possibilidades e criação de ideias, com 10mins de duração, se transforma em uma sala de aula, onde durante 20mins extras você vai ficar explicando um determinado assunto. O ponto? Dê a chance das pessoas se prepararem.

5a regra para reuniões que funcionam? Indique as pessoas como elas podem se preparar. Terão situações onde você vai incluir na reunião o momento de capacitação antes do momento de discussão, aí tranquilo. Deixo isto claro dentro da a agenda. Também deixe claro além do que elas podem fazer para se preparar, o que elas precisam ler, o que elas precisam mandar opinião prévia, e o que elas precisam trazer para a reunião.

A regra de querer fechar no horário parece sempre fácil, porque chegando o final da reunião, as pessoas se levantam e indicam que precisam ir para outras reuniões. Todos querem sair dali o mais rápido possível, assim acontece a magia de horas de reuniões que não geram ação alguma. E todas ações ficam para você trabalhar por email ou em uma nova reunião. :-/

6a regra para reuniões que funcionam? Monte a lista de ações durante a mesma. Vá estabelecendo durante a própria reunião ações que precisam acontecer depois que ela terminar. E nestes casos você já vai conseguir no monento do fechamento da reunião, já ter mais claro quanto tempo é necessário para se fazer uma nova reunião, ou se os assuntos podem ganhar vida própria e reuniões mais focadas.

As reuniões, se bem planejadas, vão acabar sempre sendo uma “relação ganha ganha”. Boa sorte nas suas! E lembre sempre! Tenha uma quantidade de minutos para fazer um fechamento. Use a restrição de tempo para guiar o trabalho a ser feito na reunião. Avise as pessoas de onde elas estão e do andamento.

Para fechar, estou compartilhando um formato de convite que estou usando para marcar reuniões, pelo menos nas reuniões onde eu sou o facilitador. Fica como sugestão. Teste por aí, compartilhe o seu processo também e vamos aprender.

=== Agenda:
Costumo apresentar tópicos, quem puxa o tópico em específico (se for o caso) e a duração esperada do mesmo. Não esqueça de ter um tempo de fechamento.

=== Quem participa:
Normalmente indico área de interesse e quem daquela área participa. A lista de participantes não é suficiente. Acabo indicando o que espero da pessoa na reunião.

=== Como se preparar?
Se for o caso, se existir algum documento de apoio, indique para as pessoas. Faça elas poderem se preparar. E assim você evita os famosos “Pode me explicar o assunto X que eu não me lembro?”.

=== Tem que trazer alguma coisa para a reunião?
Caneta, papel, qualquer tipo de recurso que as pessoas precisam trazer para apoiar.

=== Dúvidas?
Procure <<facilitador>>.

Qual a sua causa?

O relógio chama. Hora de acordar. Vale a pena? Você tem um motivo para acordar. Algo para fazer? Algo para realizar?

Como conseguir manter este foco. Como manter um propósito vivo? Nesta apresentação de pouco mais de 2mins, apresento alguns conceitos de caras famosos, como Daniel Pink e Chip Conley. Podemos ainda falar na famosa pirâmide de Maslow, que acabei pulando nesta apresentação (a pirâmide aparece quase como uma mensagem subliminar).

O dinheiro não é suficiente. Ser reconhecido pode não ser suficiente. Fazer parte de uma causa, que nos ajuda a manter o foco e aceitar as realizações que conseguimos alcançar, pode ser uma opção.

Esta palestra foi realizada em um uMov.me Labs Summit, evento de palestras usado para compartilhar e criar conhecimento.

Link para o vídeo no youtube. Ou mande um play aí na apresentação:

Clean code good! Spaghetti code bad!

Desculpem pelo título em inglês, era para poder fazer a piada. O ponto é que ler um código espaguete é diferente de comer espaguete. O código neste “formato” provoca dores de cabeça e muitas vezes gera sentimentos como ódio, fúria, principalmente se você é chamado para corrigir algo em um código assim perto das 18h da sexta-feira.

O ideal é poder iniciar novos sistemas com boas práticas, de padrões de projetos e facilidade de leitura. Mas nem sempre é assim. E aí vem a importância do estudo contínuo de orientação a objetos, padrões de projetos, e tópicos de engenharia de software em geral.

excelencia-tecnica.032

Uma das referências neste aspecto é Bob Martin, o Uncle Bob.

Usei o Uncle Bob como motivação em alguns time que trabalhei, usando a regra da banda verde.  Selecionava pessoas que acreditava que tinham potencial de disseminar a cultura de TDD e Clean Code pela equipe, e doava uma banda verde para que aquele desenvolvedor sempre que fosse tocar no código se lembrasse de manter o código limpo e desenvolver como um desenvolvedor profissional.

Praticar código limpo. Se eu posso dar um conselho para você, esse é o meu conselho. E dentro da prática, está em transformar código. E transformar com paciência. Baby steps. Saber que débito técnico é uma realidade em qualquer código de produção. Mesmo times ágeis focados em refactoring, testes e qualidade no código sempre, encontrarão oportunidades de melhoria, para ganhar mais desempenho e estabilidade em algum pedaço de código fonte.

Pensando nisto trouxe um dojo diferente para a equipe. Coloquei um código Java ruim, com vários pequenos problemas que passam desapercebidos pelos desenvolvedores muitas vezes, para que durante o espaço do dojo o time fosse trabalhando criando testes básicos para garantir o comportamento do fonte e a partir daí focassem na refatoração da estrutura. Dá para ver o resultado depois de 40mins programando em um repositório do github. Lá tem o código original para quem quiser brincar.

Os Coding Dojos são excelentes oportunidades para a prática do código limpo. Seja de um problema do zero como de um problema “pronto” para ser transformado, como é o caso deste “bad code dojo”. Estudar ferramentas de apoio no processo do TDD, como ferramentas de auditoria de código fonte e cobertura de testes, também são ótimas possibilidades. No meu post sobre TDD tem algumas dicas.

E essa prática dever ser igual a do seu esporte favorito. Deve fazer parte da sua rotina praticar código e resolver problemas. Escolha um kata, e pratique código limpo! Comecei o post em inglês e vou terminar com uma tagline para vocês sobre qualidade de código e testes. Só quem faz teste automatizado vai entender:

Keep the bar green to keep the code clean!