AI時代のエンジニア研修の在り方を考える

:::note alert
本稿はAIエンジニアの研修がテーマではない。
:::

デジタルスキル標準が策定されてからまだ１年、政府発表時点から3ヶ月少しで4月研修実施となったため満足なデータは（まだ）出せない。
加えて、教育・研修効果は早くても2~3年掛かるため、結果がでて以降にまた本稿について言及した記事を書きたい。

## AI研修とは何か？
:::note warn
厳格な意味でAI、またはAIの研修を定義する事は難しい。
:::

これは単純にAI文化がまだ醸造されている途中であり、企業を超えた共通言語のようなものが明確ではないからだ。

たとえば一口にプログラマーというと、ジュニア級・シニア級で何が違うのか言語化は難しくてもイメージはできるだろう。
そして、そのイメージは人によって多少のズレはあれど、概ね共通するものがあると思われる。
同じ事をAIで言えば、ChatGPTやStable Diffusionなどが多少市民権を得ているように思うが、具体的にAIについて学ばなければならない事が何かを問えば、人によって回答がバラバラであろう。
更に言えば一般を含めるとまだAIに対する認知もなければイメージすら出来ない方もいる。
世代が違えば、いまだにプログラマーという職業が何をしているか分からないと言われてしまう事もある。

## エンジニア研修にプログラミングは必要か？
:::note
一部において必要
:::

プログラミングの能力を高めることに意味がないなら、これからの研修のゴールはどうするべきか？
プログラミングスキルの需要をChatGPTに寄せていくなら、ChatGPTが苦手な（というより、車などの自動操縦機能における責任の所在問題などと同じ課題があるもの）システム設計やプログラミング以外でも重要なエンジニアのスキルを集中して高めていくべきではないだろうか。

たとえば、多くの新卒IT研修にある「プログラミング」のカリキュラムを削ればおそらく2〜4週間分を削減できる。プログラミングはChatGPTに書かせれば「どういうプログラムを作る必要があるのか」を考える時間に充てる事ができるようになる。

とはいえ、ChatGPTにプログラムを書かせる方針でカリキュラムを設計した場合でも、自分でプログラムを書く経験をする事自体は重要だと考えている。
ChatGPTの本質は「出来ない事を出来るようになる」ではなく「出来るけど面倒な事を任せる」ことにあると考えているからだ。
前者の場合はChatGPTが生成した内容が正しいものか判別できないが、後者であれば嘘や間違いに気付いて修正する事ができる。
そして、ChatGPTに限らずAIは利用者（人間）が想定しない結果を成果物として納品するためだ。

## システム設計・運用のノウハウこそ必要になる
:::note
手っ取り早くシステム設計・運用管理の知見を得たいなら私生活を支援するBOTを作るのが近道
:::
カレンダーをLINEに通知させるとか、メールをLINEに転送したりLINEからメールを送ったり、とするだけでPCを使う作業をスマートフォンで手軽に操作する事ができる。

分かりやすくLINEBotにしたが、LINEである必要もない。
重要なのは、どういうシステムを作ったら便利か、また作ったシステムが問題なく動き続けるためにはどうすれば良いかは自分でシステムを使う側にならないと気付きにくいという事だ。

現行の研修パッケージでは残念ながらプログラミングスキルを身につける事が第一となっており、システム設計や運用についてはあまり考慮されていない。
その結果、システムを作れるプログラマーは養成できても、作ったシステムがどのように使われるか、また保守を含む運用に対する知見はほぼゼロといっても過言ではない。
これは残念ながら法人が対象の新卒研修でも個人が対象のプログラミングスクールでもほとんど変わらない。
システムを作るという工程が難しいのは当然として、プログラムを書くという工程もまた難しいのだ。
ChatGPTが浸透する事でプログラムを書く工程が簡易になっていくとはいえ、システムエンジニアの業務領域にはまだまだ至らないのが現実である。
インフラ整備、サーバー要件定義、アプリケーション策定…数えればキリがない。
また、システムを使う人（ユーザー）がいるので、当然打ち合わせ（折衝）が必要になる。

残念ながらこういった技術は一部をのぞいて現場でしか得られないのが実情である。

## 研修後も学習を継続していく
:::note
AI時代前からエンジニアは一生学習の職業である
:::

ChatGPTの使い方が分かれば大体の場合は何とかできるが、ChatGPTの操られるようではエンジニアとは呼べない。
一昔前の表現をするなら、ググって出てきたページの内容をコピペする[^1]だけでシステムが作れるならプログラマーは要らないのである。

[^1]: 【ググってコピペ】どこかのサイトで「スクリプトキディ」という表現を使っていたような気がするが、ハッカーにもなれないコピペプログラマーを揶揄った表現で使われるようだ。

これから勉強を続けていく方に、学習のマインドセットとして良いコンテンツがあるので紹介したい。

https://kuranuki.sonicgarden.jp/archives/25009

