「コードを書くだけなら、AIのほうが速い」。AI時代、これまで磨いてきた技術力の先に、何を身に付けるべきか悩む人もいるかもしれません。
本連載では、株式会社本田技術研究所や株式会社ディー・エヌ・エー(DeNA)を経て、現在はフューチャーアーキテクト株式会社でシニアアーキテクトを務める渋川 よしきさん(@shibu_jp)に、SE・ITコンサルタントが直面しやすいキャリアの悩みについて解説いただきます(全6回予定、過去記事はこちら)。
第3回のテーマは「ドメイン知識の習得という、業務を通じた成長」。AIの進化によって、一般的な技術スキルは、大きな差別化要素ではなくなっていくことも想定されます。そうした中、渋川さんはこれからも価値を持ち続ける力の一つとして、顧客企業のビジネスに根ざした「ドメイン知識」を挙げます。ドメイン知識が実際にはどこまでを指すのか、どう身に付けていけばよいのか――。渋川さん自身の経験を踏まえて解説いただきます。
AI時代でも代替されない、「ドメイン知識」という資産
ドメイン知識は、ソフトウェア開発のスキルをビジネスの成果につなげるために欠かせないものとして知られています。プログラミングの技術、例えば関数の書き方やHTMLの文法にどれだけ精通していても、それ自体が直接ビジネスの成果になるわけではありません。何らかのビジネスを行うお客さま向けにシステムを開発し、これまでできなかったことが可能になったり、業務の効率が改善されたりして初めて、対価が生まれます。
一般的な技術スキルは、AIによって大きな差別化要素ではなくなっていくと想定される一方、お客さまのビジネスに根ざしたドメイン知識は、そう簡単には代替されません。AIが現状出せるのは断片的な情報であり、お客さまと議論を重ねて新しい形をつくっていくことは、依然として人間の手に委ねられています。
ソフトウェア開発の技術知識も、ドメイン知識の一部
ドメイン知識というと「システムとは切り離されたビジネス側の知識」というイメージを持たれる方が多いかもしれません。しかし、ソフトウェア開発そのものも、様々な専門知識の集合体です。
例えば、リレーショナルデータベースの設計に関する知識や、Webのフロントエンドとサーバーの通信の仕組みなども、一つの「ドメイン知識」だと私は考えています。この考え方に賛同する人は少数派かもしれません。しかし、dRubyの生みの親である関 将俊さんが勉強会でこの話をされていたのを聞いて以来、私もこの立場を取るようになりました。
「この業務をシステムとしてモデル化するなら、ピーク時の負荷や拡張性、移行・切り戻しのしやすさを踏まえるとこうすべきだ」という判断力は、システム開発の経験を積むことで、感覚として身に付いていきます。この肌感覚こそ、AIが出してきた提案の良し悪しを判断する上で欠かせない、人間ならではの「資産」だと言えるでしょう。
まずは現行システムの把握。その上で、新しい形を模索する
この記事を読まれている方々も様々な顧客企業のシステムの開発に関わっていると思いますが、今の時代、全くシステム化されていない業務をゼロからシステム化するということはまれです。ホストコンピュータなどのレガシーシステムや、Excelなどを用いた業務フローの刷新として開発するケースが大半でしょう。
こうした状態でのドメイン知識は、業務を知り尽くした一人の人間の頭の中に閉じているわけではありません。現場でその業務を担っている顧客企業の担当者自身も、目の前のホストコンピュータの使い方は知っているが、詳細なロジックはわからない、といったことが多いです。
そのため、複数の現場担当者から話を聞きながら、過去のシステムのソースコードを解析し、つなぎ合わせることで、ようやく今の業務の全体像、つまり「旧システムのドメイン」が見えてきます。
ただし、そこには時代に取り残された部分も含まれます。新しいシステムでは、お客さまと議論を重ねながら、より良い形をつくっていきます。
例えば、店舗ごとに紙やExcelで管理していた在庫情報を、複数の店舗・取引先をまたいでリアルタイムに共有できるようにする、といった具合です。リアルタイム性を上げる、人手の作業を自動化する、複数のお客さまが同じ仕組みを共有できるようにする(マルチテナント化)、最新の個人情報保護の要件に対応させる——。
こうしたプロセスを経て、次のシステムが実装すべき「ドメイン」が磨かれていきます。
ドメイン知識とは、どこかに存在する「正解」を学ぶものではなく、お客さまと共に「つくり出していく」ものです。だからこそ、そこで培った経験は、自分自身の「実績」になっていきます。
共通点も多い業界知識。自己研鑽で+αの情報も
このように磨かれていく「ドメイン知識」ですが、決して一つの大きな知識体系となっているわけではありません。業界共通のもの、お客さまの会社固有のもの、あるいは特定の部署特有のものなど、粒度の異なる情報が組み合わさって構成されています。
特定のシステムの実装に使うドメイン知識は、お客さまごとに変わってきますが、業界が同じであれば、共通する部分も一定あります。それらの共通部分は、業界解説の書籍として既に何冊も出版されていることが多いです。こうした書籍を活用することで、キャッチアップの速度を上げることができます。
そして、ドメインの情報源はお客さまの中だけとは限りません。例えば流通や製造の分野では、AIやロボットの活用など技術の進歩が日々起きています。そうした最新事例を追うことで、その分野に関してはお客さま以上に詳しくなれる、という可能性もあります。
では、お客さま固有のドメイン知識とはどう向き合うか
業界共通の知識は、キャッチアップの土台です。その上で実際の開発では、お客さま固有の情報と向き合いながら、システム開発に取り組む必要があります。
大規模システムの刷新では、メンバーが途中からチームに加わることも少なくありません。当社のプロジェクトでは、初期の設計段階から携わっていたメンバーや、同業のプロジェクトを経験したメンバーが勉強会を開くことで、新しく加わったメンバーも、プロジェクトや業界特有の用語や前提を共有した上で会話できるようになっていきます。
また、お客さまのビジネスが複数の業種にまたがっていることもあります。例えば、製造業でありながら、輸入した商品の物流や小売まで自社で手がけている、といったケースです。こうした場合も、それぞれの分野に詳しい人に協力してもらいながら取り組みます。
スキルアップというと、「個人の技術研鑽」といったイメージを持たれがちです。しかし、大規模な基幹システムの刷新をやり切るには、自分自身が知識を身に付けるだけでなく、共にドメインに取り組む仲間づくりや、助けてもらうための信用の積み重ねが欠かせません。そして、こうした積み重ねは、ある程度の期間一つの会社で業務に取り組むことで得られます。決して軽視できるものではなく、AIには代替されにくいものだと感じます。
クライアントワークでは、多様なドメインに向き合う機会がある
本記事では、SIerやITコンサルなど、クライアントワークを行う会社の視点で書いてきました。もちろん、事業会社でドメイン知識を深めていくことも可能ですが、そこには「システムの改善が売り上げに直結していること」という条件があります。
例えば、自社のECサイトのように、使い勝手の向上が売り上げにつながるシステムであれば、同じ対象に向き合い、進化させ続けることができる分、事業会社で取り組むほうが効率よく学べるでしょう。
一方、10~15年といったスパンで基幹システムを置き換える際は、SIerやITコンサルがプロジェクトに加わって開発を担うケースが多くあります。事業会社が、10年に一度の刷新のためだけに100人規模の人材を自社で確保し続けることは、現実的に難しいからです。
だからこそ、クライアントワークを行う会社では、様々な企業の基幹刷新に携わることができるチャンスがあります。一つの現場にとどまらず、次々と異なる業界/規模のドメイン知識に触れられる。これは、クライアントワークならではの経験です。
かつては「DX(デジタルトランスフォーメーション)によって、SIerは不要になるのでは」といった意見も聞かれました。しかし、実際にはそこまで単純な話ではなく、事業会社とITコンサル両方の業界で働いてみると、それぞれに一長一短があると感じています。私個人としては、様々なドメインの知識を吸収し続けられる分、クライアントワークの会社のほうが、一定の期間で得られるものは多いと感じています。
ドメインをつくり出す経験が、働き続ける上で大きな力になる
ここまで見てきたように、「ドメイン知識を身に付ける」とは、お客さまのビジネス全体を理解し、その成長につながる仕組みづくりに携わることだといえます。
AWSが提唱する「AI-DLC(AI駆動開発ライフサイクル)」が広がりつつある中、「フローを変えない単純なシステムバージョンアップは自動化できる」という意見も聞かれます。
しかし、それはあくまで既存の仕組みを置き換える範囲にとどまります。ビジネスを成長させるために、お客さまと共にどのようなドメインをつくり出していくのか——。その経験を積み重ねていくことこそ、この先も長くこの業界で働く上で、大切な力になっていくと感じます。
今の環境で「資産」は積めていますか
ドメイン知識をはじめ、AIに代替されにくいスキルの多くは、日々の業務を通じて身に付きます。裏を返せば、今の環境でどんな経験を積めているかは、この先のキャリアにとって大きな意味を持ちます。
Findyの専任アドバイザーによるキャリアサポート面談では、一人ひとりの経験や今感じている悩みを整理しながら、「どんな経験を積みたいのか」「どんな環境で働きたいのか」を一緒に言語化していきます。今の会社で積み重ねを続けるべきか、新しい環境を検討すべきかも含めて整理できます。
転職するかどうかの結論を急ぐ必要はありません。まずは一度、自分に合った環境について整理してみませんか。

.png&w=3840&q=75)