Como posso saber em uma entrevista se um programador é apaixonado por programação? [fechadas]

102

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?

mauris
fonte
119
Só porque alguém pode soltar nomes de programadores influentes não significa que eles são apaixonados por programação. Eu me considero um programador bastante apaixonado, mas não consegui dizer como é o rosto de Alan Turing neste momento. Embora agora que eu tenha visto sua pergunta, tenha certeza de dar uma olhada rápida na página da Wikipedia antes de iniciar futuras entrevistas.
Robert Harvey
11
Concordo com o Robert: tenho uma memória terrível quando se trata de nomes (e rostos). Existem alguns livros sobre os quais eu poderia falar por algum tempo, mas eu poderia dizer a você os autores para muito poucos.
Joachim Sauer
27
Enquanto contratar uma pessoa apaixonada é realmente o desejo de todos, é preciso ter cuidado ao fazê-lo. Interagir com alguém que é apaixonado por algo normalmente leva a um nível mais alto de envolvimento. Em uma situação de entrevista, isso pode levar a uma impressão mais favorável sobre um indivíduo mais qualificado e capaz, mas menos apaixonado, especialmente se você tiver tempo limitado e pular as partes técnicas. Por isso tem cuidado. Além disso, a paixão não é tudo, um "idiota apaixonado" ainda é um idiota, enquanto um "gênio desinteressado" ainda é um gênio, e eu sei qual dos dois eu preferiria ter.
CdMnky
37
@ Robert Harvey: Eu concordo. O namedropping é apenas para exibições. Don Knuth me disse que :-)
Jörg W Mittag
11
@ yes123, não comecei a programar até a faculdade e me considero um programador apaixonado. Tenho certeza de que há muitos programadores apaixonados que começaram mais tarde na vida. Não acho que exista correlação entre quando você começou a programar e o quanto se importa com a programação.
zzzzBov

Respostas:

229

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.

Robert Harvey
fonte
34
Além disso, você deve certificar-se de que "projeto que ele trabalhou em" não inclui projetos que ele foi'nt contratados para
keppla
6
Concordo com o Keppla: peça especialmente para projetos de tempo livre / código aberto. Não consigo imaginar alguém entusiasmado com alguma coisa e não ter vontade de fazer isso em seu tempo livre.
LennyProgrammers
106
@ Lenny222: Eu me considero um programador entusiasmado, mas simplesmente não tenho tempo para codificar no meu tempo livre. Eu tenho uma vida além da codificação também! E quando eu codifico no meu tempo livre, sou contratado principalmente por isso. Mas também leio muitos artigos e livros no meu tempo livre e visito este site mesmo aos sábados e domingos.
Falcon
8
@Falcon: Concordo, você poderia ser um programador apaixonado, mas afinal você também é humano, tem uma vida, tem uma família, filhos, etc ... no meu tempo livre, leio o que há de novo em programação (RSS, tweater, facebook etc ...) enquanto brincava com meu filho ou enquanto ouvia minha esposa :), então um profissional que eu sou apaixonado: minha esposa precisa fazer "algo" em um PC, então eu escrevi para ela um programa para ajudá-la ( bookmarlets JS somethimes simples, somethimes festa ...);)
Radu Maris
9
@keepla, as pessoas apaixonadas por seus empregos geralmente não precisam programar à noite. Estou entusiasmado e apaixonado pelo que faço, mas tenho outras coisas para fazer à noite. É fundamental que as pessoas tenham outras paixões também ou que se extinguirão em apenas alguns anos.
HLGEM
71

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.

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:

  • Descubra se eles leem blogs / revistas de programação
  • Veja se eles programam fora do trabalho como um hobby
  • Veja se eles estão envolvidos em algum grupo ou organização de usuários
  • Pergunte a eles o que os levou a programar e se isso ainda é uma motivação para eles
  • Descubra se eles têm uma conta StackExchange

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.

