目次
RPAエンジニアの役割・仕事内容
RPAエンジニアに必要なスキル
RPAエンジニアに役立つ資格
RPAエンジニアの需要・将来性
RPAエンジニアのキャリアパス
フリーランスのRPAエンジニアとして働くには
フリーランスの収入見込みをチェック
RPAエンジニアの役割・仕事内容
RPAエンジニアに明確な定義はありませんが、顧客の要望に合わせて適切なRPAシステムを導入・開発・保守運用できるエンジニアだと考えて差し支えありません。またRPAにたけているシステムエンジニアとも言えます。まずはRPAの基本的な内容と、RPAエンジニアに期待される仕事内容を解説します。
そもそもRPAとは
RPAは「Robotic Process Automation」の略で、日本語では仮想知的労働者、あるいはデジタルレイバーと呼ばれます。人が行っている定型的な業務(ルーティン業務)をソフトウェアで代替する技術で、業務を代替するRPAシステムのことをRPAロボットとも呼びます。実際にはRPAシステムにシナリオを与えて、PCで行う作業をマクロのように、人間が行う定型的な業務を再現、代替させます。RPAシステムはPC上の動きをほぼすべて再現することが可能です。
RPAロボットが代替する業務には「勤怠管理」「交通費確認」「得意先登録」などルーティン的な事務処理が多いです。これらの業務はシナリオに落とし込みやすく、かつAIなどを使わずにRPAシステムの開発だけで完結します。
RPAシステムを実現するソフトウェア(RPAツール)にはさまざまなものがありますが、基本的には顧客の業務フローをシナリオに落とし込み、RPAロボットが定型的な業務を行えるようにすることが、RPAエンジニアの仕事内容となります。
ではRPAエンジニアの仕事について、具体的に解説します。
RPAシステムの導入
RPAシステムを導入するためには、顧客の業務フローをRPAエンジニアがしっかりと理解しなければいけません。理解するためには顧客へのヒアリングや必要な帳票、現在使っている業務システムやツールなどを集めて分析することが必要となります。
そしてRPAロボットが人間の代わりに行う業務の範囲(要件)を定義して、開発作業に入ります。
RPAシステムの開発
要件が決まれば、RPAロボットの開発作業に入ります。主な作業はシステム要件に含まれる業務フローを、RPAロボットが再現するためのシナリオ作成です。
シナリオはRPAソフトウェアの機能を使って、ノンプログラミング・GUIで構築できます。またシナリオを作成するためのライブラリも用意されています。ただしGUIやライブラリで対応しきれない部分については、コーディングをしなければいけません。
またシナリオが顧客の業務にしっかり沿っていなければ、RPA導入による業務改善の効率は低下します。シナリオの質が、RPAシステムの質を決めると言っても過言ではありません。
経理作業、人事、コールセンターなど、定型的な業務が発生する部署にはRPAが活用できるため、RPAシステムを活用したい分野は顧客によってさまざまです。そのため、RPAエンジニアは顧客の業務について多くの知見があると、シナリオ作成の精度を上げることができます。
RPAシステムは人間の仕事を代替するため、その範囲があいまいだと、使い方がわからなかったり、RPA導入前のほうが楽だったと思われたりすることも少なくありません。RPAシステムを導入する業務範囲(要件)の定義やシナリオの質はとても重要です。
RPAシステムの運用・保守
RPAを導入して顧客が利用を開始したあとは、不具合が出た場合の対応やソフトウェアのバージョンアップなどの作業が運用・保守作業として発生します。
既に述べた通り、顧客が使いにくいと感じるRPAシステムは顧客の業務を阻害してしまいます。そのため、運用・保守における対応もRPAエンジニアにとって重要な仕事です。
RPAエンジニアに必要なスキル
RPAシステムの導入は、顧客の業務をRPAというツールでシステム化することと捉えれば、RPAエンジニアの仕事はおおむね一般のシステム開発と変わりません。よってRPAエンジニアに必要とされるスキルは、一般のシステム開発スキルに加えて、RPAロボット用のシナリオ作成やRPAソフトウェアを使いこなすスキルということになります。以下、RPAエンジニアに必要なスキルを具体的に解説します。
顧客業務の知識
RPAシステムを導入する顧客業務の知識は、システム開発に役立ちます。一般のシステム開発案件でも、要件定義や基本設計を行う際は担当する顧客業務の知識を持っているとスムーズに進みます。これと同じです。
経理作業にRPAシステムを導入するのであれば、経理部の業務内容を一定以上知っておく、簿記の知識も身に付けておくと役立ちます。一般事務作業であれば、勤怠管理や交通費精算などがどのような業務フローで行われるのか知っておくとよいでしょう。
システム開発のスキル
RPAシステム開発において、定められた要件から仕様書を作成し、RPAロボットのシナリオに落とし込む作業は、システム開発における設計〜製造、テストの業務とあまり変わりません。
よってシステム開発案件をこなせるだけのスキルがあれば、RPAソフトウェアのスキルを身に付けることでRPAエンジニアに必要なスキルはほぼそろいます。
RPAソフトウェアのスキル
RPAを実現するソフトウェア(WinActor、UiPathなど)の知識はRPAエンジニアには必須です。RPAエンジニア案件によっては、ソフトウェアの使い方は業務の中で覚えられるものもあります。しかしソフトウェアのスキルがあるほうが、案件獲得に結びつきやすいことは明白です。
ExcelマクロやExcelVBAなどのスキル
ExcelマクロはExcelの処理を自動化する技術です。またExcelVBAはOfficeアプリケーションやOutlook、IEなどの処理を自動化できます。RPAはこれらを拡張して、パソコンで動作するアプリケーション全般にわたって処理を自動化する技術です。
そしてRPAロボットが人間の仕事を代替する仕組みのイメージは、定型業務をマクロ化したものと考えて差し支えありません。そのためVBAやExcelマクロのスキルはRPAのシナリオ作成業務や業務フローの理解に役立ちます。
案件によっては、VBA・Excelマクロのスキルを採用条件に当てていることもあるため、これらのスキルを身に付けておくと、RPAエンジニアとして働きやすくなります。
関連記事 : VBAを扱うエンジニアの仕事内容
RPAエンジニアに役立つ資格
RPAエンジニアの資格には「RPA技術者検定試験」があります。RPAエンジニアの試験はまだ少なく、RPAの技術を問うものは「RPA技術者検定試験」のみです(2019年12月時点)。この試験ではRPAソフトウェア「WinActor」のスキルが問われますが、RPAの考え方や使い方のスキルを証明するために、取得して損はない資格だと言えます。
RPA技術者検定試験
RPA技術者検定試験は、NTTの研究所が2010年に開発したRPAソフトウェア「WinActor」に関するスキルを証明する試験です。
試験のレベルは「入門講座」「アソシエイト」「エキスパート」「プロフェッショナル」の4段階に分かれています。入門講座はWinActorの概要などが問われる試験のため、RPAエンジニアとしてのスキルをアピールするのであれば、最低でもアソシエイトレベルの試験に合格すべきです。
アソシエイトレベルは、WinActorの基礎知識、シナリオ作成などのスキルが問われます。エキスパートレベルではWinActorを利用したシステム設計・製造・テストができるレベルのスキルが問われます。
プロフェッショナルレベルは2019年12月現在「準備中」とされているため試験で問われるレベルは不明ですが、かなりレベルの高いRPAシステムの開発スキルや顧客ヒアリングスキルなどが問われると考えられます。
参照 : RPA 技術者検定 | WINACTOR | NTT DATA
VBAエキスパート
RPAシステムの開発には、VBAやExcelマクロのスキルが役立ちます。特にVBAのスキルはOffice関連アプリケーションなどの自動化を行うプログラミング言語のため、RPAソフトウェアを理解する上で役立ちます。
このようなVBAのスキルを問う試験が「VBAエキスパート試験」です。本試験は「Excel VBA ベーシック」「Excel VBA スタンダード」「Access VBA ベーシック」「Access VBA スタンダード」の4つに分かれています。
「スタンダードレベル」がSEやプログラマなどのエンジニア向け試験とされているため、RPAエンジニアとしてのスキルをアピールする場合、「Excel VBA スタンダード」「Access VBA スタンダード」の試験に合格するとよいでしょう。
参照 : VBAエキスパート公式サイト
関連記事 : 資格を持つことで、参画に有利になるか?
RPAエンジニアの需要・将来性
2019年12月時点で、RPAエンジニアの需要は高い傾向にあります。昨今は機械学習やAI技術の発展により、いろいろ業務、特に定型業務を自動化する潮流があり、機械(パソコンやAI)に任せられる仕事は任せて、非定型業務にリソースを割こうという動きがあるのです。
例えばRPAを導入すれば、従業員の数千件におよぶの交通費管理もミス無く、コンピュータに任せられます。これは、人間よりコンピュータに任せる仕事としてピッタリのものでしょう。
ただし、将来性の点では若干の懸念が残ります。RPAは今のところ、定型的な業務を自動化することに長けている点で需要がありますが、RPAが普及して飽和状態になるほどRPA技術が発展した場合、RPAエンジニアの役割がどのようになっているのか予想するのは難しいからです。
また現時点のRPAエンジニアの仕事は、顧客の業務のヒアリングをもとに、RPAソフトウェアを使って業務を自動化することに限られています。顧客のヒアリングは上級SEが得意とする仕事ですので、メイン業務はRPAツールを使ったシナリオを作成することになる場合もあります。つまり、マクロやVBAを使いこなせる人材であれば、RPAエンジニアになれてしまうということもあるのです。
もちろんここまで解説したように、RPAエンジニアは一般のシステム開発を理解していなければならない職種のため、簡単な仕事ではありません。ただ、RPAエンジニアというスキルが一生使えるのかというと疑問が残るのです。RPAエンジニアのスキルはあくまでもエンジニアとしての1スキルという考え方を持ち、自身の持つ知識や技術に幅を持たせておくとよいでしょう。
関連記事 : プログラミング言語別 案件ランキング | レバテックフリーランス版
RPAエンジニアのキャリアパス
RPAエンジニアの先にあるキャリアを解説します。
RPAコンサルタント
一般の顧客は、自社のどの業務にどのようなRPAを導入すればよいのか分かりません。そのためRPAコンサルタントが、RPA導入による効果予測やRPAを導入すべき業務を洗い出して提案します。
一般のシステム開発で上級SEや営業SEが行うシステム導入提案に近い仕事ですが、経営に資する提案を行う意味では、エンジニアよりもコンサルタント寄りの業務です。よってすでに上流工程を経験しているエンジニアが歩みやすいキャリアとも言えます。
プロジェクトリーダー・マネージャー
RPAエンジニアの開発業務は、一般のシステム開発案件に似ています。そのため、キャリアはシステムエンジニアのキャリアと似通ったものになりがちです。RPAエンジニアとしてのキャリアを重ねることで、プロジェクトリーダー・マネージャーへのキャリアが開かれます。
ただしプロジェクトリーダー・マネージャーは一般のシステム開発案件も扱うため、RPAシステムだけでなく、一般のシステム開発スキルがあることがこのキャリアの前提です。
プロジェクトリーダー(PL)の求人・案件一覧
プロジェクトマネージャー(PM)の求人・案件一覧
関連記事 : ITエンジニアのキャリアパス・キャリアプラン
フリーランスのRPAエンジニアとして働くには
RPAエンジニアの案件を獲得するには、システム開発の経験、特に上流工程の経験があると有利です。ただし未経験者でも獲得できる案件もあるため、RPAエンジニアの門戸は狭くありません。
幅広い分野(顧客業務)でシステム開発に関わる
RPAエンジニアの仕事は既に述べた通り、顧客の業務を自動化することにあります。自動化にあたっては、RPAを導入する範囲、RPA導入前・導入後における業務フローの違いの理解、顧客が使いやすい業務フローの実現などが重要です。そのためいろいろな業種のシステム開発案件を経験し、顧客の業務内容について理解を深めておくと有用です。
また一般のシステム開発案件で、要件定義や基本設計などの上流工程を経験しておくと、RPAエンジニアとしては上流工程の案件を獲得しやすくなります。一般に上流工程の方が報酬はよいため、RPAエンジニアになることはステップアップの契機にもなるでしょう。
未経験者はVBAやExcelマクロの知識を身に付ける
VBAやExcelマクロを使いこなせると、RPAの理解は早く深まります。そのため未経験者であれば、VBAやExcelマクロの知識を高めておくと、RPAを使える(使えるようになる)フリーランスとして、未経験でも採用される可能性が高いです。未経験者でも応募できる案件もあるので、VBAなどを使った処理の自動化について、積極的に勉強しておくとよいでしょう。
関連記事 : フリーランス1年目が「早めにやっておくべきだった」と後悔した22の仕事チェックリスト
最後に
簡単4ステップ!スキルや経験年数をポチポチ選ぶだけで、あなたのフリーランスとしての単価相場を算出します!
※相場算出に個人情報の取得はおこないません。