É sensato perguntar sobre decisões de design feitas em um produto durante uma entrevista? [fechadas]

51

Eu tenho pensado sobre as perguntas da entrevista ultimamente e tenho refletido sobre más experiências de entrevista que tive no passado. Uma das particularidades é quando perguntei ao entrevistador por que a equipe escolheu usar o EJB 3 em vez do Spring em seu produto. O entrevistador praticamente me tirou a cara, gritando "Porque o Spring não é o melhor e acaba com todo o desenvolvimento de software Java, você quer esse trabalho ou não?". Em resposta a isso, eu disse a ele que isso provavelmente não era o trabalho para mim e eu prontamente saí da entrevista.

Fui informado no início da entrevista que a empresa tinha alta rotatividade de pessoal, o produto que eles estavam trabalhando foi inicialmente criado em Modula-3, depois portado para Perl e, finalmente, para Java. Recebi um livreto de 10 páginas de perguntas técnicas sobre Java, EJB, SQL e JDBC, e me fizeram perguntas sobre as pilhas de tecnologia com as quais trabalhei. Quando solicitado a fazer perguntas, senti que era razoável perguntar-lhes sobre sua pilha de tecnologia e obter respostas razoáveis, não para colocar o entrevistador em chamas.

Pergunta: É uma boa ideia investigar as escolhas arquitetônicas feitas em uma entrevista? Se não, por quê?

Do meu ponto de vista, uma entrevista é um processo de mão dupla. Se os entrevistadores estiverem testando minhas habilidades técnicas, tenho todo o direito de fazer as mesmas perguntas:

1) Descobrir qual é a sua mentalidade e atitudes em relação ao desenvolvimento de software. 2) Determine se a sua abordagem está de acordo com a forma como abordaria problemas desse tipo.

É possível que o entrevistador que ficou com raiva tenha pouca experiência em entrevistas e tenha esquecido que uma entrevista é uma troca de mão dupla. Se me perguntassem isso, eu teria dado uma resposta razoável, mas certamente não teria tentado colocar um entrevistado em um estado de capitulação manso, onde a cabeça apenas balança para cima e para baixo sem nenhuma conversa.

    
por Desolate Planet 25.03.2012 / 12:25
fonte

10 respostas

53

Pessoalmente, acho que entrevistar pessoas é quase tão exaustivo e estressante quanto ser entrevistado. Mas isso é porque eu concordo com você que o processo de entrevista é uma troca de mão dupla.

Eu não me importo com o quão bom você é, eu não quero te contratar se você não vai ser feliz trabalhando lá. Esse é um jogo caro para jogar. Por isso, quero responder a quaisquer preocupações que possa ter e mostrar-lhe a equipa e o produto como estão, para que possa tomar uma decisão informada.

Quando procuro um emprego, quero trabalhar com alguém que compartilhe essa atitude. E, mesmo que eu suspeite que conheço as respostas às perguntas, pedirei a elas que vejam a reação. A agressão nunca é um sinal de alguém confortável com uma situação.

Eu não minto em uma entrevista, em ambos os lados da mesa, porque então eles pensam que estão contratando alguém diferente / indo para algum lugar diferente. E eu espero o mesmo em retorno, da pessoa do outro lado da entrevista.

Infelizmente, isso significa que ocasionalmente me deparo com entrevistas como a que você descreveu. São experiências horríveis? Sim. Eu saio de lá sabendo exatamente onde a entrevista deu errado? Sim.

Mas estou muito certo de que toda experiência horrível teria sido consideravelmente pior se eu conseguisse o emprego ou contratasse a pessoa errada? Inferno sim.

    
por 12.11.2011 / 17:12
fonte
16

Sim, não há problema em perguntar se você é genuinamente curioso e se a resposta é importante. Acho que perguntar mostra que você entende que há mais de uma maneira de fazer as coisas e mostra que você está interessado em saber como o software foi escrito.

Dito isso, você precisa ser muito cuidadoso ao formular a pergunta e ser duplamente cuidadoso sobre como continua a conversa. É fácil parecer difícil desafiar suas decisões. A última coisa que você quer é que o entrevistador acredite que você acha que é mais inteligente que eles. Se você é genuinamente curioso, pergunte. Se você acha que eles fizeram uma má escolha, mantenha sua boca fechada.

Se eu estivesse na situação descrita na pergunta, em vez de sair eu poderia ter dito algo como "oh sim, eu concordo que a primavera definitivamente não é a solução certa para tudo. Obrigado por me informar um pouco sobre sua arquitetura! Estou sempre procurando insights sobre como escolher as ferramentas certas ". (entretanto, sua pergunta é estranha - você pergunta por que eles escolheram a primavera, e eles a escolheram porque não foi o fim de tudo?)

    
por 12.11.2011 / 17:59
fonte
15

