Compromisso com descontração

Eu acredito que o ambiente de trabalho, local onde passamos boa parte do nosso dia, deve ser agradável. Acredito que precisamos trabalhar felizes, contentes por estar onde estamos. Acredito que devemos nos sentir em casa o tanto quanto for saudável para nosso ambiente de trabalho.

Ok, posso ser apenas um sonhador, mas vou continuar meu argumento.

O que tenho visto e ouvido hoje em dia, em minha pouca experiência, são muitos relatos de confusões, descontentamentos e pessoas tratando-se de maneira ríspida, até mesmo com um nível sério de grosseria. Vejo mãos socando mesas em reuniões, pessoas irritadas, o tom de algumas vozes se alterando e desentendimentos diversos.

Não acredito que este seja o cenário ideal para a criação de novas soluções, para resolução de problemas e para o crescimento saudável de uma empresa.

Acredito justamente no contrário disso, um ambiente de pessoas compromissadas com o seu trabalho, mas com um constante nível de descontração. Penso que o melhor ambiente para a criação e para o surgimento de grandes soluções seja repleto de risos e sorrisos, de pessoas que sabem dar risada mesmo em meio aos mais diversos tipos de problemas.

Obviamente isso não pode se confundir com falta de comprometimento, nem se traduzir em carência de dedicação. Este cenário, se não surgir de um alto nível de engajamento, será apenas o reflexo de um grupo de pessoas que gostam de brincar, mas sem nenhum profissionalismo.

Esta é minha luta pessoal, criar este ambiente de engajamento descontraído. Talvez seja apenas um sonho, mas vou continuar tentando.

Você deve estar se perguntando como criar isto em seu ambiente de trabalho, mas, infelizmente, é impossível dar esta resposta. Cada empresa é formada por um grupo distinto de pessoas, com características completamente diferentes. Não existe fórmula mágica para isso.

O que posso tentar passar da minha experiência são alguns pontos:

  • Conheça as pessoas que trabalham com você
  • Contrate as pessoas certas
  • Feedbacks positivos constantes
  • Feedback negativos pontuais e sempre com total respeito às pessoas (isso é muito difícil de se encontrar)
  • Aprendizado constante
  • Salas de descompressão (note que escrevi no plural)
  • Nenhum tipo de repressão à utilização destes espaços de descompressão
  • Um ambiente físico favorável ao compartilhamento de ideias
  • Um grupo unido de pessoas
  • Uma mesma visão, compartilhada por todos do time

Estes são apenas passos iniciais na criação deste ambiente. Se você tem uma experiência parecida ou algo a dizer sobre este assunto, comente. Se gostou do artigo, compartilhe nas suas redes sociais.

Obrigado.

Como contratar programadores – A consultoria

No último post eu falei que não acredito em consultorias para a nossa área e hoje, como prometido, explico os porquês.

Para dar um histórico, já trabalhei com várias consultorias, algumas que me ajudaram muito, outras que só me atrapalharam. Também já contratei através de indicações e buscando no mercado eu mesmo. Cada uma destas experiências, obviamente, tem prós e contras.

Para começar, temos que entender que a maior parte das consultorias simplesmente não sabe contratar um programador pois nunca trabalhou com um, afinal, o programador não faz parte do seu core bussiness. Como você confia numa empresa para lhe trazer o profissional adequado, se ela nunca vivenciou o trabalho com este tipo de profissional? Esta consultoria é “especializada” em contratar tanto programadores quanto vendedores. Isso é, no mínimo, estranho.

Mas, vamos supor que você encontrou uma consultoria que sim, tenha programadores trabalhando para ela e sabe como este profissional atua. Eu já encontrei uma assim e, sinceramente, a experiência foi boa. Eles aplicavam o teste técnico, avaliavam o mesmo, me davam um perfil psicológico do candidato e adequavam-se às nossas necessidades.

Mas, e sempre existe um mas, comecei a notar algumas coisas interessantes…

Inicialmente descobri que a consultoria estava dando parte do teste pronto para o candidato. Isso reduzia o tempo que ele passava na consultoria fazendo o teste, gerando menos custo para eles e permitindo que eles nos enviassem mais candidatos. Após isso percebi que as análises técnicas que eles estavam me passando não estavam sendo imparciais, muitas vezes um candidato ia mal no teste técnico e eles davam uma boa nota para ele.

