Accueil > Java EE > Retour d’expérience sur le contenu et l’intérêt de la certification Java

Retour d’expérience sur le contenu et l’intérêt de la certification Java

Ce billet est destiné à tous les développeurs qui envisagent de passer la certification Java. Nous avons tous entendu parler un jour de cette distinction, sans forcément savoir ce dont il s’agit ou encore ce qu’elle apporte d’un point de vue personnel et professionnel.

Les objectifs du billet sont les suivants :

  • Décrire brièvement en quoi consiste la certification Java
  • Expliquer quels sont les bénéfices de son obtention.
  • Insister sur l’importance d’une bonne préparation : en effet, l’intérêt de cette certification est autant dans sa préparation que dans sa réussite.

Qu’est ce que la certification Java ?

La certification Java, actuellement intitulée OCPJP (Oracle Certified Profesionnal Java Programmer) permet, au travers d’un examen agréé par Oracle, de tester et valider un certain nombre de connaissances fondamentales de ce langage, et de la programmation orientée objet.

Cette certification est pré-requise si vous souhaitez obtenir d’autres certifications Oracle plus avancées (Développeur de composants métiers, de web services, etc.) 

L’examen a pour rôle de valider plusieurs objectifs :

  • Les concepts de la programmation orientée objet (héritage, encapsulation, couplage…)
  • Les fondamentaux de Java
  • Les principales API et fonctionnalités natives de java

Plus de détails sur les objectifs de l’examen (OCPJP 6) : http://www.developersbook.com/certifications/scjp/scjp6-certification-objectives.php

Sachant cela, il est légitime de se demander quel est l’intérêt d’une telle distinction, et ce qu’elle peut apporter. C’est ce que je vais tenter de vous expliquer dans la suite de ce billet.

Un moyen d’évaluer son niveau

Posséder une solide expérience professionnelle et plusieurs projets réussis ne signifie pas que l’on sache évaluer objectivement son niveau et encore moins que l’on maîtrise parfaitement le langage Java.
En effet quel développeur Java ne s’est jamais remis en question : “Quel est mon véritable niveau ?”,  “Suis-je un bon développeur Java ?”,  “Le code que j’écris est-il de bonne qualité et robuste ?”. La  préparation à l’OCPJP et l’obtention de cette certification vous permettra de :

  • Découvrir et apprendre des parties du JDK et des concepts de Java qui vous sont inconnus.
  • Revoir et donc consolider les notions déjà connues
  • Valider  votre connaissance du langage à travers l’examen.

La certification constitue donc un excellent moyen de s’évaluer.

Être certifié OCPJP, c’est avoir la certitude de posséder les connaissances fondamentales et de maitriser la plupart des bonnes pratiques du langage Java.

Une valeur ajoutée pour votre carrière professionnelle

Au-delà de l’expérience et de l’apport  personnel ou professionnel que peut apporter cette certification, votre employeur (actuel ou futur), porte un intérêt particulier aux développeurs possédant cette distinction.

Pour les entreprises en quête du profil idéal, la certification est le gage d’un certain niveau technique. C’est également une preuve de sérieux et de motivation, car le passage de l’OCPJP nécessite un travail de préparation et un investissement important.

Par ailleurs, lors de vos entretiens, il ne sera  pas rare de passer des tests techniques théoriques ou pratiques. Ces tests auront souvent la même philosophie que les questions de l’examen. De ce fait les connaissances acquises pour la certification et l’expérience de l’examen seront un atout pour réussir vos entretiens.
Pour toutes ces raisons, sur un CV, à expérience et compétences égales, un profil certifié aura toujours plus de crédit et de valeur qu’un profil non certifié.

Une consolidation et validation des fondamentaux

Le programme et les thèmes abordés dans l’OCPJP passent en revue toutes les bases et les principales librairies du JDK 1.6. Ici, point de design pattern, de frameworks, de librairies avancées. Simplement les fondamentaux du langage Java et de la POO, abordées de manière approfondie, afin de vérifier que vous disposez bien d’une solide connaissance du langage Java.

Au premier abord, les connaissances requises peuvent paraître triviales, car les sujets abordés se cantonnent aux bases du langage Java et sont donc connus de la plupart des développeurs. Mais connaître ne veut pas forcément dire maîtriser.

Les questions suivantes, que l’on s’est tous posé à un moment donné, constituent un petit aperçu des pré-requis au passage de l’examen :

  • Comment fonctionne la gestion de la mémoire au travers de la “Stack” et de la “Heap” ? Qu’est-ce que le “Garbage Collector” ?
  • À quoi correspondent les notions de couplage et de cohésion ?
  • Comment fonctionne l’autoboxing ?
  • Quelle est la différence entre “l’overriding” et “l’overloading” ?
  • etc.

Le niveau de l’examen n’est pas insurmontable, mais exige une bonne préparation. Cet examen nécessite de comprendre et maîtriser les fondamentaux du langage Java. Un développeur peut être très performant dans la réalisation d’un projet pointu, sans pour autant connaître bon nombre des subtilités contenues dans cet examen. Faire compiler et fonctionner comme on le souhaite un programme Java ne veut pas pour autant dire que l’on comprenne pourquoi celui-ci compile, et fonctionne de cette manière.