Como alguém que freqüentemente entrevista pessoas, eu pessoalmente gostaria de receber uma discussão sobre por que determinadas tecnologias ou escolhas de design foram feitas, o que faríamos de maneira diferente se tivéssemos o luxo de recursos ou estivéssemos começando um novo projeto. Eu geralmente vejo isso como um sinal sobre alguém que se importa com seu ofício, e a menos que seus dogmas e os nossos não sejam compatíveis, eu provavelmente classificaria esse candidato mais do que alguém que apenas responda perguntas técnicas com competência.

Atualmente, estou trabalhando em um projeto para um cliente que tem um legado de decisões arquitetônicas bem-intencionadas, mas mal implementadas, e candidatos que expressam curiosidade sobre o mundo como ele é, e o caminho a seguir como o vemos, são geralmente os tipos de pessoas com quem gostaríamos de trabalhar. Queremos pessoas capazes de realizar as devidas diligências e validações apropriadas sobre decisões de projeto e implementação de nossa equipe. Geralmente valorizamos as pessoas que trazem algo para a mesa que não temos, ou não temos o suficiente.

Quando sou candidato em uma entrevista, dou qualquer sinal de hostilidade ou defensiva quando esses tipos de discussões acontecem como um mau sinal, já que uma organização que não é capaz de se auto-examinar normalmente também está em processo e tecnologia. pântano que eles são incapazes e, provavelmente, dispostos a trabalhar fora de seu caminho. Se não vejo motivação para melhoria contínua da equipe existente, há uma boa chance de não ser feliz lá.

Se eu entrasse e eles dissessem: "Sim, temos esse aplicativo legado que não ficamos satisfeitos em manter, mas ele ainda gera receita suficiente para cobrir todos os nossos pagamentos, e queremos tornar a base de código mais sustentável refatorando os pontos problemáticos ou migrando o componente x para a tecnologia y "ou" escolhemos a tecnologia como super tecnologia b porque tivemos mais experiência lá e a tecnologia b ainda estava em sua infância quando começamos; estamos abertos a mudanças, mas é um processo lento e nós não estamos em posição de apenas jogar fora a nossa base de código existente ", eu posso acreditar que vai ser uma experiência melhor para mim do que se eu ouvir" Sim, estamos presos na versão 6 do Borland C + + Builder e desenvolvedores Não é permitido tomar decisões técnicas, porque elas já foram feitas pelo irmão do CEO, que dormiu com um vendedor da Oracle e decidiu que todo o desenvolvimento futuro seria feito usando serviços da Web Java 1.4, Oracle ERP e frontend do Borland C ++ usando na maior parte descontinuado componentes GUI de terceiros e nós Prefiro gastar US $ 60.000 por mês para evitar que os clientes saltem do que revisitar quaisquer decisões e fazer melhorias permanentes que possam trazer novas receitas se tivermos sorte. Não balance o barco, o que há de errado com você. "

Supondo que você esteja em uma área com outros empregos em tecnologia ou esteja disposto a se mudar, provavelmente terá o luxo de escolher. Nenhum show é perfeito, mas você quer trabalhar com pessoas que querem trabalhar com você. (Eu me preocupo mais com isso do que com as escolhas tecnológicas específicas na maior parte do tempo.) Se algo cheira mal, provavelmente é.

Então, sim, pergunte. Quanto mais curiosidade sobre nossos negócios, nosso processo e nosso projeto, mais seriamente eu levaria um candidato. Mas eu não trabalho em uma loja de Blub, então não posso dizer se vai te ajudar a conseguir um emprego de Blub. Eu só posso dizer que funcionaria para você se você quiser trabalhar com outras pessoas que se importam com o seu ofício.

    
por 12.11.2011 / 19:57
fonte
12

Question: Is it a good idea to probe on architectural choices taken in an interview? If not, why?

É absolutamente bom, eu vejo isso como positivo.

Se o seu entrevistador não consegue lidar com isso, diz muito sobre eles - não você.

Eu ficaria preocupado se um júnior não estivesse interessado em decisões de design, mostraria uma falta de curiosidade / interesse na área de assunto, e não exibiria nenhum desejo de melhorar a si mesmo.

    
por 12.11.2011 / 21:42
fonte
3

Eu sou da mentalidade que é essencial . Eu trabalhei em muitos empregos com decisões de design sem sentido, porque ninguém sabia de nada, não queria aprender, ou havia um mandato da gerência para usar o que o CEO leu em uma revista / viu on-line / teve alguém Diga-lhe que foi a "próxima grande coisa" sem qualquer consideração de alternativas. Esses empregos eram todos lugares miseráveis para se trabalhar.

Você não deve necessariamente criticar uma decisão de design, a menos que seja algo que cuspa em face do senso comum ou soe como conversa louca, mas é comum questionar coisas que parecem "fora" para descobrir se há uma razão legada ou algo que surgiu e facilitou a necessidade de usar uma abordagem não ortodoxa.

