Pedindo uma amostra de código da empresa em uma entrevista [fechada]

68

Pedir a um candidato a emprego para mostrar algum código é uma prática bastante comum para uma empresa de software. No entanto, seria aceitável que o candidato pedisse ao entrevistador que mostrasse a ele um pequeno pedaço de código que ele acha que está bem escrito?

    
por Simon 29.08.2012 / 18:36
fonte

8 respostas

69

Eu sempre peço para ver algum código, por várias razões:

  • Eu quero saber no que estou me metendo. É claro que nenhuma empresa de software é perfeita, e eu não espero que todo mundo bombeie maravilhas de elegância o tempo todo (porque eu também não), mas se eu pedir o melhor código de uma empresa, e tudo o que eles podem me mostrar é uma bagunça espaguete, eu sei que estou em um momento infeliz, desembrulhando bolas de pêlo e lutando contra a dívida técnica para fazer qualquer coisa. Observar o melhor código que uma empresa pode mostrar estabelece um limite superior de que tipo de qualidade é possível; mesmo que seja improvável que todo seu código seja parecido, você ainda sabe que é algo pelo qual eles se esforçam.
  • Observar amostras de código informa muito sobre a cultura de codificação de uma empresa . Eles usam comentários de documentação? Eles se inclinam para um estilo orientado a objeto, eles têm tendências de programação funcional? Eles são conservadores ou progressistas? Eles valorizam nomes consistentes, formatação e recuo adequados e código puro em geral? O código é fácil de seguir? Como eles estruturam seus projetos? Como eles abordam as coisas importantes - testes automatizados, tratamento de erros, etc.? Quão defensivo é seu estilo de codificação?
  • A visualização do código existente permitirá que você julgue se você pode cumprir seus padrões .
  • O fato de uma empresa estar disposta a compartilhar amostras de código é, em princípio, um bom sinal. Isso significa que eles me oferecem, o candidato, alguma confiança , uma vez que sua base de código é um dos seus ativos mais valiosos. Isso também significa que eles não têm vergonha de seu código, que estão confiantes de que me mostrar o código me ajudará a trabalhar com eles.
  • Se eles não mostrarem nenhuma amostra de código, isso não tem que ser uma bandeira vermelha, mas é sensato perguntar por que eles não compartilham (muito provavelmente, eles simplesmente não podem por motivos legais). razões), bem como explicar por que você quer ver alguns. Eu não acho que mostrar interesse em seu código seja visto como um sinal negativo, contanto que você pergunte educadamente e positivamente.

E, em seguida, há mais alguns efeitos colaterais:

Empresas, aquelas que concordam em mostrar seu código, provavelmente não enviarão apenas um pacote de arquivos fonte contendo a versão mais recente de toda a base de código, por razões óbvias. Se eles me mostrarem qualquer código, eles farão isso na forma de uma pequena demonstração, o que é ótimo: significa que eu posso falar com um de meus colegas em potencial, permite-me fazer mais perguntas sobre sua cultura de codificação, processos, e base de código e, idealmente, ajudará a iniciar uma discussão profissional na qual eu possa demonstrar habilidades e conhecimento e aprender mais sobre o ambiente de trabalho. Isso também significa que eu posso olhar as ferramentas que eles usam, o que também é bastante perspicaz - por exemplo, se o projeto que eles me mostram depende muito de um IDE em particular, isso significa que todo mundo usa isso, o que pode ser bom ou ruim. E, finalmente, falar um pouco de código dá uma boa impressão de como a futura comunicação profissional pode se desenvolver.

    
por 29.08.2012 / 21:49
fonte
14

However, would it be acceptable for the candidate to ask the interviewer to show him a small piece of code that he thinks is well written?

Suponho que se enquadre no mantra 'entrevistas são bidirecionais', mas eu não esperaria receber nenhuma. Preocupações com a Propriedade Intelectual são a questão mais óbvia depois do fato de que não há computador na sala de entrevistas, e trazê-lo para um é meio desajeitado.

Além disso, eles apenas escolherão o código mais bonito e menos significativo que puderem. O melhor código não é realmente um problema, o pior é. É a mesma razão pela qual obter amostras de código de candidatos é quase inútil.

    
por 29.08.2012 / 19:37
fonte
12

would it be acceptable for the candidate to ask the interviewer to show him a small piece of code that he thinks is well written?

Você pode perguntar o que quiser, mas:

  • Você provavelmente não conseguirá.

  • Se você conseguir, não lhe dirá nada de útil. Se 10% do código deles for bonito e o resto for spaghetti, você ainda estará lidando principalmente com espaguete.

  • Você parece uma calça esperta. Isso não é de grande ajuda se você decidir que gostaria de trabalhar lá.

  • É um desperdício de tempo precioso de entrevista.

  • Existem maneiras melhores de descobrir o que você quer saber. Faça perguntas como:

    • Quais são os indicadores mais importantes da qualidade do código?
    • Eu manterei principalmente código existente ou escrever código novo?
    • Você pode explicar brevemente como seu sistema funciona?
    • Você tem um documento de padrões de codificação e todos o seguem?
