Obtenez la voie interne sur la certification d'architecte J2EE

Il y a plus de deux ans, je me suis porté volontaire en tant que testeur bêta pour l'examen de technologie Sun Microsystems Certified Enterprise Architect for J2EE (Java 2 Platform, Enterprise Edition). J'ai regardé le programme prévu et j'ai vu la valeur de la certification, alors j'ai décidé d'y aller. Quatre mois et beaucoup de travail plus tard, j'ai reçu mon certificat et mon badge par la poste, presque comme si j'avais rejoint un fan club très sélect! Cela en valait-il la peine? En un mot, oui. Mon objectif direct était la certification, mais j'ai été agréablement surpris que le processus de certification m'ouvre les yeux sur des idées et des approches que je n'avais tout simplement pas eu le temps d'enquêter dans l'agitation de mon travail quotidien. Je continue à travailler avec Sun sur le contenu et la structure de l'examen et je suis actuellement examinateur pour le test. Dans cet article,Je partage mes expériences et choisis également le cerveau de Mark Cade, développeur principal de l'examen d'architecte J2EE de Sun. Si vous souhaitez devenir un architecte J2EE certifié Sun, lisez la suite.

Pourquoi obtenir une certification?

En termes simples, toute certification est aussi bonne que l'organisme de certification. Dans notre cas, l'organisme d'attribution est Sun, la société derrière J2EE. Cela rend la certification en fonte dans mon livre. De nombreuses autres certifications sont disponibles auprès de divers fournisseurs Java, mais Sun souhaite certifier et approuver les architectes pour la plate-forme J2EE, pas pour le serveur d'applications X, Y ou Z.

En général, cependant, la valeur de la certification - qu'elle provienne d'une université ou d'une entreprise - est souvent débattue dans notre industrie. Je n'ai pas besoin d'un certificat pour devenir ingénieur logiciel en exercice aux États-Unis ou en Europe, contrairement à la plupart des autres professions. Super, disent certains. Notre culture hacker unique change la façon dont le monde fonctionne. Nous vivons ou mourons par nos compétences en codage, pas par l'opinion d'une institution tarie sur nous. Boo, disent les autres. Les codeurs fly-by-night produisent du code non standard et des systèmes inflexibles non documentés qui ne sont souvent pas assez robustes.

Les deux camps ont des arguments valables. Mais mon opinion est claire: je vois la valeur des certifications parrainées par l'industrie. Et toutes choses égales par ailleurs, j'évalue davantage un architecte J2EE certifié qu'un architecte non certifié. Il y a beaucoup plus d'architectes non certifiés faibles que d'architectes certifiés Sun faibles.

Qu'est-ce que l'examen

Soyons francs: l'examen de certification d'architecte J2EE est un très bon moyen de différencier votre CV. Les candidats qui s'assurent en permanence d'être à jour sur les dernières technologies et détiennent des certifications essentielles dans les technologies choisies sont des personnes bien motivées qui ajoutent de la valeur à leur entreprise, à la fois en tant qu'individus et en tant que joueurs d'équipe. Comme le dit Sun's Cade, «La certification vous permet de mettre un pied dans la porte. Par exemple, si les recruteurs recherchent deux candidats pour un poste d'architecte et que l'un a la certification et l'autre pas, qui pensez-vous qu'ils vont considérez d'abord? "

Cela peut en fait être amusant de travailler vers la certification. Avez-vous déjà voulu étudier une section particulière de la spécification Unified Modeling Language (UML) ou de la spécification Enterprise JavaBeans (EJB), ou souhaitez-vous actualiser un modèle de conception que vous n'avez pas utilisé depuis un moment? J'ai utilisé mon temps de révision de certification pour devenir un meilleur architecte. Par exemple, la partie 2 m'a permis d'évaluer les outils de modélisation UML que j'avais hâte d'essayer, tandis que la partie 1 m'a donné l'opportunité de développer des aspects d'intégration d'entreprise que je n'avais pas utilisés auparavant, comme le grattage d'écran et l'intégration héritée. La certification J2EE n'est certainement pas facile - c'est un travail difficile. Mais si vous aimez être architecte J2EE, vous apprécierez le processus de certification. Il y a un réel sentiment de réussite lorsque vous réussissez l'examen.

Ce que l'examen n'est pas

J'ai demandé à Cade ce que la certification ne pouvait pas tester. Sa réponse en quelques mots: "La certification ne remplace pas l'expérience." Comme pourrait le dire Yoda, "un examen n'est pas fait par un architecte". N'essayez pas de vous lancer dans une certification d'architecte J2EE si vous n'avez pas les compétences nécessaires pour la sauvegarder. Premièrement, vous aurez du mal à réussir l'examen, et deuxièmement, être un architecte J2EE est une compétence appliquée; si vous n'avez pas le savoir-faire, vous serez rapidement exposé.