Fazer perguntas como essa também tem o efeito de avaliar o interesse da empresa em melhoria e competência. Como alguém acima disse, é uma coisa se você receber uma resposta como (eu não sei Java, mas uso o .NET, então vou usar exemplos .NET) Quando escrevemos o aplicativo, não havia ORMs maduros, então usamos procedimentos armazenados com uma camada de gateway de dados. Nós gostaríamos de mudar para o Entity Framework no futuro e outra coisa totalmente para obter uma resposta como Nós apenas usamos procedimentos armazenados. O Entity Framework parece assustador e pode exigir trabalho para refatorar, e não podemos refatorar nada porque o CEO tem uma lista de recursos novos que deseja que trabalhemos e, se passarmos o tempo examinando o Entity Framework, ele nos despedirá. por perder tempo . Um indica compreensão e um desejo de melhorar, o outro indica um ambiente medíocre no melhor, onde todos fazem o mínimo para raspar.

Uma empresa que se ofende com você questionando suas decisões ou querendo discutir por que eles escolheram usar o Produto A em vez do Produto B está jogando a mão e mostrando que eles não querem um livre pensador, mas um drone que não quer pergunta, e as chances são de que não é o tipo de empresa que qualquer desenvolvedor competente quer trabalhar.

    
por 14.11.2011 / 16:25
fonte
3

resposta: É uma boa ideia perguntar sobre a tomada de decisões arquitetônicas. Mas você precisa ter cuidado com a forma como faz essas perguntas.

Simplificando: Você deve perguntar " Como você escolheu a tecnologia X em vez da tecnologia Y? ".

Você quer expressar isso de modo a comunicar que você está geralmente interessado no processo de tomada de decisão dentro da equipe. Ninguém vai querer repassar todas as decisões legadas que a empresa já tomou com um candidato.

Quando você pergunta " Por que você escolheu a tecnologia X em vez da tecnologia Y? ", pode acontecer que você discorde de sua decisão (o que é ok ... mas pode ser considerado hostil) ou que você queira se gabar do quanto você sabe sobre as tecnologias em questão (o que seria irritante para qualquer um), apesar de suas boas intenções.

    
por 14.11.2011 / 17:53
fonte
1

Eu gosto de pedir a um entrevistador que me fale sobre uma decisão de design que falharam e sobre o que foi feito em seguida. Isto dá-lhe algumas boas informações:

  1. Se o chefe não pode admitir qualquer erro de forma ou falha temporária, esse é um chefe para o qual você provavelmente não quer trabalhar.
  2. Você pode dizer como a empresa lida com uma situação estressante.

Pode não ser popular, mas eu sempre tenho grande respeito pelos gerentes com as pedras para reconhecer que um projeto vai falhar e matá-lo para parar de desperdiçar dinheiro, ou que algo está indo na direção errada e precisa ser morto ou reiniciado.

Em última análise, se você está falando sobre satisfação no trabalho, a tecnologia (linguagem / plataforma / compilador / qualquer coisa) não importa tanto quanto as personalidades envolvidas e o ambiente de trabalho.

    
por 12.11.2011 / 23:54
fonte
1

Alguns anos atrás eu estava em uma entrevista e me perguntaram várias questões técnicas sobre uma linguagem de programação ... que eu não tinha feito bem (60/40 correta / incorreta). A discussão mudou para o projeto que eles tinham em mãos e eu comecei a fazer perguntas sobre o design e, em seguida, apontei alguns problemas e limitações que eles introduziriam.

Recebi o emprego no dia seguinte. Infelizmente, não pude aceitá-lo por motivos pessoais.

Fazer perguntas sobre o design não deve ser um problema se forem perguntas inteligentes, especialmente se você puder relacioná-las ao seu negócio.

    
por 14.11.2011 / 17:58
fonte
1

Eu não fiz muita entrevista, mas, pela sua experiência, eu concluiria:

a) Tudo bem se você quiser tomar uma decisão informada sobre se deseja ou não o emprego;

b) Não está tudo bem se você já decidiu que quer o emprego.

As pessoas podem facilmente ficar ofendidas com as perguntas benignas sobre suas escolhas. Essa é uma característica muito ruim, mas comum.

    
por 14.11.2011 / 18:22
fonte
-5

Aqui estão alguns conselhos

  1. Perguntar por que eles escolheram alguma solução existente pode ser uma pergunta ruim, porque provavelmente a equipe de desenvolvimento não teve a chance de alterá-la ou escolhê-la.
  2. Também a equipe provavelmente já sabe por que a tecnologia não era a melhor escolha
  3. Mas infelizmente, a última coisa que qualquer equipe de desenvolvimento precisa é de pessoas tentando mudar a arquitetura ou questionar escolhas que foram feitas há 10 anos - dá a impressão de que sua tecnologia já é legada e essas mensagens circulam na equipe deixar os desenvolvedores insatisfeitos com a situação atual
  4. Assim, em uma entrevista, a última coisa que você deve fazer é dar a impressão de que vai reclamar o tempo todo sobre as escolhas que a equipe não tem controle sobre
por 12.11.2011 / 18:47
fonte