DKnight
fonte
11
+1 engage their passionEspecialmente perguntando a eles o que os interessou em programação. Acredito que qualquer programador apaixonado continuará longamente sobre esse tópico.
George Marian
3
+1. Normalmente, eu as resumi em uma pergunta como "que tipos de coisas você faz fora do trabalho para acompanhar as tecnologias?" esperando ouvir algo sobre projetos Open Source, podcasts, atendendo SIGs / Grupos, etc.
rally25rs
Recentemente, entrevistei um cara que saiu de uma empresa porque estava dando a ele um trabalho repetitivo e ele queria trabalhar em algo interessante e dinâmico. Mas, perguntando "que tipos de coisas você faz fora do trabalho para acompanhar as tecnologias?" e "sobre um dos projetos nos quais ele mais gostou", ele não tinha nada a acrescentar. Mas senti algumas paixões. Acho melhor julgar "se ele desistirá ou continuará a encontrar uma solução".
Rubish Gupta
@ George Marian Eu faço todas as outras coisas listadas, mas se você me perguntasse por que me interessei em programar, minha resposta seria bastante curta. Eu até passo muito do meu tempo em programação doméstica (sem filhos) por diversão! Minha resposta, no entanto, seria "eu sempre me interessei por computadores e meu pai era um programador, então eu nasci naturalmente atraído por esse círculo". Por favor, não desconte alguém com base na resposta a esta pergunta.
M4tt1mus
@mattimus Um ponto justo. Note que não é uma ciência exata. Após uma resposta como a sua, eu perguntaria: Por que os computadores lhe interessam? O que há neles que lhe interessa? Além disso, eu prestaria atenção em como as perguntas são respondidas, e não apenas em quais palavras são usadas para respondê-las. Essa é uma das razões pelas quais destaquei a fraseengage their passion.
George Marian
29

( 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.

  • Muitas pessoas precisam de instruções explícitas: "A> B> C> D"; outras, você fornece A e algumas informações e elas elaboram B> C> D e E por conta própria. Estamos procurando o segundo grupo.
  • As pessoas simplesmente concordam com você porque você é "sênior" para elas. Outros irão expressar suas opiniões e contribuir com suas idéias. Queremos o segundo. Subestima-se que, se a decisão for contra eles, eles ainda se jogarão nela.
  • Algumas pessoas aprenderam de maneira mecânica: você faz A, então B e C, o que lhe dá X. Outras aprenderam como aprender e pensar. Veja além do imediato e resolva o problema subjacente.

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":

  • Bons inventores, grandes idéias, terríveis e finalizando um projeto. Isso está me descrevendo. Precisa contratar pessoas para atender a esse problema.
  • Otimizadores e "realizadores" fantásticos, se você quiser que ele funcione muito bem, obtenha-os. O outro lado está estreitando o foco e leva muito tempo para chegar lá. Geralmente boa característica tecnológica, mas geralmente não pode conversar com o mundo exterior.
  • Muito bom e sabe “o caminho certo” e o trabalho “de ponta a ponta”. Eles podem ver um projeto do início ao fim e não perder nada. "Porque deve ser feito assim". Essa é uma atitude que temos aqui; os clientes sabem disso e pagam por isso. Combine isso com os “executores” e eles são ideais.
  • Caminho mais rápido para o resultado imediato. Diga a todos sobre isso, em voz alta, um pouco arriscado. (Não se importe de fazê-lo funcionar). Bom para iniciar, ruim para negócios estabelecidos que precisam de consistência. Em uma função pura de Suporte / Manutenção, isso é bom, desde que outros desenvolvedores estejam limpando depois. A criação de protótipos e a prova de conceito funcionam muito bem.
  • Geralmente interessado. O que está acontecendo ... conte-nos, o que posso fazer, como posso adicionar meu valor a ele, seja como conhecimento ou suor (continuando com algo que eles vêem como necessário).
  • Alunos / trabalhadores do processo. Onde o projeto foi planejado até o final do curso e eles têm “a parte deles” a fazer, e é isso. São bons em equipes muito grandes. Não há perigo de “tangentes” serem tomadas e resultados inesperados em 1/200 pessoas. Eles esperam receber sua lista de “o que fazer” e depois fazem isso e voltam para a próxima parte. Muitas culturas (tanto de raça quanto de escolaridade) em todo o mundo tendem a aprender mecanicamente ou a trabalhadores do estilo Boss / Underling. Esse estilo de pessoa é inútil para nós, envie-os para empresas maiores.
  • Nosso pessoal é igual em uma equipe, espera-se que trabalhe dentro da equipe para atingir as metas estabelecidas pelo cliente.
  • Você faz o que for necessário para conseguir o emprego.
  • Você dá opiniões e perspectivas sem apego.
  • Você pensa nas coisas e analisa casos de fronteira.

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?

  • Você é pago. Tudo bem, não é o mesmo que você ganharia no "mundo real", mas é um bom dinheiro.
  • Você começa a participar de decisões. Embora os diretores tenham a palavra final, queremos ouvir de todos, o que pensam, como e por que pensam. Tudo ajuda.
  • Você começa a pesquisar suas próprias coisas. Interessado em coisas geek, codificação, novos produtos, desenvolvimentos mais recentes de guerra entre MS e Linux, técnicas de design. Todas essas coisas você recebe tempo toda semana para pesquisar e descobrir o que deseja. Você apenas precisa compartilhar com todos os outros.
  • Você pode experimentar novas tecnologias. Por meio de pesquisas ou de novos projetos, queremos experimentar coisas novas e projetar coisas novas. Os projetos existem para nos permitir fazê-lo. (desde que ajude o cliente e não custe mais do que o projeto)
  • Você não é obrigado a usar ternos. A menos que a situação exija, como visitar clientes ou eventos.
  • Queremos que você aprenda mais e o conduza a um treinamento direcionado para melhorar o que você sabe.
  • Normalmente, você não é solicitado a executar 9-5. Se você está executando o suporte a um contrato que é 9-5, então o faz, caso contrário, faça o trabalho e não abuse do privilégio.
  • Ótima equipe para trabalhar. Bem, pensamos assim de qualquer maneira, rimos umas das outras por polidez e não temos uma punhalada na política de costas. 
  • Nós somos nerds também. Alguns de nós têm amigas e filhos, mas não deixam isso te enganar.
  • Apreciamos o respeito de algumas grandes empresas e podemos entrar sem questionar.
  • Nossa base de clientes está espalhada pela Austrália e em todo o mundo. Deixa muito espaço para viagens e
  • Construímos um relacionamento muito bom com nossos clientes e funcionários, o que significa que temos muitas pessoas com quem podemos beber.
  • Se você tiver uma necessidade ou um problema, não nos importamos em tirar uma folga para resolvê-lo. Contanto que você faça a diferença com algumas horas extras mais tarde.
  • Suas idéias são valorizadas e você obtém uma recompensa maior por essas idéias.
  • Você compartilha o sucesso da Redgum.

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.

Robin Vessey
fonte
16
+1 por mencionar "(aviso, publicação longa, apenas parcialmente no tópico)" :) #
treecoder 25/07/11
Uau, você está contratando? :)
Josh
@ Josh, na verdade, sim, estamos, mas estamos em Melbourne, na Austrália :) Bela biografia, definitivamente, o tipo de perfil que procuramos.
22611 Robin Vessey
Muito bem dito - eu tive chicotada por acenar com a cabeça tanto. E você tem o mesmo 'dom para a brevidade' que eu tenho (Não é que eu escrevo muito, todo mundo apenas lê muito lento!)
Ben A. Hilleli
21

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.