私の講師哲学や現場経験から「コードを暗記で覚えただけの作業者はプログラマーではない」という思想が強く、コピペの能力を伸ばすために検索技術を高めるならまだChatGPTの方がマシである。
しかし、（執筆時点の）ChatGPTはシステム設計についてはあまり使い物にならず、相談役ぐらいにしかならないのでシステム設計スキルは代替する事ができない。
一言でプログラマーとは言ったが、大体の場合プログラミングスキルはChatGPTに置き換える事ができるので、システム設計スキルを高めていく方が良いだろう。
ある意味では、JavaScript等でサイト構築をしても、そのコードは全てChatGPTに書かせる事で事実上のノーコード・ローコードが実現できるかもしれない。[^2]

[^2]: 【ChatGPTにコードを書かせるシステム構築】筆者個人としては疑問である。本来のノーコード・ローコード開発のメリットは開発工数の短縮ではなくメンテナンスコストの低減であるはずだ。大体の場合は痒いところに手が届かないのでスクラッチするわけで、スクラッチするという事はコード自体のメンテナンス（バージョンアップ）を考える必要がある。

:::note warn
将来的には現行システムがレガシーになる可能性は当然にあるので、コードも理解できるようにステップアップしていく必要があるかもしれない事は認識しておこう。
:::

## （変わらないこと）講師と受講生の組み合わせの数だけ教え方がある
これはAI時代だから、という事ではないが、もしかしたらAIが指導する日も来るかもしれない。
とは言ったが、シンプルに講師と受講生の性格や理解度、関係性などで講義内容や方針が変わる。
たとえカリキュラムや教材の内容が同じで、同じ講師で別受講生だったり同じ受講生が別講師に教わると分かりやすさが違う、という事はあるはずだ。
受講生目線では前者は分かりにくいが、例えば学校の授業を思い出してもらうと、同じ教師の説明を聞いているのに理解できる人とそうでない人がいることに気付くだろう。
一見、理解できる人＝勉強できる人と考えてしまいがちだが、実は教師との相性というものは考慮されていない。
別の教科で教師が変わった時に、同じように分かりやすいと言う人と分かりにくいという人が異なるのは、いわゆる文系理系問題だけではなく、同じ文系教科・理系教科でも違いが出てくる。
これも当然好きな教科や苦手な教科があったりするので分かりにくいが、重要なのは好きな教科や苦手な教科がでてくるのは個人差だけではないはずだと言うことである。

必ずしも講師の教え方の問題、受講生の受け取り方の問題だけではないが、毎回同じ内容でも中身は違う事を認識しておきたい。

---

## デジタルスキル標準とDX研修
ある意味ではメインコンテンツかもしれない。

昨今ではIT研修といえばエンジニアだけでなく、非エンジニアのPCスキルーDX研修が台頭してきている。
AIの話はDXの次の段階だが、AIを最大限活用するために日常の業務をデータ化し、経営層にデータ戦略活用を促進する事が大きな目的である事を認識しておきたい。
日常業務をデータ化するためにDX推進をするのであって、DX化自体が目的ではないので社内にDX研修を推進する際は業務効率化や検索の容易性だけを強調しないようにしたい。

さて、エンジニア研修のノウハウがDX研修にそのまま使えるか、というと残念ながらうまくいかない。
よくあるエンジニア研修は「エンジニアになりたい／なる」という前提で研修をするので全体として受講者のモチベーションが高い。
が、DX研修は「やらされている」という前提で研修をするので、講義時間外に分からない事を聞きにくる、という事はほとんどない。
これはハローワークの失業者保険延長目的で専門学校に来られる方と同じ傾向が見られるが、エンジニア経験が長い方ほど「この人たちをエンジニアにして大丈夫か？」と思ってしまうような状態に戸惑う事も出てくる。
重要なのは「今はそう考えているかも知れないが、今後の業務を通じて責任を持っていただく事で考え方が変わる可能性がある」ことと、「考え方が変わらなくても何らかの形で入力業務に従事するのだから、手書きで業務されるより（将来のシステム移行の負荷が）良い」と割り切る事である。

そして何より「研修をしても実務で活かされない」という前提にしてしまう事だ。
講師としてはあるまじき対応かもしれないが、実際問題DXのアプローチは各社異なるために銀の弾丸は存在しない。
というのも、今まで各社ごとにカスタマイズした業務システムが存在しているため、DXの考え方や意図は共通でも具体的な手法については個別対応になってしまうためだ。
真の意味でDX研修をする目的は、DX化（既存の業務が変わること）を快く思わない方にご理解をいただく機会になるかも知れない。
管理職の方は比較的部下の管理のためにデータを収集できると言えば概ねご理解いただけるが、長年現場でご活躍されている方ほどご意見をいただく事が多い。
こう言った方々に対してDX化のメリットを提示しても、直接作業者の方に恩恵を感じられる施策を会社側から提示されない限りは研修講師の立場ではやりようがない。
こうなってしまっては、企業のご担当者にDX化をする理由などをご説明いただくしかないので、そちらに案内しよう。

## 注釈