Se isso faz você se sentir melhor, existem maus programadores em praticamente todos os países. Como eliminá-los é o problema.
A primeira remoção de ervas daninhas é o currículo. Uma coisa que procuro é muita experiência no idioma reivindicada e nada para descrever o que eles fizeram nesse idioma. Eu vi currículos que afirmam que conhecem todos os idiomas já inventados e, no entanto, sua experiência mostra que eles realmente só trabalharam com o Access e o Visual Basic. Aqueles vão direto para o lixo. Os resumos de 10 páginas vão direto para o lixo (especialmente os de dez páginas de pessoas com menos de 2 anos de experiência que obtive). Desde os recém-formados com pouca experiência, é preciso ser muito exigente sobre como eles se apresentam. Os melhores candidatos são cuidadosos com seus currículos, eles não têm erros. Você está realmente procurando alguém que se preocupa tão pouco que não se preocupou em revisar seu currículo?
Os currículos preparados profissionalmente também estão no lixo. Depois de ler centenas de currículos, você pode selecioná-los, pois eles usam exatamente o mesmo fraseado. Você não pode confiar no conteúdo em um currículo preparado profissionalmente e sabe que a pessoa não fez sua própria preparação. Este é o tipo de pessoa que confiará nos outros para resolver seus problemas para ele. Você realmente quer isso em uma posição de programação?
Procure coisas que façam a pessoa se destacar pelas que você escolher. É mais difícil, é claro, com os que estão fora da escola, mas procure realizações, contribuições para o código aberto, etc.
A próxima eliminação é a entrevista por telefone. Pergunte sobre conceitos básicos que se relacionam com o trabalho que você tem. Se as pessoas não têm conhecimento básico de conceitos que você precisa, não vale a pena se incomodar em trazer uma entrevista pessoal. Os jovens costumam pensar que isso é injusto, porque podem procurar tudo na Internet, mas a verdade é que nunca conheci um bom programador que tivesse que procurar tudo na Internet. Você deve ter algum conhecimento de sua profissão que não precise procurar sempre.
Após a entrevista por telefone, você deve escolher os melhores 4-5 candidatos e a entrevista. É claro que se você tiver apenas 1-2 bons candidatos, não se incomode em entrevistar pessoas que você já eliminou. Agora você fará as perguntas mais difíceis e terá uma ideia de como elas abordam os problemas. Eu nunca usaria o teste fizzbuzz porque é muito conhecido, portanto as respostas não dizem nada. Em vez disso, crie alguns problemas a partir de sua própria base de código. Posso dar a eles um requisito e um pedaço de código e perguntar se o código atende ao requisito e, se não, por que não e o que eles podem fazer para atender ao requisito. Eu pediria que descrevessem o problema de programação mais difícil que tiveram que resolver e que medidas foram tomadas para encontrar a resposta. Gostaria de fazer algumas perguntas técnicas mais aprofundadas. Lembre-se de que você está tentando entender a competência técnica deles, a capacidade de resolver e depurar problemas e de se adaptar à sua equipe existente. Também faço perguntas que eles provavelmente não sabem a resposta para julgar como lidam com o estresse, é um trabalho estressante, não quero alguém que se dobre na entrevista porque o estresse do trabalho é maior que o estresse da entrevista . Eu procuro pontos fortes nas áreas em que atualmente somos fracos e capacidade de trabalhar em equipe e de nos apresentar aos clientes (nossos desenvolvedores lidam extensivamente com os usuários), sua lista pode ser diferente. não quero alguém que desista da entrevista porque o estresse do trabalho é maior que o estresse da entrevista. Eu procuro pontos fortes nas áreas em que atualmente somos fracos e capacidade de trabalhar em equipe e de nos apresentar aos clientes (nossos desenvolvedores lidam extensivamente com os usuários), sua lista pode ser diferente. não quero alguém que desista da entrevista porque o estresse do trabalho é maior que o estresse da entrevista. Eu procuro pontos fortes nas áreas em que atualmente somos fracos e capacidade de trabalhar em equipe e de nos apresentar aos clientes (nossos desenvolvedores lidam extensivamente com os usuários), sua lista pode ser diferente.