Na minha experiência antes de começar a trabalhar para uma empresa, você não tem oportunidade de examinar a base de código (perguntei e, por motivos de confidencialidade, todo mundo sempre disse não, acho que é justo). Portanto, durante o processo de entrevista, o que você acha que são as perguntas mais importantes a serem feitas para descobrir em que estado o código está (afinal, se for um cachorro, você vai ficar com os pobres infelizes que precisam passear todos os dias)?
ATUALIZAR:
Uma lista de verificação: pergunte;
- O que eles pensam da base de código. E quando o fizer, preste muita atenção às expressões faciais e ao tempo que elas levam para responder. [Anon]
- Qual é o nível de CMM da empresa [DPD] (e se você ouvir o Nível 5 executar o outro caminho [Doug T])
- Qual ciclo de vida eles usam [DPD] (E se você ouvir "Agile", é quando você começa a fazer algumas perguntas penetrantes para tentar descobrir se por "Agile" eles significam "Codificação ágil ou" cowboy "[Carson63000])
- Quais ferramentas eles usam para avaliar a qualidade do código? [DPD]
- Quais ferramentas eles usam para o desenvolvimento? [DPD] (procure por ferramentas de refatoração e servidores de criação contínua)
- Qual sistema de código-fonte (controle de versão) eles usam e um bom acompanhamento é perguntar por que eles o usam. [Zachary K].
- Como são os procedimentos de teste? [Karl Bielefeldt] (Procure especialmente equipes que usam estruturas de simulação e enfatize testes de unidade automatizados por meio de estruturas estabelecidas como NUnit / JUnit; não se deixe levar por equipes que não usam TDD de desenvolvimento orientado a testes, mas seja desconfie se eles não consideram o teste parte integrante e a pedra angular do desenvolvimento sólido de software. Procure equipes com testadores dedicados.)
- Que tipos de atribuições são dadas aos novos desenvolvedores? Para desenvolvedores experientes? Karl Bielefeldt
- Quantas pessoas trabalham em um projeto? Karl Bielefeldt
- A refatoração é permitida? Incentivado? Karl Bielefeldt
- Quais alterações de processo ou arquitetura relacionadas à qualidade estão sendo consideradas ou foram feitas recentemente? Karl Bielefeldt
- Quanta autonomia os indivíduos têm sobre seus módulos? Karl Bielefeldt
- Você desenvolverá projetos mais recentes (desenvolvimento greenfield) ou projetos legados (desenvolvimento brownfield)? (O desenvolvimento greenfield geralmente é mais divertido e tem menos problemas, pois você não está limpando os erros de outra pessoa).
- A taxa de rotatividade de funcionários é alta na organização ou na equipe? (Isso geralmente indica uma qualidade mais baixa do código) [M.Sameer]
- Alguns problemas de programação de sua preferência; mas evite parecer um idiota. [Sparky]
- Como os desenvolvedores colaboram e como o conhecimento é compartilhado entre a equipe? (Isso deve corresponder à sua personalidade; eu diria que uma mistura de trabalho solo e em pares é provavelmente a melhor, com a proporção que corresponde às suas necessidades sociais)
- Qual a proximidade do banco de dados do 3º formulário normal (3NF) e se ele se desvia de onde e por quê? (Se eles disserem "3NF ???", saia. Se não, e pode haver boas razões para isso, então descubra o que são).
NOTA: Aceitei a resposta de Anon porque, após cerca de uma semana, a comunidade acha que é a melhor - acho que isso sugere que é apenas algo para o qual você precisa desenvolver um sexto sentido. Mas acho que todo mundo tem algo valioso a dizer.