Embora a maioria das perguntas da entrevista esteja focada no conhecimento atual de um candidato ou verifique sua habilidade para resolver problemas algorítmicos, eu gostaria de contratar um desenvolvedor que seja apaixonado por programação.
E se, em vez de fazer perguntas como
O que você sabe sobre a tecnologia "X"?
Vou verificar o conhecimento que não está diretamente relacionado à solução de problemas de engenharia de software, mas mostra como você está curioso em relação à TI.
Por exemplo, se eu procurar um desenvolvedor Java, posso perguntar quem são as pessoas mais influentes no mundo Java ou mostrar um snippet básico do Scala e pedir a um candidato para interpretar o código.
Eu até pensei em mostrar uma foto de Alan Turing e deixar o entrevistado adivinhar quem está na foto. Essa prática faz algum sentido?
Respostas:
Tudo o que você precisa fazer é pedir que ele conte sobre um dos projetos nos quais ele mais trabalhou. Você descobrirá mais sobre o entusiasmo dele nos próximos 60 segundos do que jamais poderia mostrar a ele fotografias de notáveis falecidos.
fonte
Isso é trivialidade e conhecimento técnico. Se você deseja descobrir se eles são apaixonados por programação, é necessário engajar a paixão deles de alguma forma, existem algumas maneiras fáceis de fazer isso:
Se nenhum deles acender uma faísca nos olhos, provavelmente você não tem um programador apaixonado. Você pode encontrar alguns que estão ocupados demais com outras coisas - mas eu aposto que você verá uma história ou pelo menos um verdadeiro arrependimento por não ter atingido alguns desses pontos.
fonte
engage their passion
Especialmente perguntando a eles o que os interessou em programação. Acredito que qualquer programador apaixonado continuará longamente sobre esse tópico.engage their passion.
( aviso, postagem longa, apenas parcialmente no tópico )
Bem, eu venho perguntando a mesma coisa há séculos. Cerca de 6 anos atrás, eu estava tentando convencer os recrutadores a entender o que éramos (eles simplesmente marcaram as caixas como você diz).
Na época eu escrevi:
Você nerd como nós? (Carta aberta a recrutadores e candidatos).
Nossa cultura é muito importante para nós, não estou falando de raça aqui, é baseada em antecedentes, como você vê seu trabalho, o que pretende sair do trabalho, como aborda seu trabalho e lida com os outros.
Eu já me confundi com significado de raça, então vou esclarecer agora, isso não é uma coisa baseada em raça, é uma coisa de mentalidade e direção. Trabalhamos com pessoas de muitas raças que foram ótimas. Também conhecemos muitos que são pura e simplesmente inúteis. Portanto, a raça não define o que estamos procurando, é um ajuste "cultural".
Existem muitas subculturas na Austrália, a maioria das quais você não juntaria, estou tentando explicar a nossa - The Geek.
Muitos de nossos trabalhos nos últimos 14 anos vieram de nossos clientes precisam limpar e finalizar projetos que falharam, principalmente porque a empresa contratou o tipo errado de equipe ... custa muito mais do que simplesmente o salário deles, se você conseguir errado.
Agora, tentando escolher esse tipo de pessoa, queremos dizer quando dizemos "como nós":
A linguagem é uma barreira para trabalhar conosco. Temos praticamente nosso próprio idioma aqui, você precisa pelo menos de inglês e alguma habilidade técnica combinada com senso de humor.
Se você não nos entender, não entenderá os requisitos do que precisa fazer ou como o resto de nós implementará a solução ... você não vai durar.
Por que você gostaria de trabalhar conosco?
Agora, você ainda quer trabalhar para nós? Por quê?
Conclusão
Escrevi que em 2004/05, eu próprio fiz umas 50 ou 60 entrevistas, trabalhei com 14 ou mais agências de recrutamento que jogaram alguém que marcou as caixas para mim ... a maior parte foi uma perda de tempo e eu sou péssima em escolher pessoas de uma entrevista.
Até agora, o maior sucesso que tive foi encontrar um único recrutador que entendesse o significado por trás do que foi mencionado acima e o que eu estava procurando e poderia filtrar a lista para as pessoas que se encaixassem.
Agora eu tenho um recrutador em quem confio, conhece meus negócios, conhece minhas necessidades, almoçamos a cada dois meses para me atualizar ... Eu o deixo ir, dou a ele tempo e confio em que ele só me mostrará os candidatos adequados.
O recrutamento é uma área especilista, e enquanto no final do dia você tem a palavra final ... se você tiver o dinheiro, deixe as pessoas com habilidades fazerem o que precisam.
Depois que eles encontram alguém, eu os entrevisto, pergunto sobre sua experiência, seus interesses, as coisas que os motivam, os projetos mais legais que eles fizeram, ouvem sua resposta ao exposto ... uma vez que estou convencido de que os trago para uma segunda entrevista com a equipe durante o almoço, todo mundo na equipe faz perguntas e me informa os polegares para cima ou para baixo ... depois contratamos.
fonte
Alan Turing é um pouco demais, mas nomear uma pessoa influente soa bem para mim. Se me fizessem essa pergunta, eu diria que o cara escreveu Java Efetivo ...
A contratação é uma via de mão dupla. Você precisa conhecer seu pool de talentos primeiro. Se você deseja contratar um programador apaixonado, é necessário fazer algumas perguntas primeiro. Você tem problemas interessantes para eles resolverem? Em segundo lugar, você oferece compensação competitiva?
Se, na realidade, você não pode oferecer os dois, seria melhor se concentrar mais nas habilidades e no profissionalismo.
fonte
As pessoas da 37 Signals escreveram um ótimo post que trata da contratação de grandes programadores.
Você pode ler a postagem para obter detalhes (vale a pena!), Mas pode ser resumida da seguinte maneira: há coisas que você pode pesquisar e perguntar durante a entrevista, como
Você pode reduzir ainda mais o risco de contratar alguém, contratando-o para um pequeno projeto para ver como ele funciona. Isso mostrará como eles lidam com tarefas, gerenciam seu tempo, se comunicam e assim por diante.
fonte
fonte
Não, essa abordagem não faz absolutamente nenhum sentido. Eu reconheceria uma fotografia de Alan Turing e poderia citar algumas luzes de liderança no desenvolvimento de Java, mas isso não diz nada sobre o quão apaixonado eu sou pelo que a programação pode nos oferecer. Nem seguiria a lista de todos os projetos de código aberto nos quais você trabalhou. Parte disso é um conhecimento facilmente adquirido e parte dele é frequentemente usado para curativos de currículo / currículo.
Peça-lhes para descrever um problema do mundo real - não importa o quão trivial - que possa ser corrigido através da programação de uma solução. Não precisa ser algo tão prático quanto identificar a infraestrutura por trás. Você já pensou em como poderia programar seu caminho para uma maneira melhor de fazer alguma coisa. Os idiomas usados são de importância secundária. Ao se conectar a uma linguagem específica, você não está necessariamente conquistando alguém que é apaixonado por programação.
fonte
A definição de paixão é ampla aqui. Eu já vi vários tipos de programadores. Não podemos simplesmente chamá-los de programadores. Para mim, defino um programador apaixonado,
fonte
Você quer pessoas "apaixonadas" ou competentes? Prefiro ter pessoas que conhecem seus negócios, mas que conseguem distinguir entre realidade e realidade do que as crianças que não sabem nada fora da tela do computador, não têm hobbies, exceto alguma coisa de código aberto que estão contribuindo para 16 horas por dia (metade enquanto trabalha nominalmente para mim), etc.
fonte
Faça a ele perguntas do mundo real para resolver problemas
Além de lhe contar quais são as habilidades desse candidato, se você prestar atenção ao entusiasmo com que ele aborda as questões do mundo real para resolver problemas, você pode ter uma noção muito boa de como ele é apaixonado por programação. E se você perguntar a ele diferentes tipos de questões para solução de problemas (algumas questões de codificação, algumas de design de algoritmos, algumas de design de sistema), poderá ter uma noção de quais áreas da programação ele está mais entusiasmado.
Eu sugiro ler Joel no Guia de entrevistas de software da Guerrilla, além de lhe dizer como encontrar essa paixão, ele diz que a paixão não é uma das coisas mais importantes que você está procurando - você está procurando por "esperto". "e" faz as coisas ". (Ele menciona paixão, mas acho que a intenção dele é que seja um sinal das outras duas coisas que você está procurando).
fonte
Eu diria que se você é apaixonado por programação, poderá identificar outras pessoas. Tudo o que você precisa fazer é falar sobre programação que não deve ser difícil durante uma entrevista. E foque no candidato falando. Não se esqueça de qualificar o nível de competência deles, independentemente da paixão deles. Caso contrário, isso pode atrapalhar seu julgamento.
fonte
Pergunte se:
fonte
Antes de contratar programadores apaixonados, é necessário determinar o que você quer dizer com isso.
Quando procuro paixão nos programadores, isso tem a ver com o entusiasmo em sua voz, enquanto eles discutem um problema de trabalho difícil que você teve que resolver. Tem a ver com ser apaixonado o suficiente para obter alguma profundidade de conhecimento e avançar para resolver os problemas difíceis. O que não tem nada a ver é se eles programam fora do trabalho ou podem nomear três programadores famosos do passado olhando suas fotos.
Ao entrevistar, você pode ouvir a paixão na maneira como respondem às perguntas. Eles se aprofundam mais do que as pessoas não apaixonadas e tendem a se entusiasmar com o que dizem. Eles entendem o domínio comercial em que estão programando e podem falar sobre como resolvem problemas e quais sugestões fizeram em seus trabalhos para melhorar os processos de programação ou o design do aplicativo. Eles falam sobre refatoração e padrões de design sem serem perguntados especificamente sobre eles.
Quando falam sobre suas realizações, falam sobre coisas que vão além da codificação básica de um módulo. Eles falam sobre como viram um problema no design e foram refatorados ou sobre como encontraram uma nova técnica a ser usada para resolver um problema difícil e conversam com entusiasmo. É difícil calar uma pessoa apaixonada. Eles realmente querem descrever suas realizações e objetivos para o futuro. Eles podem ter coisas em que especificamente gostariam de trabalhar, que o seu emprego oferece e o atual não. Eles mostram um padrão de crescimento em habilidade e complexidade do que fazem.
fonte
Pergunte o que ele faz em seu tempo livre, se estiver codificando e trabalhando em seus projetos pessoais, é um sinal bastante certo de programadores apaixonados. Nem todos os programadores apaixonados programam seu tempo livre, mas muitos que o fazem são apaixonados
Outra coisa é pedir a ele para estimar o número de horas que ele passou programando, quanto mais horas, mais apaixonado (ajustando a idade)
PS. Não estou dizendo que você deveria gastar todo o seu tempo codificando. Você precisa ter vida, hobbies etc. etc. No entanto, costumamos dedicar tempo às coisas que amamos (dedicar tempo a um cônjuge e a filhos é responsável :) :) por isso, a codificação de tempo extra é um bom indicador do DS.
... e sim, sim, vocês, programadores não apaixonados, podem me rebaixar quanto quiser;)
DS.
fonte
Antes da entrevista, você pode dizer a diferença entre um desenvolvedor apaixonado e o restante pelo currículo. O desenvolvedor apaixonado fala sobre o que eles fizeram, o resto fala sobre como eles fizeram isso. O desenvolvedor apaixonado lista seu blog, projetos pessoais etc. o resto não os possui.
Meu gerente assistiu às minhas primeiras entrevistas e ficou quase chocado quando eu nem sequer analisei um candidato durante a entrevista. Ele me perguntou mais tarde por que eu pulei. "Eu já tinha lido o código dele em seu blog, sei que ele pode codificar".
Durante a entrevista, uma única pergunta identifica a paixão "o que o levou à tecnologia" para uma pessoa, você provavelmente terá que interromper um desenvolvedor apaixonado quando ele começar a se interessar pela primeira vez em que usou um computador, escreveu um programa e assim por diante e assim por diante. Encontro-me tendo que sufocar um bocejo ao ouvir uma resposta do resto.
Finalmente, minha tela de tecnologia começa com perguntas pelas quais um desenvolvedor apaixonado pode se ofender (e eu prefácio como tal); o desenvolvedor não apaixonado pode responder a alguns ou mesmo a todos corretamente; o desenvolvedor apaixonado as enaltecerá como se tivessem uma folha de dicas.
Meu preconceito é contratar um desenvolvedor apaixonado com menos experiência do que um desenvolvedor experiente que não deseja aprender e crescer. O fato claro e simples é que a tecnologia muda muito rapidamente para contratar alguém que não fique a par das tendências futuras sem que o trabalho exija.
Eu reconheço totalmente que isso não é prova de idiotas. Algum talento de qualidade pode escorregar pelos meus dedos por causa do meu método. Sei que há pessoas altamente qualificadas, mas que ligam o computador aos 5. Por outro lado, fico regularmente impressionado com o programador apaixonado e, independentemente dos anos de experiência, rapidamente percebo que estou aprendendo tanto com eles quanto eles são de mim.
fonte
Todas as ótimas respostas aqui - eu acrescentaria que muitas vezes pergunto se o candidato trabalhou com o código de outras pessoas (às vezes recém-saído da faculdade) e, nesse caso, qual é a maior irritação que eles têm com esse código antigo. Às vezes, eles descrevem padrões ruins e como os corrigem. Eu tomo isso como um bom sinal. Outras respostas podem mostrar a você um programador muito descontraído ou alguém é pedante ... algo que você pode ou não querer.
fonte