por 30.08.2012 / 09:24
fonte
3

Bem, isso depende. Eu sempre gostei de saber onde vou trabalhar.

Eu vejo uma entrevista de emprego como bidirecional. A empresa descobre você e descobre a empresa. Pedir código pode ser um pouco demais, mas perguntar questões relacionadas ao desenvolvimento deve ser OK.

Por exemplo, eu não aceitaria um emprego em que a empresa não usasse técnicas ágeis ou TDD ou não planejasse adotar e incentivar tais práticas. Eu também aprecio quando uma empresa está orgulhosa de seu produto e seu código - quando parece que o entrevistador está esperando que você peça para vê-lo, então ele tem uma desculpa para explicar todas as coisas legais que eles fazem.

    
por 29.08.2012 / 19:42
fonte
2

Haha, essa é uma pergunta engraçada. Eu não ficaria ofendido se alguém me pedisse uma amostra de código enquanto eles estivessem entrevistando, mas eu provavelmente não mostraria nenhum código, a menos que eles tenham perguntado com antecedência e eu tenha tempo para planejar cuidadosamente.

Eu definitivamente entendo a intenção de fazer essa pergunta. Como candidato a emprego, pedi o teste de Joel para um entrevistador antes. Eles não sabiam o que era, mas ficaram felizes em responder.

Em alguns lugares, fazer esse tipo de pergunta pode melhorar suas chances, o que pode prejudicar suas chances em outro lugar. A beleza da vida é que, se melhorar suas chances, então esse é o tipo de lugar que você gostaria de trabalhar. Se doer suas chances, você não teria desejado esse trabalho de qualquer maneira.

Não vejo nada a perder perguntando educadamente e sendo capaz de explicar por que você quer vê-lo.

    
por 02.12.2012 / 01:00
fonte
2

Eu fiz esta pergunta em minhas duas entrevistas, onde eles afirmaram que tinham desenvolvedores sênior migrando para asp.net mvc3 ou 4 ou quando disseram que queriam um código muito comentado. Eu rejeitei em ambas as ocasiões devido à falta de conhecimento sobre o padrão de código real. O único padrão que encontrei foi se funciona copiar e colar e vai funcionar. Não farei esta pergunta se estiver fazendo um novo projeto ou tiver que escrever um código independente dos outros membros da equipe. Eu definitivamente vou ver o código se eu estiver sendo contratado para consertar um software ou uma função existente e não vou dizer sim a menos que eu saiba a resposta. Suponha que você não pergunte e eles dizem que você pode consertar o datepicker para começar a partir de hoje data. Quando você observa o código legado, não vê jquery ou jquery ui, mas um selecionador de data personalizado que tem todas as datas armazenadas no arquivo xml e todas as noites um cron job é executado para atualizar os meses futuros nele. Isso iniciaria a dor de cabeça, pois o código para conseguir isso é menor do que as palavras neste exemplo. Se você estiver indo para trabalhar em seu código, peça para vê-lo. Não pedir é como citar para um trabalho na crença de que o cliente disse que é pequeno. Ele pode possuir 20 hectares de terra e jardinagem em seu 1 acre é pequeno para ele, mas gardner não pode cobrar 50 libras apenas porque todos os seus pequenos trabalhos começam a partir de 50.

    
por 02.12.2012 / 23:14
fonte
1

Eu costumo trabalhar para empresas onde pelo menos parte de seu trabalho é de código aberto, então é trivial encontrar exemplos de código. Eu descubro quem trabalha na empresa e, em seguida, descubro suas alças on-line. Como as pessoas tendem a usar o mesmo nome de tela várias vezes, é fácil descobrir onde elas se comprometeram, estejam elas no Github, no Bitbucket ou em algum outro lugar completamente.

Minha empresa atual tem uma tonelada de código hospedada no Github, por isso foi fácil ver com o que eles trabalham, o tamanho de sua base de código e o que parece não ser mais interessante.

Eu nunca pedi uma amostra, simplesmente porque eles vão mostrar o melhor código que eles têm. Este não é o código com o qual você estará trabalhando. É provavelmente alojado em uma redoma em uma sala trancada. Você estará trabalhando com o código bagunçado que muitas pessoas tiveram que mexer.

    
por 02.12.2012 / 21:51
fonte
0

Isso é incrível se você conseguir. Às vezes não é possível sem acordos do tipo NDA, mas é sempre bom tentar. Para aumentar suas chances, deixe seus entrevistadores saberem que você quer isso com bastante antecedência (alguns dias) para que eles possam ter algo em mente para mostrar a você.

    
por 30.08.2012 / 01:07
fonte