Após estes, e alguns outros episódios, percebi o óbvio: a consultoria quer ganhar dinheiro, e isso só acontece se eu contrato o candidato que eles me enviam. Por isso, eles deturparam o teste, eram parciais nas avaliações técnicas e me geraram muitos problemas.

Outro problema é que, se a consultoria tem algum braço de programação dentro dela (o que resolve o primeiro problema que relatei neste post), o candidato que viria para mim, se for bom realmente, pode acabar ficando com ela. Ou seja, vem para mim o que eles não querem lá. Estamos num beco sem saída.

Mas os problemas não param por aí e eu nem falei sobre o maior deles… Lembra que eu comentei que precisamos contratar profissionais que tenham a cara da nossa empresa? Como vamos confiar numa outra empresa para fazer este trabalho? Esta empresa, muitas vezes, nem entendeu quem é a minha empresa, como vai saber o tipo de profissional que vai se encaixar melhor no meu contexto?

É triste, o custo é alto, é difícil, mas o que mais deu certo para mim foi quando a nossa empresa participou mais do processo seletivo e usou menos a consultoria. Quanto mais distante sua empresa está deste processo, mais custo final você vai ter. E esta conta não é fácil de fazer, o custo de pagar uma consultoria é mais simples de calcular, é mais “seguro”, mais previsível. Isso acontece pois não calculamos os problemas decorrentes de uma contratação mal feita, de uma contratação que deu errado…

Pense nisso antes de contratar sue próximo profissional, aquele que precisa se parecer com sua empresa, que vai se encaixar num contexto específico, que vai fazer parte de um todo.

Obrigado.

 

Como contratar programadores – Técnicas

No post anterior, onde falei sobre a essência da contratação de programadores, disse que hoje falaria sobre algumas poucas técnicas para lhe ajudar na contratação de bons programadores.

A análise do currículo

Obviamente a primeira coisa que faço é uma análise do currículo. Neste ponto todo cuidado é pouco, somos brasileiros, arrumamos um jeitinho para tudo e aqui não é diferente. Logo, eu me apego ao que não pode ser maquiado num currículo: as datas das empresas, a formação, etc. Pontos mais “obscuros” como conhecimento técnico, são utilizados posteriormente.

O que analiso basicamente é se a pessoa tem o perfil que eu quero para trabalhar na empresa, se ela tem a cara da empresa, se ela vai se adequar e trabalhar feliz. Isso, no final das contas, é o que importa, um profissional feliz trabalhar melhor.

Existem alguns pontos de atenção:

  • Pessoas que conhecem profundamente todas as tecnologias existentes: Estas pessoas normalmente só ouviram falar de algumas coisas e dizem que sabem tudo sobre aquilo.
  • Pessoas que tem períodos “em branco” no currículo. Entre uma empresa e outra a pessoa tem 5 meses que não se fala o que ela fez.
  • Pessoas que passam apenas poucos meses em cada empresa. É importante entender o que aconteceu.
  • Pessoas que não tem cursos, eventos ou certificações recentes. Programadores precisam estar sempre atualizados, isso precisa estar no currículo.

Os testes técnicos

Sim, faço mais de um teste técnico com o candidato. Normalmente os nossos candidatos fazem de 3 a 4 testes técnicos. O primeiro eles fazem no conforto de seus lares, sem pressão alguma. Esta é a segunda etapa de nosso processo. Aqui já filtro quem foi bem e quem não foi neste teste.

O teste consiste em 8 questões que envolvem programação, ou seja, vou ver ali, “ao vivo” como o candidato conduziu sua linha de pensamento para as tecnologias que utilizamos mais e, obviamente, a lógica que ele utilizou.

Para esta etapa, onde ele faz o teste em casa, eu utilizo o interviewzen.com, que é uma ferramenta bem interessante. Ela me permite assistir um vídeo do candidato digitando tudo o que está fazendo e me permite um ótimo filtro daqueles que não sabem programar (sim, estas pessoas existem).

