Vers la certification Confluent Kafka Developer

Medhi Redjem
CodeShake
Published in
5 min readApr 29, 2020

J’ai récemment passé la certification Confluent Kafka Developer après plus de 2 ans de pratique sur les aspects Ops et Dev de Kafka. Ce billet est l’occasion de partager ma préparation à cette certification et mon expérience personnelle.

Préparation de l’examen

Comment se préparer à l’examen ? Ce n’est pas un secret, l’expérience est le meilleur guide. Si vous êtes actuellement sur un projet faisant intervenir Kafka et son écosystème, vous développerez une intuition bien plus grande pour répondre correctement lors de l’examen. Le meilleur combo est celui du développeur Kafka ayant eu l’occasion de jouer avec les composants de la plate-forme Confluent. Et si vous êtes en plus familier avec le fonctionnement interne de Kafka, alors la certification ne devrait vous poser aucun problème.

Malgré tout, il est toujours nécessaire de se rafraîchir la mémoire sur certains concepts ou mécanismes subtils de Kafka. Ma meilleure arme : la littérature (informatique) et notamment le très bien écrit Kafka The Definitive Guide.

Le livre est disponible gratuitement au format numérique sur le site de Confluent. Ce livre mériterait d’être acheté : il permet de comprendre en profondeur Kafka et contient bon nombre de réponses aux questions qui seront posées en examen.

Si vous préférez avoir un formateur en face de vous, c’est possible en passant les formations officielles Confluent. J’ai eu la chance en mission de pouvoir passer la formation Confluent Ops sur 3 jours. Celle-ci m’a beaucoup appris et surtout conforté sur le choix de Kafka comme solution de messagerie et plus tard comme plate-forme de streaming.

Enfin des examens blancs sont disponibles sur Udemy, bien que payants ils sont redoutablement utiles pour se préparer :

Ce lot comprend 3 examens de 50 questions chacun soit au total 150 questions représentatives de ce que vous pourrez avoir en examen. Je vous recommande vivement de les passer et d’assurer un score de 90% avant de passer la certification.

Planification de l’examen

La certification se déroule en ligne sur Examinity. Il suffit de créer un compte, renseigner quelques informations (nom, prénom, questions secrètes, …) et de planifier une date d’examen. Validez deux fois votre nom et prénom, il serait dommage que le certificat soit caduque à cause d’une bête erreur!

Après s’être acquitté de 150 dollars HT (environ 170 euros TTC), vous pouvez passer à la préparation de votre poste de travail qui doit comprendre :

  • Micro et webcam
  • Windows ou MacOS
  • Chrome
  • Connexion Internet

Confluent demande que le candidat dispose d’un ordinateur avec webcam et micro activés en toutes circonstances afin que l’examinateur puisse s’assurer du respect des règles de l’examen. Rien ne doit être à portée de main (l’examinateur vous demandera de lui montrer ce qu’il y a autour de vous). Sur votre poste, vous n’aurez le droit d’ouvrir qu’un seul onglet : celui pour l’examen. Egalement vous aurez à installer GoToMeeting à l’avance, l’examinateur aura besoin de prendre le contrôle à distance, là encore pour s’assurer du bon respect des règles.

Enfin pensez à avoir votre carte d’identité (et si possible toujours valide) ainsi qu’éventuellement votre permis de conduire. A titre personnel, l’examinateur a mis près de 20 minutes avant de m’autoriser à passer l’examen. Il s’attendait vraisemblablement à tomber sur un candidat Etats-Unien et mettait en doute la validité des documents que je lui montrais.

Contenu de l’examen

Une fois passée la paperasse, vous aurez accès à l’examen qui se présente sous forme de quiz de 60 questions à choix multiples pour un temps imparti de 90 minutes. Il vous est possible de mettre une question de côté pour la reprendre plus tard. Vous pouvez également reprendre une question à laquelle vous aviez déjà répondu donc pas d’inquiétudes à avoir de ce côté là. Attendez vous bien évidemment à des questions sur le client Kafka, les composants Confluent mais également sur certains aspects Ops.

  • L’ajout d’un champ sans valeur par défaut sur un schéma Avro est-il : Breaking, Forward, Full, None ?
  • Que se passe-il lorsque l’on produit un message dans un topic configuré avec “min.insync.replicas=2” si le cluster ne comprenait que 2 brokers à la création du topic ?
  • Quelle est la bonne commande pour produire un message dans un topic avec le CLI Kafka ?
  • Combien de tâches seront actives si l’on démarre un worker Kafka Connect pour répliquer les données d’une table SQL avec “min.tasks=2” ?
  • Etant donné le code suivant, quelle est la garantie apportée par mon consommateur : At-least once, Exactly once, At-most once ?
  • Comment joindre 2 topics n’ayant pas le même nombre de partitions avec Kafka Streams ?

P.S. : Les questions sont en anglais (of course it is).

Qu’en est-il du taux d’acceptance ? Eh bien, celui-ci n’est pas communiqué mais il était estimé à 70% il y a encore quelques mois. Je vous conseille bien évidemment de viser plus haut : minimum 80% voire 90% lorsque vous vous entraînerez. Dans tous les cas, il n’y a pas de questions pièges (des questions mal formulées tout au plus) et le temps imparti est normalement largement suffisant. A titre personnel, il m’a suffi de 40 minutes pour terminer l’examen en validant trois fois mes réponses.

Une fois terminé, on vous demandera de faire un retour à chaud sur la certification et on vous indiquera dans la foulée si vous avez réussi ou non. Si tout est bon, l’examinateur vous remercie et vous recevez un email avec un lien Accredible à exposer fièrement sur Linkedin, Twitter ou dans votre salle de bains.

Après l’examen

Parmi les mots de félicitations, certaines personnes m’ont indiqué douter de l’intérêt de passer des certifications. Après tout une personne non certifiée peut être aussi capable (voire plus) qu’une personne certifiée. Je pense néanmoins qu’après avoir travaillé aussi longtemps sur Kafka, il était important de passer la certification et sentir qu’un cap avait été franchi dans ma compréhension du produit.

Une fois la certification en poche, on se sent plus libres de passer au stade supérieur et d’agrandir l’horizon des possibles. De plus, qu’on le veuille ou non, la certification reste un moyen très efficace de se démarquer sur le marché du travail.

Suite à l’obtention de ma certification, j’ai pu enchaîner sur la création d’une SFEIR School Kafka. Les SFEIR Schools sont des formations gratuites de 1 à 2 jour(s) qui abordent un langage ou une technologie en alternant théorie et pratique. SFEIR propose régulièrement ces formations sur Meetup et depuis peu les supports de formation sont accessibles librement sur le Github SFEIR Open Source !

--

--