Como contratar programadores de software sénior: Aconselhamento do CTO DevSkiller

Publicado: Última actualização:
engenheiro técnico

O recrutamento no desenvolvimento de software é um desafio e a tentativa de contratar programadores seniores é ainda mais difícil. Devido a uma falta de talento, os engenheiros seniores são poucos e de longe. São também caros e raramente procuram uma nova oportunidade de emprego.

Além disso, aprenderam a valorizar o seu tempo. Ao recrutar um desenvolvedor web júnior, por exemplo, pode obter centenas de candidaturas. Contudo, não fique surpreendido por receber perto de zero candidaturas para engenheiros seniores.

Como posso saber? Eu próprio sou um programador sénior. E confiem em mim, nos meus 15 anos de desenvolvimento de software, passei por muitos processos de recrutamento. Como candidato, e recrutador de tecnologia.

Assumam que têm sorte. O seu anúncio de emprego foi impecável, a sua tarifa horária é convincente e a sua empresa está a fazer coisas interessantes. No entanto, uma vez iniciado o processo, os candidatos estão apenas a fantasiar-te. Não é porque os verdadeiros rockstars e ninjas tecnológicos têm egos gigantescos. Bem, por vezes têm. No entanto, é mais provável que outros processos de recrutamento sejam melhores, pelo que simplesmente desistiram de si.

Então, como encorajar um promotor experiente a participar no seu processo de recrutamento, a fim de contratar os candidatos mais qualificados? Deixem-me partilhar os meus conselhos na perspectiva do CTO de uma empresa de tecnologia.

Como encorajar os programadores seniores a participar no recrutamento?

Encorajar engenheiros de software sénior a participar no seu processo de recrutamento, especialmente os desafios de codificação é...um desafio. No entanto, diferentes empresas definir a antiguidade de forma diferente. Além disso, a sua atitude em relação ao processo de recrutamento diz muito sobre o próprio candidato.

Um programador sénior tenderá a concentrar-se menos nas competências técnicas e mais em conceitos técnicos mais amplos. Em soluções técnicas, e não apenas nas tecnologias que irão utilizar. Se apelar aos seus conhecimentos técnicos mais vastos e conceber o seu processo em torno da resolução de problemas, é provável que atraia mais engenheiros seniores.

Por exemplo, não faça círculos à volta da versão de React ou Python que utiliza. Em vez disso, explique como a sua empresa está a resolver os problemas usando React e Python. Ao enfatizar o quadro geral enquanto recruta, é mais provável que atraia um programador sénior do que um júnior. Por outro lado, se estiver concentrado apenas nas tecnologias que irão utilizar, provavelmente só apelará aos interesses técnicos, de pessoas menos experientes e mais orientadas para a tecnologia.

O que significa ser um desenvolvedor sénior nos dias de hoje?

Assim, um grupo de pessoas candidatou-se ao seu anúncio de emprego sénior. Parabéns! Infelizmente, metade delas não vale o seu tempo. Muitas serão subqualificadas e carentes das capacidades de programação necessárias-mas decidiram aproveitar a sua oportunidade de qualquer maneira. O número pode ser superior a 50% se a sua marca for muito forte, ou se oferecer um salário e benefícios excepcionais. Pode ser menos se o seu anúncio de emprego for muito específico. Mas espere rejeitar de imediato alguns candidatos durante o seu processo de contratação.

Por outro lado, terá pelo menos alguns candidatos qualificados. O problema é, como distinguir os melhores programadores de software dos aspirantes a programadores? A este nível, é preciso ter muito cuidado. Gostando ou não, um passo em falso e apenas os candidatos mais persistentes permanecerão. E acredite em mim, estes ou nem sempre são os melhores.

Por isso, tem um bem muito precioso à sua disposição. Candidatos extremamente conhecedores entre os menos experientes. Seguindo cuidadosamente os meus conselhos, poderá descobrir os melhores criadores rapidamente e sem dor. Deixe-me partilhar algumas dicas sobre como tornar o processo de recrutamento agradável e decisivo.