Após receber e analisar este primeiro teste, convido o candidato para um teste mais complexo, normalmente feito na própria empresa. Aí já tenho a chance de conhecê-lo um pouco, mas sem uma entrevista formal ainda. Esta etapa é a última que me separa da entrevista tradicional. Neste teste tento entender o quanto ele conhece de nossa principal tecnologia.

Após analisar como ele foi neste segundo teste, agendo uma entrevista mais formal. Nesta entrevista, além da conversa que sempre acontece, faço mais um ou dois testes na lousa. Sei que muitos não gostam, por isso faço testes bem simples, apenas para assegurar que, num momento de maior pressão, ele continua com uma lógica razoável. Acreditem, são testes muito simples e, mesmo assim, muitos não conseguem fazer. É interessante que você crie seus próprios testes para este momento, adequando-os ao perfil da vaga e ao perfil de sua empresa. Você vai ficar admirado em como aquelas pessoas que “sabem tudo” vão mal nestes testes.

A entrevista

Este é o ponto alto para saber se a pessoa vai se encaixar com a sua empresa ou com a sua equipe. Neste momento você deve analisar tudo o que puder e não pode ter medo de confrontar o candidato. Se ele falar algo que está errado, fique de olho, se ele se contradizer, questione-o. Este é um momento para você mostrar o que a sua empresa exige de um profissional e verificar se ele é este profissional. Lembre-se que contratar alguém é algo muito importante: contratar a pessoa errada gera um custo alto para sua empresa e é um problema para o candidato, que apostava na sua empresa para a vida dele.

Tenha uma atenção especial às tecnologias que o candidato diz conhecer, faça perguntas específicas sobre elas para ver se todo aquele conhecimento é real. Converse sobre as comunidades técnicas das quais ele faz parte, o que ele tem feito e estudado em paralelo ao trabalho.

Peça pelo portfolio do candidato (se for possível) e analise-o. Tenho tido boas experiências com isso quando estamos contratando alguém para desenvolvimento móvel ou front-end.

Por fim

Lembre-se que nada disso garante o sucesso e um bom profissional. O mercado de programadores está muito saturado e, infelizmente, com muitos profissionais que não apresentam toda a qualidade que dizem ter. Selecionar bons candidatos é uma tarefa árdua e exige empenho.

No próximo post eu quero falar um pouco sobre o porquê de não acreditar em consultorias de RH para a nossa área.

Qual a sua metodologia de contratação? Comente aí.

Valeu.

Como contratar programadores – A essência?

Vamos do início…

Sou um expert no assunto? Não. Mas a maioria das pessoas que estão por aí falando sobre isso também não são, salvo umas poucas, que podemos contar nos dedos. Porém eu tenho algumas experiências interessantes que gostaria de compartilhar com vocês para que vocês somem estas às suas.

A ideia é criar 2 ou 3 posts sobre este assunto para que eles não fiquem muito grandes. Neste primeiro eu quero falar sobre a essência de uma contratação, seja ela para qual cargo for.

O primeiro passo é conhecer a sua empresa, a maneira como vocês trabalham, a essência deste organismo. Pense que a sua empresa é uma pessoa: quem seria esta pessoa? Seria a enigmática Angelina Jolie ou seria a sorridente Drew Barrymore? Pareceria-se mais com o AC/DC ou com o Linkin Park? Você imaginaria a sua empresa como o Jackie Chan ou como Bruce Lee?Qual a frase que esta pessoa diria mais comumente?

Você faz parte de uma empresa mais rígida, com regras bem definidas e processos bem fundamentados? Você está trabalhando num lugar onde as coisas são sempre para ontem e a pressão está sempre presente? Você está numa empresa que preza mais pelo foco do que pela comunicação e interação entre seus funcionários? Qual a essência de sua empresa?

Se você não conhece esta empresa como uma pessoa, que tem sentimentos, que tem um jeito de viver a vida, que faz as coisas de uma maneira específica, pare de ler este post, pense por algum tempo nisso e volte outro dia. Caso contrário, continue a leitura.

Eu trabalho numa empresa que deseja sempre criar um ambiente colaborativo, com as pessoas se comunicando e se ajudando, tirando dúvidas, resolvendo problemas e conversando. Eu penso na minha empresa, às vezes, como o Chris Tucker em “A Hora do Rush”, às vezes como o Jackie Chan, no mesmo filme.