Un autre point est que l'examen d'architecte est subtilement différent des autres certifications Java de Sun. "L'examen d'architecte est plus abstrait, tout comme l'architecture. Les examens de programmeur testent si une personne comprend la langue. L'examen de développeur teste si une personne peut appliquer la langue pour résoudre un problème. Et l'examen d'architecte teste si une personne peut utiliser ses connaissances pour concevoir une solution qu'un développeur pourrait mettre en œuvre », explique Cade.

Profil de candidat typique

Le candidat retenu typique se divise en deux groupes principaux: des ingénieurs expérimentés solides qui sont déjà des architectes dans tous les domaines sauf de nom et des architectes bien établis, éventuellement d'autres disciplines technologiques, qui utilisent la certification d'architecte pour se former à J2EE, ou simplement se perfectionner leur expertise J2EE.

Les compétences Java ne seront pas un problème pour un candidat retenu. Le défi consiste plutôt à montrer que vous pouvez concevoir et communiquer une conception logicielle J2EE robuste et correcte pour un problème donné. D'autres compétences importantes incluent la capacité de comprendre qu'il n'y a pas toujours de réponse parfaite pour chaque problème donné, et de défendre de manière cohérente et convaincante la conception proposée à un examinateur.

Anatomie de l'examen

L'examen est divisé en trois sections, chacune conçue pour tester un aspect différent de vos compétences. La figure 1 illustre les étapes requises pour devenir un architecte J2EE certifié Sun.

Partie 1

La partie 1 se compose de 48 questions à choix multiples, couvrant tous les aspects de la conception d'applications d'entreprise avec un fort accent sur la spécification et l'architecture EJB. La partie 1 vous teste sur des sujets allant des modèles de conception aux interfaces de base de la spécification EJB. Vous devez connaître les EJB de fond en comble - les différents types, leurs cycles de vie. Vous devez comprendre les conteneurs EJB et les pièges potentiels des EJB. Vous avez également besoin d'une solide maîtrise des autres technologies J2EE constituantes, telles que JavaServer Pages (JSP), servlets, Java Database Connectivity (JDBC) et la prise en charge de XML. Apprenez les principaux modèles de conception et leurs regroupements; les reconnaître à partir de leurs «signatures» UML. Les questions relatives à l'architecture interentreprises (B2B) peuvent également figurer en bonne place.

Vous devez réussir la partie 1 avant de passer à la partie 2.

Partie 2

La partie 2 est le cœur de l'examen. Dans cette section, les candidats doivent soumettre leurs solutions basées sur J2EE pour un scénario d'entreprise donné. Pour des raisons évidentes, je ne peux pas divulguer les scénarios commerciaux réels utilisés, il suffit de dire qu'ils contiennent à la fois des aspects B2C (business-to-consumer) et B2B. Il n'y a pas beaucoup de travail de préparation à faire ici; vous devez simplement utiliser vos compétences pratiques pour concevoir une solution basée sur J2EE. Une communication claire est cruciale; vous devez convaincre l'examinateur que vous savez ce que vous faites. Ne présumez rien. Tous les diagrammes livrés doivent être conformes à UML.

Partie 3

Dans la partie 3, les candidats doivent répondre à une série de questions sur leurs soumissions de la partie 2. Ces questions examinent votre capacité à analyser objectivement votre conception et vous garantissent également que vous avez une connaissance approfondie des aspects clés de votre système proposé, notamment la maintenabilité, les performances et l'évolutivité. Vos réponses à ces questions seront disponibles au même examinateur qui corrige votre soumission de la partie 2, et il recoupera les réponses fournies avec la solution soumise pour évaluer vos réponses à l'essai.

Conseils d'examen

Passons aux punaises en laiton. Quels conseils puis-je offrir aux candidats potentiels? Voici les principales erreurs que j'ai vues dans les soumissions des parties 2 et 3. Je ne me concentre pas sur la partie 1, car il s'agit d'une simple section à choix multiples; soit vous connaissez les bonnes réponses, soit vous ne les connaissez pas. La figure 2 illustre les aspects clés des soumissions d'examen réussies et non, basées sur les commentaires directs des examinateurs depuis le lancement de l'examen d'architecte J2EE.

Principales erreurs de soumission

  1. Il manque complètement le point de l'examen. L'examen est conçu pour tester vos compétences en tant qu'architecte J2EE. Tous vos efforts doivent se concentrer sur la résolution du problème commercial donné et ne pas être embourbés dans les écrous et les boulons des problèmes ésotériques J2EE. Bien sûr, n'hésitez pas à aborder ces points également, mais ne laissez pas votre solution commerciale en souffrir.
  2. Soumissions bâclées. Sun s'attend à ce que les gens passent entre 30 et 40 heures à travailler sur l'examen. Avec ce laps de temps, vos soumissions ne doivent pas contenir de fautes de frappe, de diagrammes UML peu clairs, d'arguments / justifications incomplets et de livrables manquants. Soyez fier de votre solution et assurez-vous qu'il s'agit de votre meilleur effort.
  3. Soumissions trop complexes. Certains candidats passent à l'overdrive et transforment un système d'entreprise bien sécurisé en le prochain Amazon.com. Prenez du recul et assurez-vous que votre soumission est aussi détaillée que possible, mais pas trop. Un contenu superflu nuit à la norme globale et rend plus difficile pour votre examinateur d'attribuer des notes.
  4. Réponses incomplètes / inadéquates pour la partie 3. De nombreux candidats ne mettent tout simplement pas assez d'efforts dans la partie 3 (les questions à développement). Assurez-vous de fournir des réponses complètes et de les sauvegarder avec des références à des parties spécifiques de votre architecture proposée. Et veuillez noter que déclarer que votre application est excellente car elle est basée sur J2EE ne constitue pas une défense adéquate des caractéristiques du système standard, telles que l'évolutivité, la maintenabilité et les performances.

