Um post recente no blog do Programa de Certificação Oracle colocou algumas perguntas sobre a certificação Java:
- Eu tenho sido um desenvolvedor Java há anos. Por que eu deveria obter a certificação Java?
- Como são diferentes as certificações Java SE 8 em comparação com as certificações Java SE 7?
- Para as certificações Java SE 8, por que a Oracle Certified Associate (OCA) agora é um pré-requisito para a Oracle Certified Professional (OCP)?
- Preciso de comprar aulas de formação da Universidade Oracle para obter a minha certificação Java?
Este é o tipo de questões que podem surgir se estiver a pensar em obter uma certificação Java, por isso pensei que seria útil se lhe desse mais informações sobre estas e outras questões semelhantes, com base no meu próprio conhecimento e experiência. Continue lendo para saber mais.
A resposta é sim, desde que você tenha motivação e expectativas claras. Eu mesmo era um Desenvolvedor Java experiente quando decidi estudar para obter a certificação de Programador Java. Minha principal motivação era melhorar e atualizar meus conhecimentos da linguagem Java (ao mesmo tempo em que obtinha sua validação através da obtenção desta valiosa e reconhecida credencial de TI). Posso dizer que quando você começa a estudar, você logo percebe que o tempo que você gasta fazendo isso não é de forma alguma desperdiçado, mas sim muito valioso. Garanto-lhe que mesmo que seja um programador experiente, vai aprender coisas novas e interessantes, não só sobre as novas características da língua que ainda não conhece, mas também sobre algumas coisas que acha que domina.
O que são OCA e OCP?
Se você é novo no mundo das certificações Java, esta terminologia de OCA e OCP pode ser um pouco confusa. Vou tentar explicar em poucas palavras:
- OCA é a certificação de nível básico para programadores Java. É um bom ponto de partida para aprender o básico da linguagem (variáveis, tipos de dados, arrays, loops, classes, métodos, exceções) e também alguns tópicos não tão básicos (estreitamento implícito, casting explícito, autoboxing, classes aninhadas, polimorfismo e herança, classes abstratas e interfaces, e algumas APIs específicas para lidar com coleções, strings e objetos de calendário)
- OCP é a certificação de nível seguinte para programadores Java. É um exame bastante mais avançado que lida com tópicos como padrões de design, genéricos, File I/O (NIO.2) , JDBC, threads e concorrência.
Obviamente, para ser elegível para fazer o exame para o OCP você deve primeiro obter o OCA, assim o caminho de certificação é claro. Dito isto, quando uma nova versão do Java é lançada (ex. Java 8), os exames e certificações anteriormente existentes são continuados e mantidos pela Oracle por um tempo (vários anos). Isto significa que o seu primeiro passo poderia ser obter o Java 8 OCA (a última versão) ou obter o Java 7 OCA. No momento de escrever isto você poderia até tentar o Java 6, mas vou deixá-lo fora da comparação (não faz sentido já que é um muito mais antigo).
As tabelas seguintes mostram os exames que você tem que fazer para obter o OCA e OCP para Java 7 e Java 8:
Certificação | Exame | Badge | ||
---|---|---|---|---|
OCA | Oracle Certified Associate | 1Z0-808 | Oracle Java SE 8 Programador I | |
1Z0-803 | Oracle Java SE 7 Programador I | |||
OCP | Oracle Certified Professional | 1Z0-809 | Oracle Java SE 8 Programador II | |
1Z0-804 | Oracle Java SE 7 Programador II |
Porque Existem Dois Exames?
Antes do Java 7 havia apenas um exame e certificação, originalmente chamado de Programador Java Certificado pela Sun (SCJP, exame CX-310-065) e posteriormente alterado para Programador Java Profissional Certificado pela Oracle (OCPJP, exame 1Z0-851). Qual foi o motivo para dividir a certificação em 2 exames? Por um lado, se você pensar na grande lista de tópicos incluídos no exame Java 6, isso faz sentido. Com apenas um exame, obter a certificação foi uma tarefa avassaladora para muitas pessoas. Ter dois exames permite estabelecer metas mais alcançáveis e também ter uma primeira certificação (OCA) em menos tempo. Por outro lado, agora os exames são mais difíceis (maior pontuação e menos tempo por pergunta) e, no total, mais caros:
Exame | Preço | Passar pontuação | Perguntas | Respostas certas para passar | Duração (minutos) | Tempo por pergunta |
---|---|---|---|---|---|---|
Java SE 6 Programador | 238 | 61% | 60 | >=37 | 150 | 2:30 |
Java SE 8 Programador I | 212 | 65% | 77 | >=51 | 150 | 1:55 |
Java SE 8 Programador II | 212 | 65% | 85 | >=55 | 150 | 1:45 |
Devo visar a Certificação Java 7 ou Java 8?
A tabela seguinte lista as principais adições feitas aos últimos lançamentos do Java:
Ligais binários, por exemplo: int i = 0b111100
Atualização em literais numéricos, e.g: double pi = 3_14_15_927
Calça constantes na expressão switch
(e case
etiqueta)
Bloqueio multi-captura: captura de múltiplas exceções em apenas uma catch
bloco
Métodos padrão em interfaces
Expressões Lambda
Novos pacotes de data e hora
Existem muito mais pequenas adições em Java 7 e 8, mas eu reuni aqui apenas as que estão incluídas nos exames do Java SE Programmer I. Para mais informações sobre as novas funcionalidades e melhorias do Java incluídas em cada versão você pode visitar os seguintes sites:
- Oracle Java Documentation – Language Enhancements
- Oracle Technology Network – What’s new in JDK 8
Então, dadas as informações acima, qual certificação você deve visar? Eu recomendo que você vá para a certificação Java 8, já que ela é relativamente nova e continuará sendo a última versão da certificação Java Programmer por um tempo (pelo menos 3 anos). O conteúdo adicional que você deve estudar para o exame Java 8 em relação ao exame Java 7 não é muito e, no entanto, vale a pena aprender (por exemplo, expressões lambda). Na verdade, apenas 7 páginas do meu livro O Roadmap da Certificação Java são mais do que suficientes para cobrir as adições do Java 8 (métodos padrão para interfaces, expressões lambda e as novas APIs de data e hora).
I Já tenho uma Certificação Java 6 ou Java 7. O que Devo Fazer?
Bem, isto depende dos seus próprios objectivos e situação. Minha recomendação honesta é a seguinte:
- Se você tem uma certificação Java 6, eu iria para a certificação Java 8. A certificação que você tem está se tornando antiga e ao todo houve adições significativas à linguagem Java nas suas duas últimas versões principais.
- Se você tem uma certificação Java 7, eu provavelmente esperaria pela certificação do Java 9. Você ainda tem uma certificação bastante recente e as alterações introduzidas à linguagem Java no Java 8 não são tão importantes assim. Você também deve considerar que estes tipos de exames são relativamente caros e que a preparação para eles requer tempo e esforço. Então o que eu faria (e este é exatamente o meu caso) é apenas aprender sobre expressões Lambda e as novas classes do calendário para manter o seu conhecimento de Java atualizado, e depois esperar que o exame Java 9 seja lançado.
Quando o exame de certificação Java 9 será lançado?
No momento de escrever isto, a data oficial de lançamento do Java 9 é Março de 2017, exatamente três anos após o lançamento do Java 8. A partir daí, Oracle normalmente leva seu tempo para lançar o exame (primeiro há um período de vários meses destinado a exames beta).
De acordo com os exames Beta do Oracle “avaliar novas questões de exame com a participação de um público ao vivo antes de ser lançado ao público. Os dados coletados durante os testes beta são usados para selecionar as melhores questões para o exame de produção, e para eliminar questões que são ambíguas, muito fáceis ou muito difíceis, ou inúteis na avaliação do conhecimento de um participante”. Os exames Beta podem ser uma boa oportunidade para obter sua certificação a um custo muito menor (geralmente 50$).
Baseado nas versões anteriores do exame Java, meu palpite é que o exame Java 9 Programmer I será lançado até janeiro de 2018.
Pagarei pelo treinamento para obter minha certificação Java?
A resposta é não. Tudo o que você precisa para se preparar para o exame é um bom livro e um simulador para praticar as perguntas do exame. Como é dito no próprio blog do Programa de Certificação Oracle, o treinamento não é um requisito para as Certificações Java (OCA e OCP).
Eu nunca recomendaria que você pagasse por treinamento em sala de aula porque este tipo de treinamento normalmente é muito caro. No entanto, se você ainda sentir que precisa de ajuda, você pode sempre pedir à sua empresa que pague por ela. Por um lado, ao deixar sua empresa saber que você quer obter uma certificação Java, você vai mostrar que você se importa com suas habilidades e, portanto, com o seu trabalho. Por outro lado, se a sua empresa paga por ela, não só está a apoiar o crescimento da sua carreira, mas também a trazer valor à própria organização, melhorando as competências dos seus colaboradores. Portanto, pergunte ao seu gerente ou aos Recursos Humanos. O que você tem a perder?
Eu ainda tenho mais perguntas
Se você ainda não tem certeza sobre como obter uma certificação Java, verifique a seção Por que ser certificado? do meu site. Ela descreve os benefícios potenciais que é razoável esperar de obter esta certificação e também (e talvez ainda mais importante) o que você não deveria esperar dela. Você também pode verificar estes testemunhos de algumas pessoas que passaram pelo processo de obtenção da certificação, falando sobre o bom e o ruim da mesma.