SEあるあるなのが、IT業界を全く知らない人に「SEやってる」と言うと、「へぇ、そうなんだ。今度パソコン買おうと思ってるんだけど良いものがあったら教えて」と返ってくるというシーンだ。
その人にとってSE業界というよりIT業界がざっくりとしか分からないし、プログラミングという仕事など想像もつかないのだと思う。
まぁ、業界外の人達なので仕方ないと言えば仕方ない。
だが、似たようなことがITの職場でも起こることがある。
例を挙げてみよう。
何らかのプログラミング言語を書く開発者は、当然のことながらSQLをそれなりのレベルで書ける必要がある。
しかし、RDS(データベース)の仕組みに詳しいかと言うと別の話となる。
レーサーが車に対してメカニック並みに詳しいかと言うと、そうではないことはすぐ分かるだろう。
ところが、ことITの現場になるとこのことが理解されない。
SQLに詳しいからRDSのアプリケーションの仕組み「も」当然詳しいだろうし、RDS自体の調整をよろしくと言われることがある。
これが、開発をそれなりに経験してないマネージャーからタスクを割り振られるときに見かけるシーンだ。
レーサー(プログラマー)とメカニック(RDS自体の仕組みに詳しい人)は別なので、その現場でメカニックに近い知識を持っている人をアサインする必要がある。
プログラミングとSQL/RDSの関係を挙げたが、似たようなことは他のミドルウェア周りやインフラ&コンポーネント周りで結構発生する。
現場に有識者がいない場合、一つの解決法としてChatGPTなどの生成AIを使う方法がある。
技術知識を聞くだけならば情報漏洩にならない。
100%ではないが、90%ぐらいの正確性で有識者相当の人材を補える。
これはかなりの革新的なことだと思う。
ChatGPTを使わずに、プログラマーが周辺知識を使って検索で技術知識を調べたケースの資料を見たことがあるが、不正確だった。
感触としては、50%ぐらいの正確性だっただろうか。
ChatGPTで補うことは一例だが、やはり、タスク分解して適切なスキルセットを持つ人材を割り当てるという基本的なことはとても重要ということだ。
そこをやらずして力技でタスクを進めると品質が極端に落ちてしまうし、チェックする人もいないということになる。
足りない人材がいないならそのことをしっかり認識し、真正面から取り組んでリソース面で最適解を出す。
これが、大変だけど最終的にはうまくいく唯一の方法だ。
現場が炎上したり、開発者の不満が募ったりして辞めたりしてしまうのは、案外こういうところが原因の一つだったりする。