Sabendo disso, a minha primeira preocupação ao contratar alguém deve ser a seguinte: esta pessoa tem estas características? Ela prefere colaborar ou ela terá um “desempenho melhor” trabalhando sozinha? Quando conseguimos filtrar pessoas com este perfil, esta pessoa fica mais feliz na empresa, consegue contribuir mais e permanece mais tempo conosco.

Quando criamos um grupo mais homogêneo neste aspecto, seja qual direção tomarmos, é mais comum que o nosso MSS (Medidor Subjetivo de Sucesso) indique uma melhora.

Falando especificamente sobre programadores, se a sua empresa é mais burocrática e com processos rígidos, não tente trazer aquele programador que prefere trabalhar em horários alternativos, que costuma fazer home office, que resolve as coisas sem ter que preencher muitos papeis e que prefere a liberdade de criar sua própria obra de arte no código.

Seja uma empresa onde todos vão trabalhar de skate ou uma empresa onde as pessoas preferem trabalhar de terno Armani, contrate pessoas com a cara da sua empresa, com a cara que a sua empresa quer ter. Elas vão representar melhor a sua identidade e terão mais alegria em seu trabalho.

No próximo post quero passar duas ou três técnicas para a contratação de bons programadores.

Qual a cara da sua empresa? Comente aí…

Até a próxima.

Os papéis de um bom scrum master

O Scrum Master perdido

Já faz muito tempo que o Scrum está em nossas vidas. Para um mundo onde surgem novos frameworks, metodologias e afins a cada mês (para ser conservador), o Scrum já existe há tempo suficiente para sabermos o que ele é e como funciona, já existe há tempo suficiente para ser considerado maduro.

Mesmo assim ainda existem muitas dúvidas e dúvidas básicas sobre como ele realmente deve ser utilizado. Hoje quero falar unicamente sobre o papel do Scrum Master.

Basicamente um bom Scrum Master deve preocupar-se com uma correta utilização do Scrum. Ele deve lutar para que as coisas sejam feitas da maneira como elas foram desenhadas no Scrum Guide. Em um time que está começando a utilizar Scrum ou em uma empresa que ainda não o aceitou bem, esta será uma tarefa árdua e exigirá muito tempo deste profissional.

Porém, em empresas onde o framework é aceito e com times mais maduros, o papel do Scrum Master começa a ser questionado. Aliás, não é raro ver Scrum Masters totalmente perdidos com o que devem fazer no dia a dia. Vamos ser sinceros, boa parte dos Scrum Masters de hoje, eram programadores até bem pouco tempo atrás, ou seja, eles saem de uma rotina onde eles sabem exatamente o que devem fazer, para uma rotina onde as coisas não estão tão bem definidas. Por isso quero, com este post, tentar ajudar você, o Scrum Master perdido.

As principais funções de um Scrum Master

1. Garantir o bom funcionamento do Scrum

Como disse anteriormente, a primeira função deste profissional é implantar o Scrum, difundi-lo entre as pessoas e fazer com que nada saia do eixo conforme o tempo passa. Esta tarefa é inicialmente difícil e encontra muitos obstáculos mas, com o tempo, começa a ficar mais simples, as pessoas já entendem como o framework funciona e se adequam a ele.

2. Livrar o time de impedimentos

O time não pode ser impedido de trabalhar numa tarefa. O time não pode parar para ver outras coisas que não sejam o backlog (a menos que o time decida por isso). Nada pode atrapalhar o time de mantê-los no foco e livres para pensar nas melhores soluções, para serem criativos.

Por isso, o bom Scrum Master serve o time em todos os detalhes, desde uma máquina que não está funcionando bem, uma pessoa que não esta acessível, um quadro que não está bom até as coisas mais simples, como ter um bom café.

As tarefas listadas abaixo não são cruciais para o profissional mediano, mas são importantes para o bom Scrum Master.

3. Ser um mestre de cerimônias

Um bom Scrum Master deve ser um ótimo mestre de cerimônias. O time não deve ter que se preocupar em como será a reunião, onde acontecerá, se terá que reservar a sala, se a sala terá os recursos necessários, se as pessoas foram avisadas, se a reunião é realmente necessária, entre outros. Um bom Scrum Master deixará tudo pronto para que o time tenha a reunião mais produtiva possível.