Seja transparente

Os promotores na indústria das TI, especialmente os promotores seniores, odeiam a BS. Não minta. Não seja demasiado prometedor. Não prolongue o processo, na esperança de conseguir um candidato melhor mais tarde. As capacidades de comunicação honestas são essenciais. É importante que todos estejam na mesma página.

Explicar claramente como é o processo. Especialmente, em que data podem esperar ouvir o feedback, quantas fases de recrutamento esperar, e quem estará encarregado de avaliar o seu conjunto de competências.

Estar aberto sobre o tipo de trabalho, salário, e trabalho a partir de casa, deve ser óbvio. Não tente atrair os criadores com novas tecnologias brilhantes. De facto, pode dizer-se a diferença entre programadores sénior e júnior, na medida em que os primeiros estão normalmente mais interessados nos problemas empresariais que podem resolver. Eles estarão mais interessados nos projectos recentes da sua empresa e menos nas ferramentas que utiliza. Por falar em ferramentas, o que deve colocar num anúncio de emprego?

Ter um anúncio de emprego claramente definido

Imagem por mohamed Hassan de Pixabay

Um anúncio de emprego é chamado desta forma por uma razão. Anuncie a sua empresa. Mas espera que um engenheiro de software sénior seja alérgico a publicidade enganosa. Eles não serão atraídos. No entanto, existem algumas informações chave que um engenheiro de software sénior procura na descrição do seu trabalho, a fim de se envolver no seu processo de recrutamento. Eis o que deve incluir:

Salário e benefícios

Imagem por mohamed Hassan de Pixabay

Sim, trabalhamos por dinheiro. Quando contratação de engenheiros de software sénioré melhor ser aberto e honesto sobre o seu orçamento para evitar decepções. Por outro lado, salário ou regalias muito acima da taxa de mercado podem sugerir que ou está a queimar uma tonelada de dinheiro do investidor ou há algo de suspeito na posição de emprego. Esteja preparado para responder a perguntas sobre tais tópicos.

Condições de trabalho

Horário de trabalho, uma política de trabalho à distância, viagens de negócios, hardware, e configuração de escritório. Um espaço aberto ruidoso onde se deve sentar de 9 a 5 é raramente apreciado. Quanta burocracia se pode esperar? Será que cometerão código no primeiro dia?

Benefícios

Acções, cuidados de saúde, educação/orçamento de conferências. Estes são os mais convincentes.

Cultura e valores da empresa

É ágil? Desdobra-se frequentemente? Pode contactar o seu cliente? É dogfooding o seu projecto (se aplicável)? Explicar honestamente o primeiro dia de trabalho é uma boa ideia.

Tipo de trabalho e visão geral de todo o projecto

É uma empresa de software? Está a construir um produto? Para que é a indústria para a qual trabalha? Dá formação? A sua empresa tem um impacto positivo no mundo ou funciona como um negócio pouco legal?

O que é a pilha de tecnologia?

Esta é importante. Não enumere apenas todas as tecnologias alguma vez mencionadas pela sua equipa de desenvolvimento e diga "deve possuir as seguintes competências exigidas...". Não há nenhum desenvolvedor, mesmo na sua actual equipa de desenvolvimento, que terá todos os requisitos dentro do seu conjunto de competências. Em vez disso, basta dizer "usamos o seguinte...", um bom desenvolvedor saberá o quão bons eles são. Incluindo as competências duras relevantes que possuem e o que querem aprender.

Para além disso, tente ser breve. Vivemos numa era Twitter e TikTok. As paredes de texto não são apelativas e provavelmente serão ignoradas. As descrições de trabalho devem parecer mais uma apresentação elegante, e não um documento Word. Se conseguirmos arranjar um infográfico ou um pequeno vídeo, é definitivamente algo que capte a atenção.

Finalmente, o anúncio de emprego deve explicar como vai ser o processo de recrutamento:

