Monday, March 26, 2018

Obtendo sua OCA (Oracle Certified Associate Java SE 8) em 60 dias

OCA (Oracle Certified Associate Java SE Programmer I) é a primeira certificação Oracle  que programadores Java podem tirar, o código do exame para a versão 8 do Java é 1ZO-808 (todos os exames da Oracle têm um código).

Felizmente minha primeira experiência na tentativa de obter uma certificação oficial de peso foi positiva. Conforme a imagem abaixo obtida em certview.oracle.com, passei no exame 1ZO-808.  A seguir compartilho todo processo de estudo, agendamento e realização do exame.


Estudando para o Exame

Pagar um curso em uma escola especializada em certificações Java ou estudar por conta própria? Hoje com a internet das coisas bombando, você tem recursos abundantes para se virar sozinho em qualquer área, ninguém mais detem o monopólio de qualquer conhecimento. Optei por estudar em casa, é prático e barato. A menos que você não tenha disciplina para planejar e seguir sua própria rotina de estudos, acredito que pagar um curso seria um desperdício de dinheiro (economize essa grana para pagar o exame!) e de tempo, se for um curso presencial.

Do primeiro dia de estudo até o dia do exame se passaram 60 dias (já estar trabalhando com Java pode diminuir o tempo que você leva para estudar todos os tópicos cobrados pelo exame). O material que utilizei foi o excelente livro OCA Study Guide de Jeanne Boyarsky e‎ Scott Selikoff que cobre 100% do conteúdo da prova. O site da editora Sybex também tem um excelente material de apoio, incluindo 3 exames simulados e respostas comentadas (muito importante). Esse material online de apoio é disponível somente para quem comprou o livro.


Não cometa o erro de pensar que, por ter muita experiência na área, você teria condições de passar estudando pouco ou nada! O exame tem como objetivo testar seu conhecimento sobre tudo o que é possível fazer com Java, dentro dos tópicos cobrados, e apresenta cenários um tanto bizarros, os quais você dificilmente encontraria no mundo real! Por exemplo, você jamais precisaria declarar imports para classes que estão no mesmo pacote. Mas o que aconteceria com um código que contivesse tal redundância? Erro de compilação ou apenas um advertência do compilador? Confesso que nunca parei para pensar nisso!

Ou, você seria capaz de dizer se o código abaixo compila? Se compila, qual exception é encaminhada para quem chamou o método m1()? Se não compila, onde está o erro?
public void m1(){

        try {
            throw new Exception("1");
        }
        catch (Exception e) {
            throw new NumberFormatException("2");
        }
        finally{
            throw new ArrayIndexOutOfBoundsException("3");
        }
}
Esteja preparado. O exame 1ZO-808 é repleto de código astucioso, não identado e várias forçações de barra malucas para testar o seu domínio sobre o objetivo em questão. Um tipo de questão com a qual você deve ficar especialmente atento são aquelas que apresentam código muito complicado de se analisar, quase sempre com loops aninhados, esse tipo de código geralmente possui algum erro de compilação e a intenção é fazer você perder tempo tentando descobrir qual é o resultado final. Na dúvida, marque a opção O código não compila. Felizmente, com um bom material de estudo você fica por dentro de 90% dessas artimanhas. O livro de Boyarsky e‎ Selikoff tem essse incrível mérito.

Estudei de uma a duas horas por dia, seis dias por semana, na última semana puxei um pouco mais. Dessa forma consegui com folga concluir um capítulo por semana junto com os respectivos exercícios. Recomendo utilizar uma caneta marca-texto para os trechos que você considerar mais importantes e procure sempre reler, senão todo capítulo, pelo menos esses trechos marcados (isso é importantíssimo). Na última semana fiz os exames simulados que o site da Sybex disponibiliza e refiz alguns exercícios dos outros capítulos.


Não se limite apenas a ler, marcar e resolver os exercícios. É fundamental que você implemente vários exemplos e alguns excercícios, principalmente aqueles que você errou e não entendeu. Ao programar, evite utilizar IDEs, elas são boas para produtividade, mas péssimas para estudar. Utilize o editor mais rudimentar que você puder encontrar. No meu caso utilizei o editor VI do Linux, para usuários Windows, recomendo o bloco de notas.

Agendando o Exame

Quando você tiver concluido todos os tópicos de estudo e realizado umas duas centenas de exercícios, é chegada a hora de agendar o exame!

O agendamento é feito em pearsonvue.com/oracle. O processo é semelhante a compar algo pela internet com cartão de crédito. Em vários passos, primeiro você seleciona o nome/código do exame que quer fazer, no caso 1ZO-808. Depois o site exibe os centros de aplicação do exame mais próximos da sua localidade. Escolha o que mais lhe convier, se houver uma unidade do Senac na sua cidade, é bem provável que o exame seja realizado lá, como foi no meu caso.