Durante a reunião o time não deve se preocupar com nada além de trabalhar focado para que ela tenha um bom resultado. Se o time está estimando estórias, a preocupação do time deve ser em entender a estória, refiná-la, solucionar dúvidas e estimá-la. O time não deve se preocupar se iluminação está boa, se a sala tem água, se as cadeiras estão confortáveis, tudo isso deve estar sob os cuidados do Scrum Master.

O Scrum Master deve ser o moderador destas reuniões, para que elas não saiam do foco e não deixem de ser divertidas. Ele deve fazer um acompanhamento sério e preciso do andamento das mais diferentes reuniões ao longo do tempo para que elas sejam cada vez melhor aproveitadas. Ele deve filtrar reuniões desnecessárias e garantir que o tempo do time tem sido bem aproveitado.

4. Resolver conflitos

O bom Scrum Master é participativo, ele conhece o time, entende o momento que o time está vivendo e é um especialista em resolução de conflitos. Ele não deixa que qualquer animosidade entre no time e não permite que pequenos conflitos tornem-se grandes confusões.

Este trabalho não é simples, exige dedicação, uma boa dose de empatia e muita intuição.

5. Ser um organizador

Num geral o bom Scrum Master é uma pessoa organizada. Ele ajuda o time, dá dicas de como o time pode evoluir nos mais diversos assuntos e consegue participar ativamente das decisões do time. Ele ajuda a organizar o dia a dia, o trabalho, as reuniões, o quadro e o tempo do time.

6. Ser um conselheiro

Um bom Scrum Master é visto como uma pessoa com quem o time pode se aconselhar. Ele sabe o momento de participar mais incisivamente numa situação, conhece os membros do time e entende quando um não está bem. Ele deve estar preparado para ser procurado pelos membros do time para um aconselhamento nos mais diversos assuntos.

Em minha jornada como Scrum Master eu aconselhei pessoas em situações profissionais, pessoais, de carreira e muitas outras. É uma tarefa gratificante e muito delicada.

O bom Scrum Master avalia o time, verificando quais pontos precisam ser trabalhados para que as pessoas tornem-se profissionais melhores e ajuda-os nesta jornada.

7. Estudar

Ser um bom Scrum Master exige muito estudo. Não basta conhecer a fundo o Scrum e saber dois itens do Manifesto Ágil (alguns nem isso sabem). É necessário conhecer outros frameworks, outras metodologias, acompanhar fóruns de discussão, ser um membro ativo na comunidade, entender sobre metodologias mais clássicas, mais modernas, conhecer casos de sucesso e de insucesso.

Precisa certificar-se, fazer cursos e ler livros. Isso tudo exige muito tempo, mas é necessário.

8. Ensinar

Por ser um bom estudante, o bom Scrum Master torna-se um bom professor. Ele consegue passar conhecimento para o time, para os colegas de trabalho, para os outros Scrum Masters. Ele normalmente tem boas ideias e consegue expor seus argumentos de maneira coesa.

9. Ser um exemplo

Um bom Scrum Master é um exemplo. Ele não é chefe do time, mas é um exemplo para eles. As pessoas o enxergam como este profissional estudioso, participativo, organizado, sábio e colega. As pessoas ouvem os seus conselhos e sabem que podem contar com ele.

É muito trabalho

Quem ainda acredita que o trabalho do Scrum Master é simples ou não exige todo o tempo dedicado, deve rever seus conceitos. Se você é um Scrum Master e tem dúvidas sobre o que deve fazer, verifique se tudo o que coloquei acima está sendo feito.

O meu ponto é que ser um Scrum Master não é uma tarefa fácil. Infelizmente ainda vemos muitos “profissionais” que querem tornar-se Scrum Masters apenas por acharem que vão mandar em alguém ou que terão uma carga de trabalho menor, que vão poder se “encostar” numa função. Estes são os piores profissionais que você poderá encontrar.

Você tem algo a acrescentar nesta lista? Tem alguma dúvida? Tem algum caso interessante para contar? Comente!

Obrigado.