Il faut être vigilant car l’examen regorge de questions extrêmement vicieuses et de pièges. Malgré le niveau abordable du programme de la certification Java, il vous faudra une connaissance approfondie des thèmes abordés pour augmenter vos chances de réussite.
Prenons l’exemple de l’API “Collection”, dont la maîtrise est l’un des objectifs de l’examen. Cette librairie est sans doute l’une des plus connues et des plus utilisées la communauté des développeurs. Lors de vos révisions, il pourrait être tentant d’éluder ce chapitre, pensant tout connaître d’une ArrayList, d’un HashSet ou encore d’une HashMap. Pourtant, cette API regorge de subtilités, et de spécificités d’implémentation (Vector, LinkedList, Queue, TreeSet…).

En se donnant la peine de (re)découvrir tous ces sujets, vous pourrez améliorer vos connaissances de base du langage et ainsi remettre en question votre approche de la programmation.

Un moyen d’éliminer des mauvaises habitudes

Bien se préparer à la certification vous aidera également à vous débarrasser de vos mauvaises pratiques. En intégrant un nouveau projet, un développeur manquant de bagage technique aura tendance à s’inspirer d’un existant qui n’est pas forcément bien écrit ou optimisé sans pour autant le remettre en question. Et ces mauvaises habitudes vous suivront longtemps ! Les connaissances acquises lors de l’apprentissage et la préparation de la certification permettent d’obtenir des certitudes sur bon nombre de bonnes pratiques et d’API à utiliser de la meilleure façon.

Cet apprentissage permet également de consolider significativement ses connaissances sur la syntaxe, et la bonne compilation du code Java. En effet, les différents IDE (Eclipse, NetBeans…)  que nous utilisons simplifient énormément la tâche d’un développeur : génération automatique de code, détection et correction quasi instantanée des erreurs et du code qui ne compile pas. Au final, la bonne utilisation d’un IDE permet à coup sûr de produire un code qui compile. Mais cela ne veut pas dire pour autant qu’un développeur comprend et maîtrise la totalité d’un code écrit avec l’aide d’un IDE, ou qu’il arrive à faire compiler du code sans l’aide de son IDE.

Pour conclure…

Pour toutes ces raisons, le passage de la certification peut servir autant à un développeur débutant qu’à un développeur confirmé, surtout s’il aspire à devenir expert technique ou architecte.
Bien évidemment, un développeur n’a pas besoin d’être certifié pour développer des applications qui fonctionnent, répondre aux besoins de son employeur/client ou encore devenir un expert. Les connaissances acquis lors des diverses formations et des expériences permettent déjà de bien comprendre le langage et de développer des applications.

Mais c’est sur le long terme que le développeur mesurera tous les bénéfices apportés par cette certification. Au delà du passage de l’examen, c’est surtout le temps consacré à l’apprentissage et la préparation de la certification qui permettra d’acquérir une solide connaissance du langage et de ses bases tout en ayant un regard nouveau sur celui-ci. Votre productivité n’en sera que plus élevée et votre code mieux optimisé, plus robuste et lisible.

Categories: Java EE Tags: , ,
  1. Fabrice
    11/06/2013 à 12:14 | #1

    Plus qu’un commentaire, des questions ou interrogations. Pour cette certification, je lis partout (sites, bouquin mentionné) que c’est jouable si on y passe du temps, et que ça en vaut la peine : meilleures offres d’emploi, de salaire ….
    Est-ce une légende urbaine ou avez-vous vérifié cela par vous-même maintenant que vous êtes certifié ? Avez-vous été augmenté ou êtes-vous en passe de l’être ? Les tarifs payés par les clients sont-ils plus élevés après qu’avant ? Votre place dans les projets est-elle maintenant meilleure ?
    Et comme commentaire cette fois, les articles sont bien écrits et très utiles.
    Merci de ce temps passé à les écrire

  2. 31/07/2013 à 15:54 | #2

    Bonjour,

    Tout d’abord, je vous remercie de vous être intéressé à notre blog Techno.

    Pour répondre à votre question, chez Novedia nous encourageons nos collaborateurs à s’impliquer dans des démarches de montée en expertise. C’est pourquoi, nous favorisons les démarches de certifications, de participation à des conférences (Devoxx, JUG Summer Camp, Agile France et bien d’autres …) et de partage du savoir-faire (NovediaShares le soir, Brown Bag Lunch le midi).

    Pourquoi cet investissement ? Parce que nous pensons que faire progresser individuellement chaque collaborateur, permet de faire progresser l’ensemble de l’entreprise.

    Pour les collaborateurs qui réussissent leur certification, cela ne se traduit pas nécessairement par une contrepartie monétaire immédiate de la part de Novedia. Cela fait partie d’un de leurs objectifs annuels qu’ils définissent avec leur manager. Lors de l’entretien annuel d’évaluation, l’atteinte des objectifs entrent en effet en compte dans la ré-évaluation salariale.

    Côté client, cela ne se traduit pas mécaniquement par une augmentation du tarif, cela leur garantit juste que nos collaborateurs continuent à progresser dans leur métier.

    Cordialement,

    Danièle Hong
    Direction des Opérations IT

  1. Pas encore de trackbacks


1 − = null