Ter um processo de recrutamento rápido

Então como deve ser um processo de recrutamento ideal para a contratação de engenheiros de software seniores? Deve ser transparente e rápido. Conhece esta anedota?

Um promotor sénior perdeu o seu emprego e ficou desempregado. Foram os piores 15 minutos da sua vida.

É claro que isto é exagerado. Alguns engenheiros de software sénior podem esperar até algumas semanas pela sua decisão final. No entanto, isto pode resumir-se a simples capacidades de comunicação e precisa de ser esclarecido com antecedência.

Transformar uma oferta de emprego numa contratação bem sucedida é mais do que uma simples listagem das competências duras e brandas mencionadas pela sua equipa de desenvolvimento. As melhores descrições de trabalho explicarão claramente o que o candidato pode esperar do processo - desde o início até à assinatura do contrato. Deve conter, pelo menos, as seguintes informações:

  • Quais são os passos - haverá rastreio telefónico e trabalhos de casa? Haverá uma entrevista com os RH sobre competências transversais e outra com TI sobre competências técnicas? Quanto tempo demorará o processo de recrutamento?
  • Qual é o prazo para o feedback após cada passo?
    Se precisar de 2 semanas para rever os trabalhos de casa, isso é mau. Mas se for esse o caso, então é melhor dizer isso à partida. Em TI chama-se SLA - Service Level Agreement (Acordo de Nível de Serviço). Concorda em dar feedback e proceder num determinado período de tempo.

  • Pense em quanto tempo haverá entre a assinatura do contrato pelo seu engenheiro sénior e o início efectivo dos trabalhos. Por exemplo, será necessário que comecem no início do mês civil?

Uma maneira de assegurar um processo de recrutamento rápido é automatizar partes da sua fase de rastreio. Libertar o tempo de contratação de gestores para poder realizar entrevistas e fazer as coisas que realmente fazem a sua empresa ganhar dinheiro.

Ler - Como implementar a automatização para contratar mais rapidamente os melhores programadores de software

Oferecer um feedback construtivo

Imagem por Gerd Altmann de Pixabay

O feedback é parte do processo. Se simplesmente se esquecer dos candidatos rejeitados, eles terão muito más recordações da sua empresa e poderão divulgá-lo aos colegas que vejam o seu anúncio de emprego. Um feedback simples, com modelos, não é muito melhor.

Leve o seu tempo e prepare um feedback construtivo ao rejeitar um candidato. Explique especialmente porque foram rejeitados e quais são os próximos passos possíveis.

Ficaria bastante feliz em saber que se não tiver experiência suficiente numa determinada tecnologia ou prática, posso estudá-la e voltar dentro de um ano. Afinal de contas, não se pode esperar que ninguém saiba tudo sobre o processo de desenvolvimento.

Além disso, se os engenheiros puderem apontar os livros ou materiais que acharam úteis, o processo de recrutamento pode ser na realidade uma experiência de aprendizagem fantástica para eles.

Concentre-se na marca do seu empregador

Marca do empregador é um grande tópico, por isso vou apenas arranhar a superfície. Cada peça de informação que chega a potenciais candidatos, para além do anúncio de emprego, é um bónus.

Palestras da conferência pelos seus criadores. Encoraje a sua equipa a dar palestras em grupos ou conferências de utilizadores locais. Dê-lhes tempo para se prepararem, talvez até investir em formação. É um investimento a longo prazo que paga mais tarde.

Tenha um blog técnico explicando a sua arquitectura, e decisões de design, mas também erros. Muitas empresas, particularmente as grandes empresas, são honestas quanto à publicação de post mortems. Se os seus criadores podem admitir publicamente que cometeram um erro, como mitigaram o problema e o que aprenderam - isso diz muito sobre a cultura.

Patrocinar eventos e exibir o seu logótipo é ligeiramente menos eficaz, mas é também a forma mais barata e fácil de obter reconhecimento.

