Aqui aplicamos prova + entrevista.
Porém, fazemos uma prova beeem diferente da encontrada na certificação. Ela é dividida em três tipos de pergunta, em ordem aleatória:
-
Perguntas que testam conhecimento da sintaxe, nos principais elementos da sintaxe que usamos: “Crie um tipo enumerado, para representar as operações de SOMA, SUBTRAÇÃO E DIVISÃO, e faça um método/função aplicar() que, dado um enum, realize a operação”.
-
Perguntas conceituais, relacionados ao projeto de classes, ou a problemas comuns de programação:
“Qual é o erro do código abaixo? Podemos dizer que ele viola o encapsulamento?”
[code]public class ClasseComMatriz {
private int[] matriz;
public ClasseComMatriz(int[] matriz) {
this.matriz = matriz;
}
public int[] getMatriz() {
return matriz;
}
[/code]
- Perguntas de conhecimento específico que nos interessam: collections, threads e sockets, por exemplo.
O que não tem na prova: Pegadinhas de sintaxe, análise de códigos rebuscados (se tiver análise de código, seria de um que escreveríamos na prática), etc. A idéia é que a prova não faça o candidato se sentir um palhaço. Aliás, alguns que vão mal até elogiam o conteúdo da prova e pedem dicas de onde se pode estudar o seu conteúdo!
A correção também não se resume em certo/errado. Analisamos o código produzido, as observações do candidato e os cuidados que eles tomam na prova. Por exemplo, há candidatos que validam a entrada lançando exceções, outros mostram claramente que não sabem qual collection usar em cada situação (embora as vezes gerem um código funcional, mas pouco eficiente).
Na última prova, também deixamos a documentação de uma classe mais “exótica” e pedimos para o candidato fazer algo com ela. Só um conseguiu responder a questão e ganhou pontos na entrevista ao dizer que também não conhecia a classe, só soube ler o javadoc e o trail da Sun.
A prova faz a filtragem “básica”. É impressionante o número de pessoas que simplesmente abandonam a prova, ou erram todas as questões, inclusive as fáceis, ou que mostram desconhecer a sintaxe do Java 5+.
Depois disso, fazemos uma entrevista com os mais bem colocados para ver o perfil da pessoa, sociabilidade, interesses, planos, etc.
O processo tem funcionado muito bem, até hoje. Curiosamente, profissionais certificados tem ido tão mal quanto os não certificados. Eles dificilmente erram as questões de sintaxe, mas não raro produzem códigos tão rebuscados quanto o das provas que eles estudaram tanto para passar. Não temos um espaço amostral grande o suficiente para dizer que isso é uma regra, mas já é um indício que ter um certificado pode não ser garantia de sucesso na contratação, caso estejam sabendo alguém que saiba programar.