kintone カスタマイズスペシャリスト　受験レポート

2018 年より始まった [kintone 認定試験](https://cybozu.co.jp/kintone-certification/) は 2019/03 現在以下の 3 種類があります。

- [Associate(アソシエイト）](https://cybozu.co.jp/kintone-certification/level/associate/)
- [App Design Specialist(アプリデザインスペシャリスト)](https://cybozu.co.jp/kintone-certification/level/appdesign-specialist/)
- [Customization Specialist(カスタマイズスペシャリスト)](https://cybozu.co.jp/kintone-certification/level/customization-specialist/)

今後は App Design Expert、Customization Expert と言う[さらに上位の試験](https://cybozu.co.jp/kintone-certification/level/)も公開されるようです。

筆者（私）は Associate は首尾良く合格できましたが、さらなるスキル向上を企図して Customization Specialist に合格しようとして 2 回連続不合格、3 度目の受験でようやく合格できました。

と言うわけで、自分自身の後学のためにも試験のあらましや実際の受験時の経験と言った事を記そうと思います。
今後受験される方、合格を目指している方のお役に立てば幸いです。

**(2019/04/03 追記)**
[kintone 認定資格 カスタマイズスペシャリスト学習ガイド](https://developer.cybozu.io/hc/ja/articles/360022670672-kintone-%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88%E5%AD%A6%E7%BF%92%E3%82%AC%E3%82%A4%E3%83%89) について追記。

## 出題内容

分野で言うと

- kintone REST API
- kintone Javascript API
- その他
- ケーススタディ

となっています。
より詳細な内容は[こちら](https://cybozu.co.jp/kintone-certification/level/customization-specialist/)。

試験問題は全部で 40 問ですが、最後の 10 問がケーススタディになります。
こう言う事をやりたくてこう言うアプリを作りこう言う感じで運用している、と言った前提条件（シナリオ）が示され、その前提を踏まえてこう言うカスタマイズをしたいがどれが適切か、これをするためのアプリ設定として適切なのはどれか、と言った問題が 5 問。
これが 2 セットで都合 10 問です。

出題バランスとしては、上述の 4 分野がそれぞれ 10 問ずつ出ると言う感じではないと思います。
ケーススタディの 10 問は確定ですが、それ以外は恐らく REST API と Javascript API でそれぞれ 12〜13 問程度、残りがその他、と言う配分ではないかと。
（それぞれの得点率を単純に足して平均を取っても総合スコアと値が違うので。もちろん問題によって配点に違いがあるのかも知れません。）
従って、まあ試験のコンセプト的にも当然かも知れませんが、API 関連は特に重視して勉強しなければいけません。

また、多くの問題が「〜〜について正しいもの（or 誤っているもの）を**全て**選べ」と言うパターンです（ラジオボタンでなくチェックボックス）。
チェックボックスが 1 つだけだとものすごく不安になりますが、ここは勇気が試されるところではないかと。

## 試験対策

### ドキュメントに当たる

試験対策の一次ソースとしては [cybozu developer network](https://developer.cybozu.io/hc/ja) が基本中の基本になりますが、ここの kintone API ドキュメントだけをガッツリ読み込んだから準備万端とは行きません。
感覚値としては Tips で言及されている内容に関する問題もそこそこ出題されます。
また [kintone ヘルプ](https://jp.cybozu.help/k/ja/index.html) の内容もきちんと押さえておかなければいけません。
関連レコード一覧とかルックアップ、自動計算など、ぶっちゃけプログラムでなんとかしますわみたいな部分もちゃんと理解できていないと失点ポイントになり得ます。
レコード一覧画面でのインライン編集みたいに普段やらない事も少しは押さえておいた方が良い部分になります。

試験を受けてけっこう面食らったのは、 Moment.js を利用したカスタマイズについて出題された事。
確かに Tips でいくつか記事があるけれどもそれって kintone の本質と直接関係なくない？と・・・;
また [Cybozu CDN](https://developer.cybozu.io/hc/ja/articles/202960194-Cybozu-CDN) で挙げられているライブラリについての概要を問う設問もありました。
このあたりは受験対策としてノーマークだったのでベースの知識でなんとか乗り切りましたが、CDN に挙がっているものはざっくりとでも目を通して、名前と役割程度は一通り覚えておいた方が良いかも知れません。

あと地味なところでは[kintone コマンドラインツール(cli-kintone)](https://developer.cybozu.io/hc/ja/articles/202957070-kintone-%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9) についての出題も。
cli-kintone の使い方云々と言う問題には今のところ当たった事はないですが、レコードの一括登録・一括更新についてレコード一覧からの CSV 読み込み、 REST API 、cli-kintone でそれぞれできる事できない事の違いを問う設問に当たった事があります。

執筆時点では、カスタマイズスペシャリストに関する参考書のようなものは出版されていないようです。（アソシエイトはある）
過去問を当たったり模擬試験に取り組んだりもできないため、かなり手探り感満点の学習を強いられます。

### 手を動かす

必須です。これをやらないと合格できないと言って良いぐらい必須です。
ドキュメントを読むだけで全部覚えると言うのはちょっと無理筋です。
[kintone 開発環境を用意](https://developer.cybozu.io/hc/ja/articles/200929540#step3)して（試験に挑もうと言う人はみんな持っているでしょうが）、学習・実験用のアプリを作って[JSEdit for kintone](https://developer.cybozu.io/hc/ja/articles/205452653-JSEdit-for-kintone) プラグインを差し込んでおけばすぐにカスタマイズ内容を確かめられるのでオススメです。

REST API のテストは [Postman](https://www.getpostman.com/) などを使うといろいろ捗る。

### 頻出ポイントを押さえる

何度か受験し、ここは良く出るな、と言うポイントが見えて来ました。

CSV による、あるいは cli-kintone、REST API、 Javscript API の `bulkRequest` など、**レコードの一括登録・一括更新**については頻出です。
3 回の受験で 3 回とも出題されました。

また、**テーブルの取り扱い**も重要度が極めて高い。
テーブル絡みの問題は毎回必ず 2,3 問出ていました。
テーブルは JSON の構造が複雑ですが、正確に覚えていないと答えられない問題も出ました。
出題パターンもいろいろですが理解できていれば確実に加点が見込めるところですので、重点的に学習するのが良いでしょう。

これまた出題パターンはまちまちですが、**ルックアップ**や**関連レコード**なども頻出です。
関連レコードとクエリの組合せと言う出題もありました。

あとは**イベントハンドラ**と **REST API のエンドポイント URI** を正確に覚える事。
モバイルだと名称が変わったりするので衝かれやすいポイントです。

**絞り込みとクエリ**に関しても毎回 1 問は出ると見て良いかと思います。
標準のレコード絞り込みと、REST API で指定するクエリでできる事の違いは覚えておかなければなりません。
また、余裕があるなら `THIS_MONTH()` など[クエリで使える関数](https://developer.cybozu.io/hc/ja/articles/202331474-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%96%E5%BE%97-GET-#step2)は出来れば全種類押さえていた方が良いです。
そんなにたくさんあるわけではありませんし。

**ゲストスペース**絡みも頻出です。
ゲストスペース内アプリで `bulkRequest` で他のアプリのレコード操作・・・と言うなかなか複雑なシナリオの出題がありました。

**添付ファイル**関連も良く出ます。
`kintone.api()` メソッドではファイルのアップロード・ダウンロードが扱えないと言う点、`fileKey`と言う特殊な考え方が入る点、レコードに添付する一連の手順など、出題になるポイントが多いですが一通り押さえておいた方が良い箇所です。

地味なポイントですが、アプリのカスタマイズの領分からはみ出すところも。
cybozu.com 共通管理や kintone システム管理、スペース絡み、監査ログと言ったものが何かしら 1,2 問くらい出ます。

## 受験申込から実際の受験まで

このあたりは LPIC 等と同じ感じです。
[ピアソン VUE](https://www.pearsonvue.co.jp/Clients/kintone.aspx)で、日程・会場を選んで試験を申し込み。
試験当日は身分証が 2 つ必要です。
またいきなりカスタマイズスペシャリストから受験する事はできず、まずアソシエイト試験に合格しておく必要があります。
受験費用は￥ 20,000（税別）と決してお安くはありません。下手な鉄砲感覚ではいろいろ厳しい。
また再受験ポリシーがあり、1 回不合格になったら 1 週間以内には再受験できません。

受験日当日は 15 分前には現地入りしなくてはいけません。
あらゆる電子機器を取り外し、電源も Off にする必要があります。
受験前に電子署名と写真撮影があります。

ものすごく関係ない話ですが、筆者が受験した試験センターでは解答用の PC が Windows 7 でした。

試験は 60 分、40 問。
じっくり考えなければ解らなそうな問題はフラグを立てておいて後回しにし、まずは **40 問全て目を通してしまう**事を優先しなければいけない程度の時間配分が必要です。

試験終了後結果はすぐに分かりますが、結果として提示されるのは合格か不合格か、総スコアはいくつか、どの分野でどのぐらいのスコアだったのか（いずれも％で表記）しか分かりません。
どの問題で正答してどの問題を外したのかを知る術がないし、そもそも出題された問題を持ち帰る方法がありません。
また各問題の配点や合格ラインも非公開なので、あと何％取れれば、あるいはあと何問正解すれば合格だったのかも分かりません。
筆者のまわりでは **70%で合格**の実例があり、**筆者自身も 70%で合格**でしたが、出題内容のセットによって合格ラインが変わる可能性がないとは言えないので絶対ではありません。

## 不合格後の復習と再受験

それなりに実務があっても **1 回で合格するのはかなり難しい**のではないかと思います。
1 回不合格になって雰囲気を掴んで、次の試験に繋げようと言うぐらいの姿勢がちょうど良いかと思う。
最初の 1 回の受験費用はお布施と考えましょう。
で、不合格になったなりに**何が理解できていなかったのかをきちんと復習する**。
そして再受験禁止期間が明けたら（＝ 1 週間後）**速攻でまた受けに行く**。
筆者が合格できたのはそのパターンでした。
**記憶が鮮やかなうちに再挑戦**した方が良い結果が出るのではないかと思います。

と言う事で、筆者が受験した際の出題内容に基づいた[復習ノート](https://qiita.com/iShinkai/items/5ebf58e8a96548ca12c1)を作りました。

## 雑感

総じて、そこそこに**着実な実務経験**がないと合格は難しい。
机上の学習だけでは実が伴わないところもあるので、実際に仕事で手を動かした経験がものを言うでしょう。
例えば、実務経験を重ねている人にとってはラスト 10 問のケーススタディは重要な得点ポイントになるかと思います。
実際確かにこう言うの実務であるよなあと言うようなシチュエーションだったりしますので、割と肌感覚で正解に辿り着きやすい。

ならば kintone 開発歴が長ければそれで充分かと言うとそうではなく、普段あまり実務では使わないような API とかについても大いに出題されますので、非常に広範な知識が求められる。**結局相応の勉強は必要**です。

それとやはり**学習のためのソースが限られる**のが地味に辛い。
せめて過去問対策や模擬試験はやっておきたいと思いますが、そうする術がないのが厳しい。
[試験のサイト](https://cybozu.co.jp/kintone-certification/level/customization-specialist/)ではサンプル問題が 5 問（だけ）公開されていますが、実際に出題されるのはこのサンプルよりももう少しレベルが高い内容です。
このあたりは書籍なりなんなりで環境が揃う事を願いたいですが、座学だけで合格されちゃ困ると言うベンダーサイドの考えもあったりするのかしら。

とは言え、そこそこに実務経験のある身としては、極端な話、**割と得意な問題が集中して出題されれば合格できそう**、と言う感覚はあります。
（毎回どの分野も得点にかなりのばらつきがあるので）
ただそれは言うなれば**￥ 20,000 払ってガチャを回して神引きを祈る**みたいな話なので健全ではありません。
なので 1 回受験して不合格でも、その時の出題内容をきちんと復習してもう 1 回受け直す、と言うのが真っ当なのでしょう。（体系的な試験対策が難しいので）
さながらガチャにお金を突っ込んで引いた ★3（出題パターン）を積み重ねて ★5（合格）を狙うみたいな感じですが、**そのガチャには天井がない**と言うのがつらいところだ。

**(2019/04/03 追記)**
cybozu developers network で、[kintone 認定資格 カスタマイズスペシャリスト学習ガイド](https://developer.cybozu.io/hc/ja/articles/360022670672-kintone-%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88%E5%AD%A6%E7%BF%92%E3%82%AC%E3%82%A4%E3%83%89) が公開されました。
出題範囲に沿った内容を基礎編・実践編に分類したリンク集のような作りで体系立ててあり、受験のための教材として非常に良くまとめられています。
もう少し早く公開して欲しかった・・・；

ただまあ結局ここで挙げられている事を一通り押さえたからなんとかなるかと言うと、やっぱりそうではないかと思います。
依然として手を動かす事、実地的な経験、及び実際の受験経験は必要ではないかと考えます。

## 参考

[kintone 認定資格 カスタマイズスペシャリスト学習ガイド](https://developer.cybozu.io/hc/ja/articles/360022670672-kintone-%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88%E5%AD%A6%E7%BF%92%E3%82%AC%E3%82%A4%E3%83%89)
[kintone API](https://developer.cybozu.io/hc/ja/articles/201941754)
[User API](https://developer.cybozu.io/hc/ja/articles/202111374)
[kintone ヘルプ](https://jp.cybozu.help/k/ja/)
[kintone コマンドラインツール](https://developer.cybozu.io/hc/ja/articles/202708214-kintone-%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%84%E3%83%BC%E3%83%AB)
[kintone CERTIFIED Customization Specialist](https://cybozu.co.jp/kintone-certification/level/customization-specialist/)
[REST サービスを触る際の必須ツール Postman を使ってみました](https://www.xlsoft.com/jp/blog/blog/2017/06/23/post-1638/)
[kintone カスタマイズスペシャリスト 復習ノート](https://qiita.com/iShinkai/items/5ebf58e8a96548ca12c1)