Un article récent du blog du programme de certification Oracle posait quelques questions sur la certification Java :
- Je suis un développeur Java depuis des années. Pourquoi devrais-je obtenir la certification Java ?
- Quelle est la différence entre les certifications Java SE 8 et les certifications Java SE 7 ?
- Pour les certifications Java SE 8, pourquoi la certification Oracle Certified Associate (OCA) est-elle désormais un prérequis pour Oracle Certified Professional (OCP) ?
- Dois-je acheter des cours de formation de l’Université Oracle pour obtenir ma certification Java ?
Ce sont le genre de questions qui peuvent se poser si vous envisagez d’obtenir une certification Java, alors j’ai pensé qu’il serait utile si je vous donnais plus d’informations sur ces questions et d’autres questions similaires, sur la base de mes propres connaissances et expériences. Continuez à lire pour en savoir plus.
La réponse est oui, tant que vous avez de la motivation et des attentes claires. J’étais moi-même un développeur Java expérimenté lorsque j’ai décidé d’étudier pour obtenir la certification de programmeur Java. Ma principale motivation était d’améliorer et d’actualiser mes connaissances du langage Java (tout en les faisant valider par l’obtention de ce titre informatique précieux et reconnu). Je peux vous dire qu’une fois que vous commencez à étudier, vous vous rendez vite compte que le temps que vous y consacrez n’est en aucun cas perdu, mais au contraire très utile. Je vous assure que même si vous êtes un programmeur expérimenté, vous allez apprendre des choses nouvelles et intéressantes, non seulement sur les nouvelles fonctionnalités du langage que vous ne connaissez pas encore, mais aussi sur certaines choses que vous pensez maîtriser.
- Que sont OCA et OCP ?
- Pourquoi y a-t-il deux examens ?
- Dois-je viser la certification Java 7 ou Java 8 ?
- J’ai déjà une certification Java 6 ou Java 7. Que dois-je faire ?
- Quand l’examen de certification Java 9 sera-t-il publié ?
- Dois-je payer pour une formation afin d’obtenir ma certification Java ?
- J’ai encore d’autres questions
Que sont OCA et OCP ?
Si vous êtes nouveau dans le monde des certifications Java, cette terminologie OCA et OCP peut être un peu déroutante. Je vais essayer de vous expliquer en quelques mots :
- L’OCA est la certification d’entrée de gamme pour les programmeurs Java. C’est un très bon point de départ pour apprendre les bases mêmes du langage (variables, types de données, tableaux, boucles, classes, méthodes, exceptions) et aussi quelques sujets pas si basiques (rétrécissement implicite, casting explicite, autoboxing, classes imbriquées, polymorphisme et héritage, classes abstraites et interfaces, et quelques API spécifiques pour traiter les collections, les chaînes de caractères et les objets de calendrier)
- OCP est la certification de niveau suivant pour les programmeurs Java. C’est un examen assez plus avancé qui traite de sujets tels que les modèles de conception, les génériques, les entrées/sorties de fichiers (NIO.2) , JDBC, les threads et la concurrence.
De toute évidence, pour pouvoir passer l’examen pour l’OCP, vous devez d’abord obtenir l’OCA, donc le chemin de certification est clair. Cela étant dit, lorsqu’une nouvelle version de Java est publiée (par exemple, Java 8), les examens et les certifications précédemment existants sont poursuivis et maintenus par Oracle pendant un certain temps (plusieurs années). Cela signifie que votre première étape pourrait être d’obtenir le Java 8 OCA (la dernière version) ou le Java 7 OCA. Au moment où j’écris ces lignes, vous pourriez même essayer Java 6, mais je vais le laisser en dehors de la comparaison (cela n’a aucun sens puisque c’est beaucoup plus ancien).
Les tableaux suivants montrent les examens que vous devez passer pour obtenir l’OCA et l’OCP pour Java 7 et Java 8 :
Certification | Examen | Badge | ||
---|---|---|---|---|
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 |
Pourquoi y a-t-il deux examens ?
Avant Java 7, il n’y avait qu’un seul examen et une seule certification, appelée à l’origine Sun Certified Java Programmer (SCJP, examen CX-310-065), puis modifiée en Oracle Certified Professional Java Programmer (OCPJP, examen 1Z0-851). Quelle était la raison de diviser la certification en deux examens ? D’une part, si vous pensez à la longue liste de sujets inclus dans l’examen Java 6, cela a du sens. Avec un seul examen, l’obtention de la certification était une tâche écrasante pour de nombreuses personnes. Le fait d’avoir deux examens vous permet de fixer des objectifs plus réalisables et d’obtenir une première certification (OCA) en moins de temps. D’un autre côté, les examens sont maintenant plus difficiles (score de passage plus élevé et moins de temps par question) et globalement plus chers :
Examen | Prix | Score de passage | Questions | Réponses justes pour réussir | Durée (minutes) | Temps. par question |
---|---|---|---|---|---|---|
Programmeur Java SE 6 | 238€ | 61% | 60 | >=37 | 150 | 2 :30 |
Java SE 8 Programmer I | 212€ | 65% | 77 | >=51 | 150 | 1 :55 |
Java SE 8 Programmer II | 212€ | 65% | 85 | >=55 | 150 | 1:45 |
Dois-je viser la certification Java 7 ou Java 8 ?
Le tableau suivant liste les principaux ajouts effectués dans les dernières versions de Java:
Littéraux binaires, par exemple : int i = 0b111100
Underscore dans les littéraux numériques, par ex : double pi = 3_14_15_927
Constitutions de chaînes de caractères dans l’expression switch
(et les étiquettes case
)
Bloc multi-catch : Attraper plusieurs exceptions dans un seul catch
bloc
Méthodes par défaut dans les interfaces
Expressions Lambda
Nouveaux paquets de date et d’heure
Il y a beaucoup d’autres petits ajouts dans Java 7 et 8 mais j’ai rassemblé ici seulement ceux qui sont inclus dans les examens Java SE Programmer I. Pour plus d’informations sur les nouvelles fonctionnalités et améliorations de Java incluses dans chaque version, vous pouvez visiter les sites suivants :
- Documentation Java d’Oracle – Améliorations du langage
- Oracle Technology Network – Quoi de neuf dans le JDK 8
Donc, compte tenu des informations ci-dessus, quelle certification devriez-vous cibler ? Je vous recommande d’opter pour la certification Java 8, car elle est relativement nouvelle et restera la dernière version de la certification de programmeur Java pendant un certain temps (au moins 3 ans). Le contenu supplémentaire que vous devez étudier pour l’examen Java 8 par rapport à l’examen Java 7 n’est pas très important et vaut cependant la peine d’être appris (par exemple, les expressions lambda). En fait, seulement 7 pages de mon livre The Java Certification Roadmap sont plus que suffisantes pour couvrir les ajouts de Java 8 (méthodes par défaut pour les interfaces, expressions lambda et les nouvelles API de date et d’heure).
J’ai déjà une certification Java 6 ou Java 7. Que dois-je faire ?
Eh bien, cela dépend de vos propres objectifs et de votre situation. Ma recommandation honnête est la suivante :
- Si vous avez une certification Java 6, j’opterais pour la certification Java 8. La certification que vous avez devient ancienne et dans l’ensemble, il y a eu des ajouts importants au langage Java dans ses deux dernières versions majeures.
- Si vous avez une certification Java 7, j’attendrais probablement la certification Java 9. Vous avez encore une certification assez récente et les changements introduits dans le langage Java dans Java 8 ne sont pas si importants. Vous devez également tenir compte du fait que ces types d’examens sont relativement coûteux et que leur préparation nécessite du temps et des efforts. Donc, ce que je ferais (et c’est exactement mon cas), c’est simplement apprendre les expressions Lambda et les nouvelles classes de calendrier pour maintenir vos connaissances de Java à jour, puis attendre la sortie de l’examen Java 9.
Quand l’examen de certification Java 9 sera-t-il publié ?
Au moment d’écrire ces lignes, la date officielle de sortie de Java 9 est mars 2017, soit exactement trois ans après la sortie de Java 8. À partir de ce moment-là, Oracle prend généralement son temps pour publier l’examen (il y a d’abord une période de plusieurs mois destinée aux examens bêta).
Selon Oracle, les examens bêta « évaluent les nouvelles questions d’examen avec la participation d’un public en direct avant d’être diffusés au public. Les données recueillies lors des examens bêta sont utilisées pour sélectionner les meilleures questions pour l’examen de production, et pour éliminer les questions ambiguës, trop faciles ou trop difficiles, ou inutiles pour évaluer les connaissances d’un participant ». Les examens bêta peuvent être une bonne occasion d’obtenir votre certification à un coût beaucoup plus faible (généralement 50$).
Sur la base des versions précédentes de l’examen Java, je suppose que l’examen Java 9 Programmer I sera publié d’ici janvier 2018.
Dois-je payer pour une formation afin d’obtenir ma certification Java ?
La réponse est non. Tout ce dont vous avez besoin pour vous préparer à l’examen est un bon livre et un simulateur pour vous entraîner aux questions d’examen. Comme il est dit dans le blog du programme de certification Oracle lui-même, la formation n’est pas une exigence pour les certifications Java (OCA et OCP).
Je ne vous recommanderais jamais de payer pour une formation en classe car ce type de formation est généralement très coûteux. Cependant, si vous pensez toujours avoir besoin d’aide, vous pouvez toujours demander à votre entreprise de la payer. D’une part, en faisant savoir à votre entreprise que vous souhaitez obtenir une certification Java, vous lui montrerez que vous vous souciez de vos compétences et donc de votre travail. D’autre part, si votre entreprise paie, elle ne se contente pas de soutenir l’évolution de votre carrière, elle apporte également de la valeur à l’organisation elle-même en améliorant les compétences de ses employés. Demandez donc à votre responsable ou aux ressources humaines. Qu’avez-vous à perdre ?
J’ai encore d’autres questions
Si vous n’êtes toujours pas sûr de vouloir obtenir une certification Java, consultez la section Pourquoi obtenir une certification ? de mon site Web. Elle décrit les avantages potentiels qu’il est raisonnable d’attendre de l’obtention de cette certification et aussi (et peut-être même plus important) ce que vous ne devez pas en attendre. Vous pouvez également consulter les témoignages de personnes qui sont passées par le processus d’obtention de la certification et qui parlent des avantages et des inconvénients de ce processus.