UiPath RPA デベロッパー上級資格試験を受けてみたから振り返ってみる。

[Advent Calendar 2021 RPA (Robotic Process Automation)](https://qiita.com/advent-calendar/2021/rpa)7日目です。
# これ…何？
RPAの資格試験を受けた体験記のようなものです。
受験まで私がどのように勉強したのか、そんなことをつらつらと書いていこうと思います。
参考にはならない気がしますが、少しのあいだ茶番にお付き合いいただければ幸いです。
茶番がお嫌いな方、[こちら](#これから受ける方へのアドバイス)へどうぞ。
# お前誰？
エンジニア寄りのへっぽこサラリーマンです。
新卒で某SIerに就職して光の速度で辞めたあと、フリーター、派遣、フリーターフリーター、派遣派遣と職を点々としましてはや20年。今は縁あって拾って頂いた会社で社内SEみたいなことをやっています。
UiPathは派遣をやっているときに数年間、とある会社のRPA推進チームにいたときに触りました。

# UiPathってなによ？
このカレンダーを見ている人には今更ですが、UiPath社さんが開発しているRPAソフトウェアです。

https://www.uipath.com/ja/

使ってみて感じた特徴としては…

* 命令を配置して実行してほしい順に**線を繋いでいく**という、まるでオートシェイプを使っているかのような直感的な描き方でRPAのシナリオが描ける。
* 海外製品ではあるが、メニュー等が日本語にローカライズされている。
* あたかも.NET系のサブセット言語であるかのように.NETの各種クラスが使えるので、データ処理でできることの幅が広い。
* 開発環境のUiStudioをGitなどのバージョン管理との連携することができるので、チームでの開発にも向いている。

上記のよう特徴があるため、まさに**初心者もろとも墓場まで**…………あれ？なんか違いますね。

すみません。

クリスマス前の浮かれ気分で「もろびとこぞりて」が脳内リピートしていたせいか、始点と終点を誤りました。

**他意はありません。**

ともあれ、上記のよう特徴があるため、**初心者からプロの開発者の方まで**幅広いユーザー層の要求をある程度満たせる高機能なRPAだと思っています。
なお、会社を指すときはUiPath社さん、RPA製品を指すときはUiPathと書きますね。ややこしいので。
# UiPath RPA デベロッパー上級資格って何？
これ（↓）の一つです。

https://www.uipath.com/ja/learning/certification

すでに@miya_gisさんの素晴らしい記事があるので、詳しくはそちらを参照いただくとして、

https://qiita.com/miya_gis/items/bdb9872e47acf2e4c2b3

https://qiita.com/miya_gis/items/1f8b7e54de2a04a81da9

https://qiita.com/miya_gis/items/7471557daad5d1186a2a

要するに、UiPath社さんが認定する、民間資格です。
(Microsoft社さんの[MOS](http://mos.odyssey-com.co.jp/)とか[MCP](https://docs.microsoft.com/ja-jp/learn/certifications/)みたいなやつですね)。
「アソシエイト」と「デベロッパー上級」に分かれていて、「デベロッパー上級」は上位の資格となります。
(っていうか@miya_gisさんの記事を紹介するだけで終わりにしてよかったんじゃね？）

# で？なんで受けたよ。
さきほどの記事を読んで、リンクされていた[模擬試験](https://uipath.onlinetests.app/assess.aspx?aid=UIPATH-ARDV1-PTJPN&apass=ARDpassword)をおためしでやってみた結果、正答率68%でした。
本番試験は70%の正答で合格となります。
で、こう考えました。

![3E99E0B0-C376-42CA-BBE6-43EF52AC663D.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1656796/81630676-57cb-bf56-7b74-561f93b17096.png)

勉強せずに68%取れたってことは、2%頑張ればいけるんじゃね？
じゃ、そのうち受けてみるか。
…
……
………
いや待てよ。
最近、俺、物忘れ激しいよな…特に固有名詞が出てこなくて人と話すときに「あれ」とか「これ」とか「それ」とかが多くなってきてるし……。
来年受けようとしたら合格するのに2%の努力じゃ足りないかもしれない。
受けるなら早いうちがするべきかもしれないな…。
今受けるか。。。

というわけで、

:::note info
最近、<strong>物忘れが酷くなってきたので</strong>受験することにました。
:::

# 決意がブレないうちに試験予約
駄々滑りしてる空気を感じますが、自分の劣化は待ったなし、気にしてはいられません。
ピアソンVUEというところで受験することができるようです。

https://www.pearsonvue.co.jp/uipath

ちょっと前に、無料で受けられるMCPのAZ900を受験したことがありますので、なんとなく勝手はわかっています。

受験料22000円＋消費税という金額にちょっと怯みますが、自分の劣化は待ったなし(2回目)、来年はもっと自分が合格できる確率は下がるでしょう。
なんとなく防人の詩が脳内に流れはじめるなか、思い切って申し込みボタンをクリックします。

申し込むと、[Certification Manager](https://www.certmetrics.com/uipath)という資格の管理画面のログインIDが発行されます。
受験後に合格したことを証明するバッチはこの画面から管理することになりますので、すぐに一度ログインしておくことをおすすめします。
そうじゃないと受験した後にメールを探してジタバタするハメになります。
私みたいに。

# まずは…UiPathが動くパソコンを入手しよう
さっそく試験勉強しようと思ったのですが……なんと、家で使っているメインマシンのiPad(第6世代)にはUiPathはインストール出来ないことに気が付きました(いや、第6世代が第9世代だろうがProだろうがインストールできませんが)
他にはお絵描きと艦これ用のChromebookしかありませんが当然これにもインストールはできません。
会社のパソコンに入れるわけにも行かないので、Windowsが動くパソコンを購入することにしました。

さて、UiPathを新規インストールするのに必要な動作環境は以下のようになってます。

|| 最小 | 推奨 |
|:-:|:-:|:-:|
|CPUコア|2 x 1.8GHz 32-bit (x86)|4 x 2.4GHz 64-bit (x64)|
|メモリ|4 GB|8 GB|
|ディスク容量|3.5 GBの空き容量|同左|

https://docs.uipath.com/installation-and-upgrade/lang-ja/docs/studio-hardware-and-software-requirements

実際に開発して動かそうというのであれば、推奨スペックでも力不足かもしれませんが、動かすだけであれば、あまり大したスペックは要求されていないんですね。
今回は、実際にロボットを動作させるというよりは、UiStudioの各機能の確認であったり、コードの中身を確認するだけの用途ですので、最低スペックでもなんとかなるでしょう。最近、衝動的に2万4千円も使ってしまってあまりお金もかけられませんし。
あと、出題範囲のREFrameworkの設定ファイルがExcelなので、MSOfficeがあると便利ですね。
なければOnlineの方のオフィスでも確認は出来るとは思いますが。

というわけで仕事帰りに中古パソコン屋さんに寄って、色々と物色してジャンク扱いのSurfece Pro 2を安く手に入れることができました。(i5の1.6Ghz、メモリ4GB、SSD128GB、Windows10がインストール済み)
ちょっと古くて、クロック数も若干足りなくて、ベゼル部分にちょっと欠けがあったりスタンドが壊れてて自立しなかったりするんだけど、まぁなんとかなるでしょう。私も自立してませんし、仕事でUiPath触ってたときも貸与されたパソコンはこんなスペックでしたし。(後日、マウスとキーボードとUSBハブを買い足す羽目になりましたが、実際なんとかなりました)。
# 場所の確認
せっかく街に出たので、ついでに試験会場も確認しておきます。
**もう大人なので迷うことはない**でしょうが、当日に迷ったら試験と関係ないことで疲れ果ててしまいます。
一回行って場所がわかれば試験当日も安心ですよね。

で、下見のつもりがしっかり**迷いました**。

言い訳すると、ビルに看板もなく、A4のプリンタ用紙に「○○テストセンターは三階です」という自己主張の少ない張り紙しかテストセンターへの行き方のヒントがなかったので目の前を何回も通り過ぎていました。
当日に試験時間に間に合わなくて受験費用がパーとか間抜けにもほどがありますので、これは本当に一回確認しておいてよかったです！
地味に今回一番のファインプレイだったかも…

(写真も撮ったけどテストセンターさんへのネガキャンになるので公開は自粛しました)

# アカデミーをおさらい。
さて、UiPathにはアカデミーという無料の教育コンテンツがあります。

https://academy.uipath.com/

私は一応UiPathを実務で触って来ていますが、現場の開発標準であるとか環境によって、変な癖をつけてきてしまっているかもしれません。
一度、アカデミーをおさらいして、UiPath社さんが推奨しているやり方を振り返ってみることにします。

具体的には[試験記述文書](https://www.uipath.com/hubfs/ard_exam_description.pdf)に記載されている、上級の準備に推奨されている以下のコースをざっくり眺めて、自分が知らなかったことが書いていないか、どこを重点的に頭に入れればいいかを概観します。

1. RPA スタータープログラム
2. RPA デベロッパー基礎プログラム
3. RPA デベロッパー上級プログラム
4. PDF の自動化 コース
5. メール操作の自動化コース
6. UI 操作を伴わない処理の自動化コース
7. ワークフローアナライザー活用コース
8. Activity Project Setting
9. ログの活用コース
10. Orchestration Process
11. Invoke Method and Invoke Code
12. バージョン管理方法コース

ついでに、コースの詳細、目次部分をメモか何かに全部書き出しておきましょう(重要)。

試験記述文書

https://www.uipath.com/hubfs/ard_exam_description.pdf


# そうだ！カンペを作ろう！
どうしてもテストに合格したいとき、やるべきことは一つです。
そう、カンニングペーパーを作りましょう。今はチートシートっていうんですか？

今回はこんな感じに作りました。
先ほどの[試験記述文書](https://www.uipath.com/hubfs/ard_exam_description.pdf)に記載されている**試験項目**を抜き出します。
その内容はアカデミーのどこかに説明されています。なので先程コピーしてまとめた目次をながめて、関係のありそうなコースを探します。
見つけたら、その内容を自分が覚えやすいの自分の言葉で、短くまとめを書いて置きます(カンニングペーパーはコンパクトにまとめてナンボです！)。
例えばこんな感じです。

> UiPath Studio
> ---
> * 一貫性のあるログ メッセージの書き方と、それらを使用してプロセスをデバッグする方法
>   * 参考するアカデミーのコース→[ログの活用](https://academy.uipath.com/learningpath/%E3%83%AD%E3%82%B0%E3%81%AE%E6%B4%BB%E7%94%A8%E3%82%B3%E3%83%BC%E3%82%B9)

> * まとめ
>   * ログにはレベルがある。(例えばFatal→重大な問題、復帰させられない、Error→…(後略)

私は作ったカンニングペーパーをQiitaの限定共有投稿で保存しておきました。
これをスマホから開けば通勤電車の中でも、テレビのCMの間でも、艦これで秋刀魚漁をしてる時でも、お風呂に入ってるときでもこっそり見ることができます。
# 模擬試験をもう一度受けてみよう
カンペを作り終えたら、模擬試験をもう一度受けてみます。
それで気が付いたのですが、アカデミーに書いてなかった内容についての問題が出てきた気がしないでもありません。
読み落としたか、リンク先の参考資料にでも書いてあったのか…これは、グーグル先生にも手伝ってもらって、回答を探して先程のカンペに追記をします。**UiPathのフォーラムとかにも回答のヒント**がありました。
# 試験会場にて
そんなこんなで受験当日です。

さて、ここで大事なことをお伝えします。

:::note alert
試験会場にはカンニングペーパーを持ち込むことができません！！
:::

というか、物理的に持ち込むことは可能なようですが、その場合は無条件で失格になってしまうようなんですね。
せっかくの力作なので残念ですが、カンニングペーパーは鞄にしまって、自力で戦うことにいたしましょう。
係の人からカンニングペーパーの代わりにホワイトボードとマーカーを受け取って試験を受けるパソコンの前に座ります。
問題は全部で60問以上あります。
どういう考え方をしてその回答をしたのか、後で見直すときにもう一度同じことを考えるのも時間の無駄ですので、ホワイトボードに回答の根拠を簡単に記録することにします。
全部解いたら再度、全部問題を見直して、ケアレスミスないかどうかを確認します。
どうしてもわからない場合は、明らかに間違っている選択肢を切り捨てて、少しでも正解の可能性が高い項目にチェックを入れていくようにします。
なにせ22,000円+消費税がかかっているので、いつになく真面目に時間ギリギリまで見直してみました。

# 結果
やったぜ(ドヤァ…)
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1656796/89efb2cc-3eee-f543-efda-2829d7d1060e.png)
# これから受ける方へのアドバイス
(嫌ですね、合格してたのでいきなり偉そうにアドバイスとか言い出しましたよコイツ)

* **試験記述文書の試験項目について**、そんなに量があるわけではないので、**自分なりに説明できるレベルで覚えておく**とよいと思います。この内容はほぼアカデミーで説明されています。
* REFrameworkは結構複雑な構成ですので、**ドキュメントを読んで、フレームワークを構成する設定ファイルやxamlを開いて中身を確認してください**。ドキュメントを読むだけじゃなく、そこで**書かれている通りにxamlを修正してみる**のも理解の助けになると思います。
* 受験場所は普段行きなれている場所か、初めての場合はGoogleストリートで確認するなど、試験前に確認しておいたほうがいいです。**いやマジで。**
* 一般的な試験対策ですが、この試験問題は４択ですので、100％問題を解けていなくても、自分の持っている知識で**明らかに間違っている選択肢を消すことで正解の可能性を高める**ことはできます。最後まであきらめなければ、少しでも合格の確率を上げることができると思います。

# まとめ
数年間の実務経験でUiPathの開発環境の操作が大体頭の中に入っていたため、REFrameworkなどの未体験の部分の知識を詰め込むだけで合格できたのはラッキーでした。
RPAを数年やってきたと言っても、どのレベルでやってきたのよ、とそのスキルを客観的に説明する指標もなかなかないですので、人にスキルを端的に説明する点でこの資格の意味があるんじゃないかなと思います。
確かに受験料は高いですが、教育も無料で受けられ、UiPathを動かすPCのスペックもそこまで要求されてはいません。トータルで見ると、安く取得できる資格なのではないかと思います

こんな私でも取れましたので…みなさんも資格チャレンジ、いかがでしょうか？

最後まで駄文にお付き合いいただきありがとうございました！！