Como fazer com que os programadores seniores façam um teste de codificação?

Acredito que o trabalho de casa é um melhor preditor de sucesso futuro do que sessões de codificação de quadros brancos ou outros tipos de testes. Os candidatos podem pegar no projecto e completá-lo no conforto das suas próprias casas. Usam o seu hardware, sempre que querem, e podem procurar soluções para problemas comuns através da Internet (isto é óptimo!) É verdade, mesmo os mais velhos procuram coisas em Stack Overflow a toda a hora, não os culpem.

Contudo, os trabalhos de casa mal concebidos estão condenados ao fracasso. Nesta fase da vida, os promotores podem ter famílias e dezenas de outras oportunidades de emprego. Ver mais um projecto de codificação para completar no seu tempo livre, talvez um desafio excitante ou uma necessidade enfadonha. Há uma linha ténue entre continuar o processo de imediato e esquecê-lo para sempre. Então, como é que se concebe a tarefa de trabalho de casa perfeita?

É claro que todas estas dicas funcionam se informar previamente os seus candidatos sobre o aspecto dos trabalhos de casa. E que o seu objectivo é também poupar tempo durante o processo de entrevista.

Mantenha-o relevante

Se o seu negócio principal é o aluguer de automóveis e o seu principal desafio técnico é o motor de recomendação, mantenha o seu trabalho de casa perto disso. Não apresente questões algorítmicas abstractas. É claro que não espera que os candidatos resolvam os seus problemas reais. Mas faça uma sugestão, é o tipo de desafio que eles irão encontrar diariamente. Obviamente, devem ser honestos a este respeito.

O candidato pode tentar um desafio de codificação simplesmente para ter uma ideia do que se faz no trabalho. Pode até construir uma história à sua volta. Como por exemplo: "tente bater os nossos engenheiros", ou "consegue pensar numa solução melhor do que a nossa?" Criar uma tarefa com uma história de fundo desperta o interesse.

Não comece do zero

Os chamados projectos greenfield são por vezes considerados uma vantagem quando se candidata a um emprego. Embora construir uma candidatura a partir do zero seja divertido, é problemático por muitas razões:

  • A configuração inicial de uma nova aplicação é uma tarefa não trivial

  • Os promotores raramente iniciam novos projectos, muito mais frequentemente melhoram ou mantêm os projectos existentes

  • Rever e testar aplicações criadas a partir do zero é mais difícil para os seus engenheiros.

Por estas razões, é muito melhor fornecer uma base de códigos existente e exigir aos candidatos que façam algumas alterações. Se a manutenção significativa fizer parte do trabalho, considere a resolução de problemas ou a reparação de bugs numa aplicação existente.

Outro grande tipo de tarefa é a revisão de códigos. Algo que os programadores seniores fazem muito. Pode até considerar mostrar a sua própria base de códigos, escondendo, claro, a importante propriedade intelectual. Isto tem ainda outro benefício - os candidatos vêem o seu estilo de codificação.

Certifique-se de que é fácil de preparar

Se o seu trabalho de casa requer uma certa versão de Python ou Node.js, deixe-o claro. Ser incapaz de construir e executar o trabalho de casa é um grande ponto de tensão e frustração. Também indique claramente o tipo de tarefa a esperar: algoritmica? Performance ou código limpo orientado? Pesadamente testado ou documentado? A qualidade do seu trabalho de casa diz muito sobre a sua própria base de códigos de propriedade. Se está a preparar candidatos para um trabalho de casa numa estrutura AngularJS de longa data, não espere muitos candidatos.

Por outro lado, se fornecer aos candidatos ambientes prontos a usar, como máquinas virtuais ou IDE pré-configuradas, é muito mais provável que eles tentem o desafio.

Uma amostra, não graduada, também é excelente. Mostre aos seus candidatos como é mais ou menos a tarefa. Uma vez que façam o exame de amostra, poderão ser tentados a aproximar-se do verdadeiro.

