Depois de começar a procurar um desenvolvedor freelancer para colaborar, você perceberá que estão em toda parte. Mercados freelance on-line estão cheios até a borda com candidatos qualificados. Além disso, você encontrará pelo menos uma ou duas centenas na cidade mais próxima.
Agora, você fica com a difícil tarefa de restringir esse conjunto de talentos àquele que funcionará de forma mais eficaz com você. É assustador mesmo se você tiver alguma perspicácia técnica, mas pode parecer quase impossível se você não tiver. Por outro lado, é fácil pensar que considerações técnicas são as únicas que importam. Qualquer um que tenha contratado um gênio com quem é impossível trabalhar, pode dizer o quão errado pode ser.
Neste artigo, vamos nos concentrar em algumas maneiras de ter certeza de que você está obtendo o parceiro mais compatível.
Peça para ver alguns dos trabalhos concluídos do desenvolvedor. Antes de começar a avaliar, certifique-se de entender as partes em que sua perspectiva trabalhou. Passe algum tempo para explorar seu projeto. Faça anotações do que você gosta e não gosta. Talvez eles tenham criado um aplicativo da Web que seja realmente rápido, mas coloca algumas restrições estranhas na senha do usuário. Pergunte a eles o que os levou a tomar essas decisões.
Qualquer tipo de desenvolvimento de software, seja na web, em aplicativos móveis ou na área de trabalho, é um jogo para encontrar os melhores compromissos. Ouvir os vários trade-offs que um desenvolvedor enfrentou e sua abordagem para resolver o problema é extremamente valiosa para avaliar como eles abordarão os problemas que o seu projeto encontrará.
Se você souber um pouco sobre o código, poderá acessar a conta do desenvolvedor no GitHub para ver o que eles escreveram e para quais projetos eles contribuíram. Ver o código deles ajudará você a entender se eles são adequados para uma perspectiva técnica. Isso dá a você uma ideia mais concreta do que essa lista de realizações de desenvolvedores realmente significa em termos de habilidade.
Aqui estão alguns aspectos do GitHub do freelancer que podem não ser óbvios no começo, mas você deve prestar atenção especial a:
Desde as melhores práticas até a tecnologia atual usada, o desenvolvimento de software muda a um ritmo acelerado. Se você acabar com um desenvolvedor que está preso nas práticas e na tecnologia de 10 anos atrás, perderá ferramentas e técnicas que poderiam tornar seu projeto melhor, mais rápido e mais fácil de manter.
Pergunte aos prospects como eles aprendem coisas novas e qual é a coisa mais recente que aprenderam que os ajuda em seu desenvolvimento. O que eles ganharam aprendendo isso? Qual é a próxima coisa que eles gostariam de aprender e por quê?
Mesmo que você não esteja familiarizado com as especificidades de suas respostas, você pode ter uma ideia do quanto esse desenvolvedor é curioso. Muita curiosidade pode levar a que projetos sejam construídos em bases experimentais e não comprovadas, mas, em geral, um desenvolvedor curioso pode trazer mais para o seu projeto.
A comunicação pode fazer ou quebrar um projeto. Certifique-se de que os desenvolvedores com os quais você trabalha estejam dispostos e sejam capazes de se comunicar de uma maneira e com uma freqüência com a qual você possa conviver. A maioria dos desenvolvedores possui ferramentas de comunicação que usam com colegas. Olhe para aqueles e veja se eles vão trabalhar para você. Se não, descubra se o desenvolvedor está bem usando as ferramentas alternativas que você sugere.
Este também é um ótimo momento para descobrir com que frequência você estará ouvindo do desenvolvedor. Se a resposta for "Uma vez no final de cada marco", você provavelmente ficará infeliz. Quais são as chances de o desenvolvedor entender seu projeto exatamente da maneira que você pretende da primeira vez? Quais são as chances de que cada peça distinta que compõe um marco completo esteja perfeitamente no lugar exatamente como você imaginou?
Check-ins regulares (pelo menos uma vez por semana) podem corrigir pequenos mal-entendidos antes de se tornarem grandes.
Você aprenderá mais com esse método do que com todos os outros combinados. Fazer perguntas investigativas e espiar seu código só pode lhe dar vislumbres do que é trabalhar com uma pessoa. A melhor maneira de entender como é trabalhar com eles é fazê-lo. Um teste também é sua melhor oportunidade para passar pelo material técnico e para as coisas que realmente importam: Será que vamos nos sentir infelizes ao tentar trabalhar com essa pessoa?
Se possível, interrompa um pequeno pedaço do seu projeto e trabalhe com o cliente em potencial para concluí-lo. Se possível, pague-os para fazê-lo. Isso faz algumas coisas legais para você:
Menciono este último ponto porque às vezes as empresas são tentadas a pedir aos desenvolvedores que construam um pequeno projeto de teste gratuitamente para fins de avaliação e estilo de trabalho. Esta não é uma boa maneira de começar um relacionamento com seu desenvolvedor. Se eles podem construir algo que será útil para você - mesmo que, no começo, não seja o projeto inteiro que você quer construir - não vale a pena pagar por isso?
Provavelmente, é melhor que você não apresente isso ao desenvolvedor como um projeto de teste. Você não precisa mentir ou enganá-los de qualquer forma, mas apresentar isso como o projeto. Na verdade, é o projeto por enquanto. Se tudo der certo, você terá outro projeto para oferecer, mas não faça isso. Isso afetará negativamente a dinâmica de relacionamento. Ninguém quer ser objeto de experimentação. Se tudo correr bem, o desenvolvedor vai querer trabalhar com você em projetos futuros; você não precisa usar isso no começo para mantê-los no gancho.
Durante este compromisso, mantenha os olhos abertos para bandeiras vermelhas. Pense cuidadosamente sobre os tipos de comportamento que você não pode resolver.
Se a sua linha do tempo para a conclusão do projeto estiver se aproximando e você não tiver tempo para executar todas essas etapas, faça pelo menos o projeto de teste. Faça com que o seu cliente potencial construa uma parte do projeto maior, assim seu risco é baixo e não se perde tempo. É uma ferramenta extremamente valiosa para garantir que esta é uma relação que você deseja ter. Mesmo se falhar e você tiver que encontrar outra pessoa, isso vai custar menos tempo e dinheiro do que se comprometer com um parceiro de desenvolvimento para construir o projeto inteiro apenas para que ele caia.
É muito mais fácil no começo escolher alguém de quem você gosta e esperar o melhor. Às vezes isso pode funcionar, mas, para o bem do seu projeto, você deve entrar em relacionamentos com os olhos abertos, tanto quanto possível.
Imagem em destaque, imagem do trabalho em equipe via Shutterstock.