Unity認定プロフェッショナル プログラマー 合格体験記#2 -勉強方法-
はじめに
Unity認定プロフェッショナルのプログラマーに合格したので、試験や勉強方法を共有します。
この記事では、勉強方法や試験中のアドバイスについてまとめます。受験を決めて、これから勉強される人に参考にしてもらえると幸いです。
試験については、前回記事を参照ください。
受けた人(=私)について
スペック
- 自社ソフトウェア製品のエンジニア7年目。サーバサイド寄りでC++とJavaがメイン。保守開発中心で、ソース読んだりテスト考える時間が圧倒的に多い。
- UnityとC#は、趣味のAR/VRアプリ開発で1年くらい使用。ゲームは作ってない。
- 英語はTOEICのリーディング300点代。
受験動機
- 腕試し。VRアカデミーに通ってUnityについて学んだので、その集大成として。
- VRアカデミーで、講師補助の副業をさせてもらうことになり、Unityインストラクターとして求められる知識を身に付けたかっため。
試験結果
- 勉強時間: 約2ヶ月 (2022/2月~3月)
- 2月は平均 0.5H/日
- 3月は平均 1.0H/日 (ラスト1週は2~3H/日くらい)
- 費用: 750ドル(≒9.4万)
- コースウェア+模擬テスト+試験バウチャーx2回分のバンドル版。割引効いてるけど高い。(´・ω・`)
- 結果: 550点/700点
- 500点以上で合格なので、ギリギリ💦
使った教材
前回記事にも一部書いてます。ここでは、自分が使った教材と、どう使ったかの観点で補足します。
良く使ったもの
- Unity公式 模擬テスト(有料)
- 一番使った。問題を解いて自身の理解度を把握したり、解説&参考サイトを読み込んで知識をつけた。
- 内容や難易度が本試験と似てるので、知識習得&試験慣れできる。Unityゲーム開発の実務経験に関係なくやった方が良いと思う。
- 問題、解説文すべて英語。ゲームの様々なシーンが題材になるので、幅広い分野の単語が出て、読解に時間がかかる。文もコピペできないので、手打ちでGoogle翻訳にかけて理解するしかない。
※後から気づいたが、ChromeのWebページ翻訳を使うと日本語にできたのかもしれない...
- Unity公式 コースウェア(有料)
- 章別にある小テスト(約100問)のみ実施。動画演習はボリュームが多すぎて断念。
- 模擬テストと同様の使い方だが、若干難易度が低く感じた。だが、小テストは分野別にまとまってるので、弱点分野の把握はしやすかった。
- 動画や問題文はすべて英語。動画は日本語字幕あるし、問題も文量が少ないので、模擬テストよりはましかも。
- Unity公式マニュアル&リファレンス(無料)
- 模擬テストやコースウェアから参照された記事を中心に読み込んだ。ただしスクリプト関連は読んでもわからない時があり、他のブログやGitHubでサンプルを漁って勉強した。
- 本当はもっと読み込むべきだったが、英語に苦戦し時間がとれなかった。。。
時々使ったもの
-
Unity Learn Materialのティーチャートレーニング (無料)
- とっかかりとして一番最初に1度だけ利用。良く出る分野についてハンズオン形式で学べた。
- これ以外の動画教材もすごく役に立つ。最適化の動画とか。
- 書籍「ステップアップUnity─プロが教える現場の教科書」(有料)
- 試験では最適化の問題が良く出るが、この本のUnityアプリの負荷削減の章がわかりやすく、参考になった。
- 他の記事も面白く勉強になるので、試験関係なくおススメ。
受験の流れ
前回記事の詳細版。()内は自分が実施した時期です。
-
雰囲気を掴む (試験2か月前)
Unity Learn Materialのティーチャートレーニングや、Unityの試験詳細のサンプル問題を解いて雰囲気を掴んだ。 -
有料教材&試験バウチャーを購入 (試験2か月前)
Unityストアでコースウェア+模擬テスト+試験バウチャー2回分のバンドル版を購入。登録メール宛に教材用の登録キーx2と試験バウチャーx1が通知される。 -
有料教材のアクティベート (試験2か月前)
登録キーで各教材をアクティベートして、教材を使えるようにする。コースウェアと模擬テストで別のサービスを使うので面倒くさい。 -
勉強する (試験2ヶ月前~前日)
どう勉強したかは次節にまとめて記載。基本は模擬テストとコースウェアの小テストを解き、間違えた部分や弱点分野について、問題解説や公式マニュアルで調べながら学ぶ感じ。 -
試験を予約する (試験2週間前)
心の準備ができたら、PeasonVueで試験バウチャーを使い、試験を予約する。予約時は試験の日時と場所を指定する。場所は各地の試験センターや自宅を指定可能。筆者は最寄りの試験センターにした。 -
受験&結果確認 (試験当日)
本人確認(顔写真付き)を持って試験センターへ。写真撮影や本人確認があるので、15分前くらいに到着する必要がある。
試験は選択式で、PC上でポチポチ正解を選んで進める。設問毎にチェック欄があり、チェックした問題は全問回答後に再度見直すことができる。試験中の心構えは次節に記載。
完了の操作をすると、速攻PC上に結果が表示される。退出後、結果を紙でもらって終了。 -
Unity Certified Platformへ登録 (試験後)
合格後2日後くらいに、メールでUnity Certified Platformサイトへの招待URLが来るので登録。本サイトでUnity資格の確認や証明書のダウンロードができる。
アドバイス
勉強方法について
自分のやったこと、やればよかったことを踏まえたアドバイスです。試験問題については規約のため、余り踏み込めません。
- 教材テスト(=模擬テストとコースウェアの小テスト)は、問題と解説もしっかりと理解するまでやる。 選択肢も、なぜ正解なのか、間違いなのかまで理解する。試験では教材テストがそのまま出ることはないが、テスト内容をちゃんと理解していれば正解を選べる or 選択肢を絞り込める。
-
Unity知識とプログラム読解力はかなり重要。 Unityのプログラムをコードレビューしてバグを見つけるような感じの問題が多いので。
- Unity知識は、公式ドキュメントを全部読んで習得すれば完璧だが、時間がかかる。そのため、教材テストで出たAPIや手法を基点に調べていくのが良い。また公式ドキュメントの内容が難しすぎたら、一度技術ブログ等の他の解説を読んでから再挑戦する。
- プログラム読解力をつけるためには、他人の書いたコードを読んで理解する訓練がかなり有効だと思う。教材テストで出る文量のプログラムを、書籍や技術ブログ、GitHub等で探して読んでみると良いかも。
-
教材の英語は地道に理解していく。 読んで理解できたらベストだが、わからん文章は翻訳かける。個人的に以下が大事だと思う。
- 何度も読んで理解する。一回で完璧に理解しようとしない。
- 疲れてないときにやる。体調の良し悪しで理解するスピードがかなり変わるので。
- ソフトウェア開発の一般的な考え方や、線形代数の知識も若干問われる。余裕があれば模擬テストの問題を基点に調べておくと良い。
試験中
アドバイスというか、自分が感じたこと、意識したことについてです。
- 「アソシエイト試験みたいに、教材テストと同じ問題がいくつかでるやろ」、と高を括って受けたが、全然出なくて焦った。類似問題は出た。教材で得た知識で選択肢を絞り込み、消去法で解答できた問題もあった。
- 問題文は日本語で、140分60問だったので、時間的にも余裕だと思っていたが、結局30秒しか残らなかった。様々なゲームを題材にした問題が出るので、ゲーム開発経験が浅い自分は内容把握に時間がかかってしまった。教材テストで類似問題をやってなかったら、全問回答できなかったと思う。
- Unityの公式ドキュメントの読み込み量が圧倒的に足りず、API仕様を知らないと解けない問題はかなり苦戦。パラメータ名等で推測はするが、余り時間をかけず解答。プログラム読解系の問題に注力した。
- プログラム読解やソフト開発に関する問題は、実務経験を活かして解くことができた。特にプログラム読解系の問題は、落ち着いて読むことを意識すると解ける問題が多かった。
受けてみて
良かったこと
- 自信がついた。 思ったより本番試験が難しかったにも関わらず、ちゃんと合格点を取れたので。必ず1回以上は落ちると思っていたが、1発合格できたのもうれしい。
- 知見が広がった。 「UnityってこんなAPIあるの?サービスあるの?」の連続で、新しく知ったことが多く、新鮮だった。
-
英語のリーディング力がついた。
教材を通して一番鍛えられたかもしれない...
反省点
- Unity知識がまだ不足しており、ギリギリ合格だったので、全くプロフェッショナルを名乗れる気がしない... まだやってないコースウェアの動画教材で鍛えなおす予定。
- AR/VRエンジニアが取得を目指す場合、使わない機能も勉強する必要あり。知見は広がる半面、過学習な気もする。優先分野を見定めて勉強しても良かったかもしれない。
最後に
実務を想定した問題が多く、難易度は高いと感じます。教材やる前に英語も必要です。ソフト開発経験が無かったり英語に自信がない場合は、勉強期間を長めに取ると良いかもです。
思ったよりたくさん書いてしまいましたが、参考になれば幸いです。(*^^)
Discussion