inductor's blog

nothing but self note :)

資格試験を受ける側から作る側になった時の話

はじめに

こんにちは。inductorです。

Kubernetesについて学ぶための1つの方法として、CKA/CKAD/CKSといった公式の資格の存在があります。資格保有が必ずしも専門性を示すわけではありませんが、特にベンダーの技術者や普段業務でKubernetesを使わないという方の場合、資格試験の勉強は効率の良い学習リソースの1つと言えるでしょう。

ところで、技術の資格試験を作ることについて考えたことはあるでしょうか。僕はこれまで深く考えたことはありませんでした。そもそも、誰がどういうプロセスで資格試験を企画し、設計しているのかすら知りませんでした。CKSのときはクローズドベータテスターの募集があってそれを受けたりはしたんですがそれはそれでただの受験者なので特に何も考えてはいなかったですね。

CKADの試験改定の募集

今年の春に、CNCF Ambassadorの集まるSlackチャンネルにて以下のようなメッセージを見かけました。

f:id:inductor:20211005014821p:plain

「CKADの試験を作る側に立てるのも面白いな」と思い、立候補してみることにしました。

f:id:inductor:20211005015048p:plain

これは自分がツイートした以下の内容のことで、実は9月末にロールアウトしています。なので、今申し込んで受けた場合は新問題に遭遇するはずです。

自分はHelm関連の問題や他何個かを担当しつつ、他のボランティアが作ったコンテンツのレビューや議論などもクロスレビューという形で相互に行いました。

いろんな中の人に会う

ワークショップという形式でZOOMを使ってみんなで試験の範囲についてどうあるべきかを議論するようなワークショップを4日間かけて集中的に行いました。基本的にUS・EUのタイムゾーンに合わせる形だったのでスケジュール的には東アジアの自分としては割を食う感じになってますねw

f:id:inductor:20211005015808p:plain

このとき、試験を企画しているのはLinux Foundationだということに気づきました(それはそう)。また、試験を作成する専用のコーディネーターや、そういったコンテンツ制作を行うソフトウェアエンジニアも中の人に専任でいて、参加しているんだということを知りました。

それから完全に偶然ですが日本のハーフのスタッフもいて、日本人の僕を見つけて嬉しかったらしく声をかけてくれました。その方とは今でも仲良くしています。

全部で15人くらいの参加者がいましたが、10人ほどがボランティアでコンテンツの改定、見直し、作成などを行っていきました。

CKADについては以下のような問題が主に挙がりましたね。

  • CKA(クラスター管理者向け)との差別化が完全にできていない
    • CKAD(アプリケーション開発者向け)でクラスター全体の権限が必要なタスクを実施する必要があるなど
  • 試験内容が作成当時のままで、既存のさまざまなエコシステムに対応しきれていない
    • HelmなどのYAML抽象化、モニタリング周り、CRD(オペレーター)周りなど

そこで範囲の一部を削除しつつ、新しい概念も含めるようになりました。

我々はあくまでコンテンツ作成の定義までを行ったのですが、実際の試験問題を作ったり、クラスターバージョンごとのあれこれなどには関与していません。そちらはコンテンツ管理側の責任範囲なので我々コミッティーとは別の枠組みになっていました。

コンテンツ作成で学んだこと

システムに関わる実技の試験問題を作る場合、当たり前ですが明確な「採点の観点」が必要です。答えが一意に定まり、採点が自動でできる必要があります。

そのため、いわゆる「Testableなコード」を書くのと同じような設計フェーズがありました。何が必要で具体的にどんなパラメーターをとって、何ができていればゴールか(例えば特定の場所に特定のファイルが特定の条件を満たし配置されている、など)といったことが明確にされるまで詰めていきました。

また、難易度設定も非常に難しいです。いくつかの問題は意図的に簡単にされていつつ、いくつかの問題についてはある程度深い理解がないと解けない作りになっています。こうした難易度設定の観点から、クセのある問題が出てくるんだろうなぁ、と学びになりました。試験を受けるだけの状態だと、癖の強い問題に遭遇すると「何だこの問題」って言いそうになりますよね。

日本語翻訳の改定をする機会をもらった

CKAD改訂のワークショップを通じて新しい学びがあったことはもちろんですが、LFの中に知り合いが増えました。日本語が分かるスタッフもいたというのは上述のとおりですが、それがきっかけでCKA/CKAD/CKSの3つの試験の日本語翻訳についてレビューと校正をする機会をもらいました。

外資ベンダー系資格試験の日本語には癖があるというのはよく聞く話ですが、以前CKA/CKADを受けた時に似たようなことを感じました。僕自身は結局英語で受けた気がします。

そのため、レビューではできるだけエンジニアが読んでも違和感がないように論理の構造や言葉の選び方に気をつけました。中には元の英語がそもそもクセが強かったりして翻訳に限界がある箇所もあります。そのためある程度謎な表現をする場所があるのはご容赦ください・・・。ただ、これまで明らかに誤訳だったと思われる箇所や、文脈や論理が飛躍しているような箇所については極力潰して分かりやすく書き直したつもりです。

もしこれからみなさんがCKA/CKAD/CKSを受けるよ、となった場合、少なくとも2021年から数年間は僕の見た内容で提供されるはずです。気が向いたらフィードバックお待ちしてます。

改訂参加のデメリット(?)

なお、今回試験改訂や翻訳に関わったので、僕は公には資格試験が受けられなくなりました。「Kubernetesのこと話してるけど資格持ってるの?」と聞かれた場合は資格の中身を作っていますで押し通していこうと思います()

最後に

こういうバッジをもらいました。資格とは違って永久不滅みたいなのでわいわいって感じです。

www.credly.com

というわけで、今日はこのへんで。