thinkanotherone
fonte
14
+1 Você não pode contratar programadores apaixonados, a menos que tenha um emprego exigindo e recompensando essa paixão tanto ou mais que todas as alternativas concorrentes disponíveis para esse tipo de programador.
hotpaw2
Solicitação de esclarecimento, você diria "o cara escreveu Java eficaz" ou "Joshua Bloch"? :)
fredoverflow
@FredOverflow - Por que lembrar seu nome real quando um typedef funciona? : D
Brendan Long
8

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

  1. Quão opinativos eles são?
  2. Quanto eles contribuem para projetos de código aberto?
  3. Quanto eles gostam de programar?
  4. Eles realmente enviam?
  5. O que eles dominaram?
  6. Quão bem eles se comunicam?

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.

Soner Gönül
fonte
4
Não é permitido copiar a postagem do blog inteira e publicá-la de uma maneira que pareça seu próprio trabalho com base nessa publicação, mesmo com um link. A postagem que você copiou está protegida por direitos autorais e você não pode republicá-la na íntegra. Atualizei sua resposta para fornecer apenas um resumo do artigo e um link para ele.
Adam Lear
4
  • inicie uma conversa casual sobre padrões de design / antipadrões / práticas de programação - e veja como o candidato está informado. Quão interessantes ou refrescantes são as opiniões deles. E, tenham ou não idéias próprias sobre essas coisas
  • fale sobre um problema do mundo real e veja como o candidato começa a propor as soluções
  • veja quanto (e quanto tempo) um candidato pode falar sobre programação (a filosofia NÃO a mecânica) sem se referir a uma tecnologia ou linguagem específica. Veja se o candidato é um visionário ou se trata de parafusos e porcas
  • peça que eles falem sobre seus recursos mais fantasiados em uma linguagem de programação - um programador apaixonado sempre terá fantasias de recursos
  • pergunte a eles sobre programação e veja se eles conhecem alguns dos populares
  • testar seu senso de humor na programação
codificador de árvore
fonte
3

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.

