Minha resposta será politicamente incorreta. No entanto, sou realmente o fundador de uma startup e meu trabalho é contratar os melhores programadores.
Como sei quais pessoas serão bons programadores ou podem ser bons programadores?
1 palavra: QI.
O QI é para programação, assim como a altura é para jogadores de basquete.
Eu colocaria as habilidades de matemática como outros indicadores mais politicamente corretos. Meus professores de ciência da computação me disseram que há um critério que prediz corretamente quem terá sucesso nos cursos de programação. Pontuações de matemática do ensino médio. Esses são efetivamente QI de qualquer maneira.
Isso pode ser uma surpresa. Dizem-nos que a programação é um trabalho de graduação. Adivinha, eu não me importo com o diploma. Eu me importo apenas com 3 coisas.
- Habilidades de programação (que podem ser testadas).
- Aptidão.
- O senso comum (não muito baixo) as habilidades das pessoas.
Infelizmente, o QI mede apenas uma coisa. Então eu faço alguns testes.
Eu faço perguntas às pessoas. Pergunta simples, espero que o garoto do ensino fundamental seja capaz de responder.
Eu faço perguntas como:
- Qual é a distância entre o ponteiro curto e o longo do relógio às 7:35
- Se eu for de Jacarta a Semarang e quiser manter a velocidade de 60 km / hora. Então nas primeiras 2 horas eu dirijo 100 km / hora. Qual a velocidade que devo percorrer no resto da viagem para que minha velocidade MÉDIA seja de 60 km / hora?
Se você olhar com cuidado, essas perguntas não requerem criatividade. Apenas senso comum. Qualquer criança do ensino fundamental com QI pode responder a isso.
A maioria dos graduados da faculdade não pode. Agora imagine se alguém não puder responder a isso? Ele pode programar? Pense nisso. Quantas vezes você terá que especificar o que ele deve fazer?
Você também pode fazer perguntas como a Microsoft que exigem criatividade. Você pode fazer perguntas sobre como pesar 8 bolas em uma balança para saber qual é a mais pesada. O problema com essas perguntas é que isso envolve sorte. No entanto, alguns são bastante fáceis, deve ser um requisito mínimo.
Conseguir um programador incrível pode melhorar a moral de outros programadores. Conseguir um programador legal pode diminuir o moral de todos os outros.
Depois que as pessoas podem responder perguntas como essa, o que é muito fácil, eu as faria escrever algum código do Google Jam.
Bons programadores podem resolver o código do Google Jam e prever quais problemas são mais fáceis.