Enfin, si vous échouez à l'examen, apprenez de vos erreurs. Si vous pensez avoir le bon profil et que vous avez échoué en raison d'une mauvaise technique d'examen ou d'une mauvaise préparation, mettez-le derrière vous et regroupez-vous. Toutes les soumissions reçoivent une ventilation des points attribués et déduits. Utilisez ceci pour identifier les faiblesses de votre soumission. Une fois que vous avez résolu ces faiblesses, soumettez à nouveau.

D'un autre côté, examinons les caractéristiques communes des soumissions réussies.

Caractéristiques de soumission réussie

  1. Préparation correcte et temps adéquat consacré aux soumissions. Les candidats retenus comprennent ce qu'on leur demande de fournir et le font ensuite. C'est si simple. Une bonne technique pour la partie 2 est de vous demander continuellement si vous travaillez sur ce que vous devriez être. Restez discipliné. Comprenez les questions et restez sur la bonne voie.
  2. Soumissions claires et succinctes. Les soumissions réussies peuvent varier en longueur, mais le contenu détermine si vous réussissez ou échouez. Un conseil utile est de jouer l'avocat du diable avec chaque section de votre soumission. Où sont les points faibles? Si vous ne l'aviez pas écrit, le comprendriez-vous? Demandez à un collègue de revoir votre solution avant de la soumettre. C'est incroyable ce qu'une seconde paire d'yeux peut attraper.

En ce qui concerne la partie 2, ne vous attardez pas sur l'outil de modélisation que vous utilisez pour générer les livrables UML spécifiés. La clarté et l'exactitude devraient être vos principaux objectifs. Tout outil de votre choix convient tant que vous vous en tenez aux livrables spécifiés (par exemple, en fournissant une page principale index.html).

Examens futurs

Reflétant les progrès que J2EE et ses technologies constitutives continuent de faire, l'examen d'architecte lui-même est également en cours de révision. L'examen mis à jour couvrira J2EE 1.4, les modèles de conception J2EE, l'architecture du connecteur Java (JCA) et les méthodologies de conception telles que Rational Unified Process (RUP) et la programmation extrême (XP). D'autres extensions prévues au format actuel incluent un mécanisme de rétroaction pour permettre aux examinateurs d'interroger les candidats sur des points spécifiques de leur architecture.

L'examen remanié n'impliquera pas d'entretiens en face à face avec des candidats potentiels. Comme le dit Cade, "Être architecte, c'est être en grande partie capable de communiquer vos idées par écrit et verbalement. Nous pouvons capturer la partie écrite de la communication, mais nous ne pouvons pas évaluer les candidats sur leurs capacités verbales. C'est pourquoi les employeurs doivent avoir un entretien approfondi. processus."

Un phénomène intéressant est que les solutions soumises pour la partie 2 au cours de la dernière année ont changé, même si l'examen lui-même n'a pas été le cas. L'avènement des services Web et une évolution vers une approche de l'architecture plus modulaire et axée sur les services se reflètent en général dans les types de solutions que les candidats soumettent. Cela représente pour moi l'une des vraies valeurs de l'examen d'architecte. Il reste pertinent même si les techniques préférées et les technologies sous-jacentes évoluent et mûrissent.

Avoir votre mot à dire

J'espère que vous avez maintenant une idée plus claire de la certification d'architecte J2EE de Sun et que vous comprenez pourquoi je pense que cela vaut la peine d'être poursuivi. C'est un travail difficile, mais la récompense est que, une fois terminé, vous serez un meilleur architecte. L'examen d'architecte est actuellement en cours de révision pour suivre le rythme de la plate-forme J2EE, et Sun accueille vos commentaires sur le contenu et la structure de l'examen.

Si vous avez des idées sur la façon d'améliorer l'examen, je serais ravi de les entendre. Utilisez le formulaire de commentaires JavaWorld (voir Ressources) pour nous envoyer vos commentaires. C'est un excellent moyen de contribuer à influencer la prochaine phase du processus de certification des architectes.

La section Ressources ci-dessous contient des liens utiles pour vous aider à démarrer. L'examen ne remplace pas une expérience pratique en architecture, mais c'est un excellent complément à cette expérience, surtout si vous acceptez le travail de certification comme une opportunité de combler les lacunes de vos connaissances. Si vous travaillez actuellement en vue de l'examen, bonne chance! Si vous ne l'êtes pas, pourquoi pas vous?