tentador
fonte
2

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,

  1. Quem conhece os fundamentos da programação (quero dizer os fundamentos reais). Sério, mostra a atitude e os recursos de aprender coisas novas em tempo real, embora não estejamos usando diretamente os fundamentos do código de produção.
  2. Ele deve ter capacidade de se aprofundar nos problemas e tecnologias. A maioria dos programadores é especialista em usar coisas prontas, mas isso ajuda apenas a uma extensão.
  3. Ele deve estar atualizado com as tecnologias e atualizações industriais que possui. Eu realmente odeio programadores que não estão prontos para dedicar algum tempo para ler coisas. A maioria das pessoas aqui são inteligentes, estão prontas para resolver os problemas. Vi pessoas inteligentes gastando horas e horas com os problemas conhecidos. O que realmente falta é a capacidade de ler.
  4. Um programador apaixonado será igualmente apaixonado pelo usuário e não pelo seu código. Ele faz tudo na perspectiva do usuário.
  5. Deve mostrar as habilidades para usar / criar boa arquitetura de software gradualmente ao longo do período.
sarat
fonte
+1 ótima resposta. Gosto da maneira como você colocou "use / crie boa arquitetura de software gradualmente ao longo do período".
Karthik Sreenivasan
2

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.

jwenting
fonte
2

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).

Ken Bloom
fonte
1

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.

JeffO
fonte
1

Pergunte se:

  • Eles respondem a perguntas nos sites StackExchange
  • Eles têm um blog ou site?
  • Eles fazem projetos paralelos (possivelmente comerciais)
  • Eles contribuem para projetos de código aberto.
Scott C Wilson
fonte
5
Faço pouco disso porque meu trabalho atual exige mais de 50 horas por semana, mas ainda acho que sou apaixonado.
Job
1

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.

HLGEM
fonte
0

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.

konrad
fonte
2
Estou interessado em pessoas que são apaixonadas pelo que estão sendo pagas para fazer, não em entusiastas. A paixão é mais sobre o aprendizado profundo e a empolgação em fazer o seu trabalho do que trabalhar em código aberto, o que geralmente é um prejuízo para o comportamento profissional, pois as pessoas estão mais interessadas em coisas divertidas do que em seu trabalho.
HLGEM
Primeiro, um programador apaixonado não é um hobby. Ele codifica no "trabalho" e em casa e é apaixonado por ambos. Em segundo lugar, você terá dificuldade em convencer um programador apaixonado a aceitar um trabalho que não é, pelo menos até certo ponto, divertido. Eu realmente me ofendo com a atitude de um empregador em relação a um funcionário que não deve ter "muita diversão" do lado, para que eles possam se concentrar em seu trabalho "sem saída".
Homde 25/07
1
programar em código aberto é um hobby. Eu poderia me importar menos com seus hobbies e legalmente provavelmente nem deveria estar perguntando sobre eles. Quero alguém que traga a paixão para o trabalho. Por isso, procuro pessoas apaixonadas pelo que fazem durante o horário de trabalho. Não vou pensar que as pessoas não são apaixonadas porque não fazem Open Source.
HLGEM
Eu não disse nada sobre código aberto, apenas que eles codificam e aprendem sobre codificação em seu tempo livre, seja um projeto de estimação, código aberto, a criação de um aplicativo móvel por diversão ou qualquer coceira que eles querem arranhar e que não podem trabalhar . É claro que eles também precisam trazer essa paixão para o trabalho, mas esse é o ponto. Um mestre carpinteiro empregado é apaixonado tanto pelo trabalho que realiza como empregado quanto por si mesmo. Ele pode estar mais apaixonada sobre o projeto que ele chegar de escolher ele próprio, mas isso é muito natural
Homde
0

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.

Michael Brown
fonte
-1

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.

Jody
fonte
1
atitude errada de sua parte. OMI alguém que sai e muda o código aparentemente aleatoriamente porque ele não gosta dos padrões usados ​​nele é um trapaceiro que faz mais mal do que bem. Todas as alterações no código existente devem servir a um propósito específico, e esse objetivo deve estar diretamente relacionado à correção de problemas identificados ou à implementação de novas funcionalidades, nunca "Não gosto de como o cara anterior fez as coisas, então vou reescrever o lote dele "(que é uma atitude comum entre os juniores que tiveram a cabeça cheia de teoria, mas nunca se programaram na realidade.
jwenting
É justo, mas eu não estava procurando por eles para mudar isso ... apenas para me importar quando está errado e para não fazer as mesmas coisas. Normalmente, recebo respostas como funções muito grandes, sem comentários no código, sem tentativa / captura.
Jody