Após escolher a unidade de aplicação do exame, você deve selecionar uma data e hora disponível para agendamento, a opção mais imediata que encontrei era dentro de 3 dias; a mais longa, para dalí 2 meses. Como já havia praticamente terminado de estudar todos os tópicos, agendei o exame para dalí quatro dias. Você também deve escolher em qual língua quer fazer o exame, as opções disponíveis são espanhol e inglês.

No último passo você informa os dados de seu cartão de crédito e confirma. O valor do exame 1ZO-808 era de U$ 150 até a data de publicação deste artigo (meio caro para quem ganha em R$!). Imprima o comprovante de agendamento.


Realizando o Exame

Caso você não conheça o centro de aplicação do exame para onde foi agendada sua prova, recomendo que você dê uma passada por lá na véspera para se familiarizar com o local, pergunte em que sala são realizados os exames de certificação e quem é o responsável. No caso do SENAC, é provável que o exame seja realizado em algum canto da biblioteca adaptado para essa finalidade, semelhante a uma cabine onde trabalham profissionais do telemarketing. No meu caso foi assim.

No dia do exame não fique refém de imprevistos e chegue com antecedência. Não queira saber o que acontece caso você se atrase! Ao chegar no local da prova, você deve deixar todos os seus pertences em algum ármario guarda-volumes. Caso não lhe seja fornecido nenhum material de rascunho, certifique-se de pedir um, você irá precisar! Note que material de rascunho não significa necessariamente papel e caneta. A bibliotecária me forneceu um quadro plastificado e uma espécie de caneta hidrográfica péssima para escrever naquele material, mas quebrou o galho. Antes de começar o exame, certifique-se de que a caneta realmente funcione!

O software da prova é excelente e intuitivo. No canto superior direito tem um cronômetro que marca quanto tempo você ainda tem de prova, porém não se distraia e evite ficar olhando o tempo todo momento. Há também um recurso de marcar a questão atual e passar para a próxima. Depois você pode visualizar todas as questões marcadas e voltar nelas. Esse rescurso é valioso. Não desperdice tempo demais tentando resolver questões muito complicadas, marque-as e vá para próxima.

Ao começar a prova, tive uma supresa boa e outra ruim. A ruim foi que o nível das questões era mais difícil do que eu esperava, algumas exercícios tinham enunciados grandes de 4 parágrafos com várias linhas cada um, mais o código para ser analizado. Não vi nada parecido nos exercicios e nas provas simuladas da editora Sybex, nem em nenhum outro lugar. Felizmente o tempo para fazer o exame foi maior do que eu esperava, tinha em mente de que seriam 90 minutos, mas quando o ví o cronômetro do em contagem regressiva a partir de 2 horas e 30 minutos, o alívio foi grande! Esse tempo extra compensou o nível maior de dificuldade e foi suficiente para responder todas as questões e ainda revisar as que tinha marcado.

No software do exame há uma opção que você clica quando acabar. Após confirmar que você realmente deseja encerrar, o exame é finalizado e as questões são submetidas. O resultado  será disponibilizado em até 30 minutos em certview.oracle.com. Após cerca de 48 horas, na sua conta em certview será ativada uma série de recursos como seu histórico de exames, tópicos em que você errou, e, caso você tenha passado, uma espécie de diploma, entre outras ferramentas que autenticam sua certificação.


O score mínimo para passar no exame 1ZO-808 é de 65%. O meu foi de 70%. Na sua conta em certview.oracle.com você saberá qual foi seu score e em quais tópicos você errou.

Apêndice

Os profissionais da área de TI passam boa parte da carreira estudando. Otimizar esse tempo de estudo, aprendendo mais rápido e memorizando muito mais coisas pode fazer uma diferença enorme na sua evolução profissional. Alguns alimentos comprovadamente turbinam suas funções cerebrais e melhoram o seu desempenho, tais como gorduras naturais (oleo de coco, TCM, ômega 3, azeite extra virgem, manteiga natural, gordura da carne vermelha), ovos (muitos), 2 litros de água (da boa) por dia. Tão importante quanto fazer uso dos bons alimentos, é não consumir aqueles que atrasam a sua vida e diminuem seu desempenho cognitivo, tais como óleos hidrogenados, gluten, açucar, refrigerantes e industrializados em geral.

referências sobre as dicas alimentares:
canal Dr. Lair Ribeiro no YouTube
canal Dr. Uronal Zancan no YouTube
canal Dr. Dayan Seabra no YouTube