Perguntas a serem feitas durante entrevistas com desenvolvedores

Eu sou praticamente um entrevistador profissional agora. Tenho feito entrevistas de tecnologia constantemente nos últimos meses. Prometi a mim mesma que mesmo depois de conseguir um emprego, continuarei fazendo as entrevistas.

A razão pela qual venho entrevistando há tanto tempo é porque sou péssimo em entrevistas. Quando comecei a programar, era péssimo nisso (como todo mundo quando começaram a programar). Eu melhorei programando muito. Aplique a mesma lógica às entrevistas e eu ficarei bom em entrevistas se fizer muito isso.

Ser bom em programação não tem sentido se você não consegue um emprego fazendo isso. Ter ótimas habilidades de programação é totalmente contrário a grandes habilidades de entrevista. Tive colegas de trabalho que poderiam passar em qualquer entrevista em que você os colocasse, mas não conseguiam codificar para sair de um saco de papel. Eu sou exatamente o oposto. Eu posso resolver qualquer problema técnico, mas não posso entrevistar minha maneira de sair de uma página de papel.

Atualmente, estou lutando contra o conceito de fazer perguntas ao entrevistador. No final da entrevista, o entrevistador pergunta “você tem alguma pergunta para mim?”. No passado, eu sempre respondia “não, não agora”, porque normalmente fico muito nervoso e desconfortável (porque sou péssimo em entrevistas), e quero apenas acabar logo com isso. Além disso, quando você é um mendigo (desempregado), você não pode escolher. Na verdade, nunca fiz uma entrevista de emprego enquanto estava empregado, então nunca tive o luxo de ter que recusar uma oferta de emprego.

Outra razão pela qual não sou fã da sessão de “perguntas da entrevista reversa” é que a maioria das coisas que me interessam não podem ser explicadas em palavras. As coisas que eu realmente preciso saber só podem ser respondidas examinando o código, navegando no rastreador de bug e sentando-se com a equipe durante uma semana.

Ao longo dos últimos meses, fui melhorando lentamente em inventar coisas para perguntar durante esta parte da entrevista. No início, eu apenas faria um monte de perguntas aleatórias para as quais eu realmente não me importava em saber a resposta.

Um exemplo é “Qual editor de texto a maioria dos seus programadores usa”. Parece uma boa pergunta porque … bem, não sei por quê, mas parece o tipo de pergunta que alguém faria ao seu empregador em potencial. Mas a questão é que não me importo com o que outras pessoas usam como editor de texto. Nem me importo com a maioria das outras “perguntas da entrevista reversa” típicas.

Aqui está uma lista de algumas perguntas que formulei juntos, que agora uso quando me perguntam “você tem alguma pergunta para nós”.

  1. “Como é o seu backlog?” – Grandes empresas têm uma carteira cheia de tickets filosóficos. As empresas ruins têm problemas técnicos específicos. Acredite ou não, as melhores empresas de todas não têm nem mesmo um bug tracker. Eu nem mesmo uso um bug tracker para nenhum dos meus problemas pessoais. Quando surge um bug, eu o corrijo imediatamente. Não preciso rastrear bugs. Nunca vi uma empresa que não usasse um bug tracker, mas se eu encontrasse um, ficaria mais impressionado do que revoltado.

  2. “O que você procura em um grande desenvolvedor” – quero que o entrevistador me explique como ele está me julgando. O que ele está procurando. Que características ele está procurando? Quanto mais simples for a resposta, mais sem noção a empresa será. Quanto mais complexa for a resposta, melhor será a empresa. Penso no conceito de “o que faz um grande desenvolvedor” quase todos os dias da minha vida. Sinto que poderia escrever um volume inteiro sobre o assunto. Eu esperava que eles dissessem algo como “Faz mais coisas do que fala sobre coisas”. Os melhores desenvolvedores fazem, os desenvolvedores mais ruins falam sobre fazer.

  3. “O que você procura em um grande gerente” – Os gerentes são essenciais para uma grande equipe de desenvolvimento de software. Uma equipe sem gerente é uma equipe que não está tendo o máximo de eficiência. Para mim, um grande gerente é alguém que tem ótimas habilidades com as pessoas, mas não necessariamente grandes habilidades de programação. Exigir que um gerente tenha habilidades técnicas excepcionais é como exigir que um arremessador tenha grandes habilidades de rebatida. Quero trabalhar para um gerente que passa seus dias gerenciando, não enterrando o rosto em um problema técnico.

  4. “Qual banco de dados você está usando e por que você escolheu” e / ou “Que linguagem você está usando e por que escolheu” Novamente, eu realmente não estou procurando uma resposta específica, estou procurando que eles colocaram algum esforço em sua decisão. Estou especialmente interessado na resposta deles se eles estiverem usando o MongoDB. Já vi muitas empresas usarem o Mongo e não conseguirem comunicar por que tomaram essa decisão. “Porque queremos eventualmente ser na escala da Web e o SQL não é na escala da Web” é uma grande bandeira vermelha.

Se eu pudesse resumir minha lista de perguntas a uma única máxima, seria “as perguntas que eu gostaria que o entrevistador me fizesse”. Minhas perguntas são muito abertas e filosóficas, o que é um contraste gritante com as perguntas do tipo fizzbuzz diretas e fechadas que costumo ouvir.