claro o que cabe a cada um. E identificar bons programadores, do ponto de vista tecnico, cabe a bons programadores.Qual o contexto?Se alguem me disser: Preciso de um bom programador, voce tem alguem pra indicar?. Minha resposta sera: Depende, o que ele fara?. O fato de alguem ser um bom programador nao quer dizer que ele e adequado para todos os tipos de trabalho que envolvem criacao de software. Num extremo ha os trabalhos que exigem um perfil mais generalista, no outro os que exigem um perfil altamente especialista. No meio esta a maioria, onde se exige um misto desses dois perfis. Essa e outras peculiaridades do trabalho formam o que chamo de contexto.Se voce ja programou por algum tempo e conheceu varios outros programadores, sabe que nao se pode dizer que fulano e melhor que beltrano e ponto final. Lembre-se: programadores sao pessoas, nao mercadorias. As habilidades de duas pessoas nao podem ser comparadas como se mede altura delas (ambos tem a mesma altura ou um e maior e outro menor). A comparacao deve ser feita mais ou menos como se comparam dois graficos de barras. Em algumas barras (habilidades), um candidato pode parecer melhor que outro, em outras, equivalente ou pior. O contexto ajuda o recrutador a descobrir que barras do grafico sao mais relevantes para o processo seletivo em questao. As ferramentasA seguir, algumas das ferramentas que ja utilizei para identificar bons programadores.O bom e velho curriculoO curriculo ainda faz parte da primeira etapa de avaliacao de candidatos na maioria das empresas. Nao tenho nada contra eles, desde que nao sejam supervalorizados. Eles sao otimos para demonstrar habilidades de redacao e marketing, mas ineficientes para demonstrar se alguem tem talento para fazer software. Seja como for, ha algumas informacoes pelas quais tenho interesse especial ao ler curriculos:Primeiras experiencias: Se as primeiras experiencias do candidato aconteceram quando ele ainda era bem jovem, possivelmente se trata de alguem autodidata. Pontos adicionais sao somados se essas experiencias estiverem relacionadas a trabalhos autonomos, feitos para si mesmo ou para outros.Raridade de conhecimento: Apesar de o conhecimento diretamente ligado ao trabalho que sera executado ter sua importancia, gosto de ver que o candidato tem conhecimentos tecnicos nao muito solicitados pelo mercado. Nao tanto pela utilidade direta desse conhecimento, mas pelo que ele representa. Investir tempo em aprender algo que nao trara um retorno imediato geralmente revela um candidato apaixonado pelo que faz, alem de interessado em se aperfeicoar e nao apenas em ter um bom emprego. Ademais, certos conhecimentos abrem a mente para novas formas de resolver problemas.Trabalhos notaveis: A realizacao de trabalhos com grau de dificuldade elevado, nao convencionais, inovadores ou de grande responsabilidade sao algumas das coisas que tornam a experiencia de um candidato algo notavel. Programadores talentosos, muitas vezes atraem para si esse tipo de trabalho.Apesar de muitas vezes ficar bem impressionado e curioso para conhecer alguns candidatos por causa dos seus curriculos, e preciso reconhecer que com uma leitura de curriculo, podemos apenas descobrir que um candidato nao serve para a vaga. Sera preciso muito mais que isso para descobrir