Finalmente, explicar que procurar ajuda na Internet é bom.

Gamify

Se conseguir aplicar algumas técnicas de gamificação, muitos candidatos acharão isso apelativo. Por exemplo, criar uma tabela de classificação anónima entre os candidatos ou classificar os trabalhos de casa com base no desempenho avaliado. As Hackathons e os desafios de codificação provam que os criadores podem estar dispostos a passar uma quantidade significativa do seu tempo livre a codificar.

No entanto, a gamificação é complicada. É fácil desencorajar as pessoas. Pode até ser acusado de construir um ambiente do tipo de corrida de ratos, se não tiver cuidado. Portanto, esta técnica funciona melhor se a sua marca for muito bem estabelecida.

Preste atenção ao feedback que recebe

Imagem por mcmurryjulie de Pixabay

Informe previamente os candidatos de que cada parte do trabalho de casa está sujeita ao feedback técnico e detalhado dos seus engenheiros. Se a sua empresa tem uma marca forte na comunidade de desenvolvedores, é uma oportunidade fantástica para os candidatos. Note que o feedback será construtivo e garantido, seja qual for o resultado do processo.

Se parte da classificação é instantânea, o feedback é ainda mais rápido e mais ágil. Por exemplo, é possível utilizar testes unitários automatizados.

Note também que o feedback ou revisão do código conterá links para leituras e materiais adicionais, sugestões, etc. Não se concentre num único aspecto como a cobertura ou o desempenho do código. Pode rejeitar candidatos que tenham compreendido mal os requisitos ou não se concentrem nos mesmos valores que você.

O que não fazer no recrutamento de tecnologia

Em resumo, aqui está uma lista de acções durante o processo de contratação que quase certamente desencorajarão os candidatos mais bem adaptados de se candidatarem e diminuirão a taxa de conclusão dos testes de codificação:

  • Não escreva uma longa descrição do trabalho que na realidade esteja a faltar informação valiosa. Ou até mesmo mentir descaradamente

  • Não tem um processo de contratação muito longo

  • Não implementar tarefas que demorem demasiado tempo a completar (1-2 horas é um limite razoável)

  • Não utilize avaliações técnicas que nada tenham a ver com o trabalho diário, a rotina e os negócios da sua empresa

  • Não envie tarefas demasiado longas, aborrecidas, ou demasiado teóricas

  • Não se esqueça de oferecer feedback

Sumário

Como vimos, quando se trata de tentar contratar programadores de software sénior, é importante tratá-los de forma diferente dos outros programadores na sua abordagem. Compreenda que eles não sofrerão tolices. Assegure-se de escrever um anúncio de emprego sucinto e claro se quiser que os engenheiros seniores se candidatem. Certifique-se também de descrever o projecto e a empresa, e não apenas as tecnologias. Seja específico sobre o salário, e realista sobre as suas expectativas. Também precisa de comunicar como irá decorrer o seu processo de recrutamento, e quanto tempo irá demorar.

Finalmente, mantenha os testes de codificação realistas, competitivos e divertidos o suficiente para que os engenheiros seniores os queiram realizar. Têm de ser reduzidos no máximo algumas horas se se quiser que os engenheiros seniores os completem. O tempo é importante. Siga estes passos para ter sucesso e deve dar a si mesmo pelo menos alguma hipótese de sucesso.

Para conselhos técnicos de contratação mais detalhados, descarregue o nosso Ebook de cortesia -
O guia essencial para o sucesso da contratação técnica

Partilhar correio

Saiba mais sobre a contratação de tecnologia

Subscreva o nosso Centro de Aprendizagem para obter informações úteis directamente na sua caixa de entrada.

Verificar e desenvolver as habilidades de codificação sem problemas.

Veja os produtos DevSkiller em ação.

Certificações de segurança e conformidade. Certificamo-nos de que os seus dados estão seguros e protegidos.

Logotipo DevSkiller Logotipo TalentBoost Logotipo TalentScore