Una publicación reciente en el blog del programa de certificación de Oracle planteaba algunas preguntas sobre la certificación de Java:
- He sido desarrollador de Java durante años. ¿Por qué debería obtener la certificación Java?
- ¿Cuál es la diferencia entre las certificaciones Java SE 8 y las certificaciones Java SE 7?
- Para las certificaciones Java SE 8, ¿por qué Oracle Certified Associate (OCA) es ahora un requisito previo para Oracle Certified Professional (OCP)?
- ¿Necesito comprar clases de formación de Oracle University para obtener mi certificación de Java?
Este es el tipo de preguntas que pueden surgir si estás pensando en obtener una certificación de Java, así que he pensado que será útil si te doy más información sobre estas y otras preguntas similares, basándome en mis propios conocimientos y experiencia. Sigue leyendo para saber más.
La respuesta es sí, siempre y cuando tengas motivación y expectativas claras. Yo mismo era un desarrollador Java experimentado cuando decidí estudiar para obtener la certificación de Programador Java. Mi principal motivación era mejorar y actualizar mis conocimientos del lenguaje Java (a la vez que conseguir validarlos mediante la obtención de esta valiosa y reconocida credencial informática). Puedo decirte que una vez que empiezas a estudiar, pronto te das cuenta de que el tiempo que dedicas a ello no es en absoluto perdido, sino que merece mucho la pena. Te aseguro que incluso si eres un programador experimentado vas a aprender cosas nuevas e interesantes, no sólo sobre las nuevas características del lenguaje que aún no conoces, sino también sobre algunas cosas que crees dominar.
- ¿Qué son OCA y OCP?
- ¿Por qué hay dos exámenes?
- ¿Debo dirigirme a la certificación de Java 7 o Java 8?
- Ya tengo una certificación de Java 6 o Java 7. ¿Qué debo hacer?
- ¿Cuándo saldrá el examen de certificación de Java 9?
- ¿Necesito pagar por la capacitación para obtener mi certificación de Java?
- Todavía tengo más preguntas
¿Qué son OCA y OCP?
Si eres nuevo en el mundo de las certificaciones Java, esta terminología OCA y OCP puede ser un poco confusa. Trataré de explicarlo en pocas palabras:
- OCA es la certificación de nivel de entrada para los programadores de Java. Es un muy buen punto de partida para aprender lo más básico del lenguaje (variables, tipos de datos, arrays, bucles, clases, métodos, excepciones) y también algunos temas no tan básicos (narrowing implícito, casting explícito, autoboxing, clases anidadas, polimorfismo y herencia, clases abstractas e interfaces, y algunas APIs específicas para tratar con colecciones, cadenas y objetos calendario)
- OCP es la certificación de siguiente nivel para los programadores de Java. Es un examen bastante más avanzado que trata temas como patrones de diseño, genéricos, File I/O (NIO.2) , JDBC, hilos y concurrencia.
Obviamente, para poder hacer el examen para el OCP hay que conseguir primero el OCA, así que el camino de la certificación está claro. Dicho esto, cuando sale una nueva versión de Java (por ejemplo, Java 8), los exámenes y certificaciones previamente existentes son continuados y mantenidos por Oracle durante un tiempo (varios años). Esto significa que tu primer paso podría ser conseguir la OCA de Java 8 (la última versión) o conseguir la OCA de Java 7. En el momento de escribir esto podrías incluso probar con Java 6, pero lo voy a dejar fuera de la comparación (no tiene sentido ya que es mucho más antiguo).
Las siguientes tablas muestran los exámenes que tienes que hacer para conseguir el OCA y el OCP para Java 7 y Java 8:
Certificación | Examen | Certificación | ||
---|---|---|---|---|
OCA | Oracle Certified Associate | 1Z0-808 | Oracle Java SE 8 Programmer I | |
1Z0-803 | Oracle Java SE 7 Programmer I | |||
OCP | Oracle Certified Professional | 1Z0-809 | Oracle Java SE 8 Programmer II | |
1Z0-804 | Oracle Java SE 7 Programmer II |
¿Por qué hay dos exámenes?
Antes de Java 7 sólo había un examen y una certificación, que originalmente se llamaba Sun Certified Java Programmer (SCJP, examen CX-310-065) y más tarde se cambió a Oracle Certified Professional Java Programmer (OCPJP, examen 1Z0-851). ¿Cuál fue la razón para dividir la certificación en dos exámenes? Por un lado, si se piensa en la gran lista de temas incluidos en el examen de Java 6, tiene sentido. Con un solo examen, conseguir la certificación era una tarea abrumadora para mucha gente. Tener dos exámenes permite establecer objetivos más alcanzables y también tener una primera certificación (OCA) en menos tiempo. Por otro lado, ahora los exámenes son más difíciles (mayor puntuación para aprobar y menos tiempo por pregunta) y en conjunto más caros:
Examen | Precio | Puntuación de aprobado | Preguntas | Respuestas correctas para aprobar | Duración (minutos) | Tiempo por pregunta |
---|---|---|---|---|---|---|
Programador de Java SE 6 | 238€ | 61% | 60 | >=37 | 150 | 2:30 |
Programador de Java SE 8 I | 212€ | 65% | 77 | >=51 | 150 | 1:55 |
Programador de Java SE 8 II | 212€ | 65% | 85 | >=55 | 150 | 1:45 |
¿Debo dirigirme a la certificación de Java 7 o Java 8?
La siguiente tabla enumera las principales adiciones realizadas a las últimas versiones de Java:
Literales binarios, por ejemplo: int i = 0b111100
Puntuación indebida en literales numéricos, p. ej: double pi = 3_14_15_927
Constantes de cadena en la expresión switch
(y etiquetas case
)
Bloque de captura múltiple: captura de múltiples excepciones en un solo bloque catch
Métodos por defecto en las interfaces
Expresiones Lambda
Nuevos paquetes de fecha y hora
Hay muchas más pequeñas incorporaciones en Java 7 y 8 pero aquí he recogido sólo las que se incluyen en los exámenes de Java SE Programmer I. Para más información sobre las novedades y mejoras de Java incluidas en cada versión puedes visitar los siguientes sitios:
- Documentación de Oracle Java – Language Enhancements
- Oracle Technology Network – What’s new in JDK 8
Entonces, dada la información anterior, ¿a qué certificación deberías apuntar? Te recomiendo que vayas a por la certificación de Java 8, ya que es relativamente nueva y seguirá siendo la última versión de la certificación de Programador Java durante un tiempo (al menos 3 años). El contenido adicional que debes estudiar para el examen de Java 8 con respecto al de Java 7 no es tanto y, sin embargo, merece la pena aprenderlo (por ejemplo, las expresiones lambda). De hecho, sólo 7 páginas de mi libro The Java Certification Roadmap son más que suficientes para cubrir los añadidos de Java 8 (métodos por defecto para interfaces, expresiones lambda y las nuevas APIs de fecha y hora).
Ya tengo una certificación de Java 6 o Java 7. ¿Qué debo hacer?
Bueno, esto depende de tus propios objetivos y situación. Mi recomendación sincera es la siguiente:
- Si tienes una certificación Java 6, yo iría a por la certificación Java 8. La certificación que tienes se está quedando anticuada y en conjunto ha habido importantes incorporaciones al lenguaje Java en sus dos últimas versiones principales.
- Si tienes una certificación Java 7, probablemente esperaría a la certificación Java 9. Todavía tienes una certificación bastante reciente y los cambios introducidos en el lenguaje Java en Java 8 no son tan importantes. También hay que tener en cuenta que este tipo de exámenes son relativamente caros y que prepararlos requiere tiempo y esfuerzo. Así que lo que yo haría (y este es exactamente mi caso) es simplemente aprender sobre las expresiones Lambda y las nuevas clases de calendario para mantener tus conocimientos de Java al día, y luego esperar a que salga el examen de Java 9.
¿Cuándo saldrá el examen de certificación de Java 9?
En el momento de escribir esto, la fecha oficial de salida de Java 9 es marzo de 2017, exactamente tres años después del lanzamiento de Java 8. A partir de ahí, Oracle suele tomarse su tiempo para liberar el examen (primero hay un periodo de varios meses destinado a los exámenes beta).
Según Oracle los exámenes Beta «evalúan las nuevas preguntas del examen con la participación de una audiencia en vivo antes de ser liberados al público. Los datos recogidos durante las pruebas beta se utilizan para seleccionar las mejores preguntas para el examen de producción, y para eliminar las preguntas que son ambiguas, demasiado fáciles o demasiado difíciles, o que no son útiles para evaluar los conocimientos de un participante». Los exámenes beta pueden ser una buena oportunidad para obtener su certificación a un costo mucho menor (generalmente 50$).
Basado en las versiones anteriores del examen de Java, mi conjetura es que el examen de Java 9 Programmer I será lanzado en enero de 2018.
¿Necesito pagar por la capacitación para obtener mi certificación de Java?
La respuesta es no. Todo lo que necesitas para preparar el examen es un buen libro y un simulador para practicar las preguntas del examen. Como se dice en el propio blog del Programa de Certificación de Oracle, la formación no es un requisito para las certificaciones de Java (OCA y OCP).
Nunca te recomendaría pagar por una formación presencial porque este tipo de formación suele ser muy cara. No obstante, si aun así crees que necesitas ayuda, siempre puedes pedir a tu empresa que la pague. Por un lado, al hacer saber a tu empresa que quieres obtener una certificación en Java, les demostrarás que te preocupas por tus habilidades y, por tanto, por tu trabajo. Por otro lado, si su empresa lo paga, no sólo está apoyando el crecimiento de su carrera, sino que también está aportando valor a la propia organización al mejorar las habilidades de sus empleados. Así que pregúntale a tu jefe o a Recursos Humanos. ¿Qué puede perder?
Todavía tengo más preguntas
Si todavía no está seguro de obtener una certificación Java, consulte la sección ¿Por qué certificarse? de mi sitio web. En ella se describen los beneficios potenciales que es razonable esperar de la consecución de esta certificación y también (y quizás aún más importante) lo que no deberías esperar de ella. También puedes consultar estos testimonios de algunas personas que han pasado por el proceso de obtención de la certificación, hablando de lo bueno y lo malo del mismo.