同僚と話していておもしろい気づきがあったのでポエムを描く。僕は長く、「システムエンジニア」という言葉に違和感があった。ただ僕たちはソフトウェアエンジニアから、本来の広義の「システム」エンジニアになっていくんじゃないか、というお話。
AIエージェントによって、コーディングなど実装などの作業は減ってきている。これは事実だと思う。
僕はもともとSIerと呼ばれる企業で、新卒入社から数年しかいなかったが、あまりSIというビジネスモデルが好きになれず、そしてソフトウェアエンジニアになりたい、と思って転職した。すっごい雑にいうと、人月商売じゃなくてよりプロダクトに向き合った開発とかしたいなぁ、そのための技術を獲得したい、そういうプロフェッショナルでいたい、という動機だった。
個人的に、システムエンジニア、と自称するのは以下の2点からあまりよい評価が得られないんじゃないか、というか評価したくないという考えを持っている。
まず一点、海外のドキュメントやテックニュースを追っているかどうか、日々のキャッチアップができているかどうかだに関心がいく。基本的に技術は海外が進んでいることが多いし、そういう前線でバリバリ開発してナレッジを投稿している人たちは基本的にソフトウェアエンジニアを名乗っている。外資系テックだとSystem Engineerってあまりみないし、そこでまずシステムエンジニアってなんだっけ?みたいなひっかかりがある。
二点目、いったん呼び名は置いておいて、プログラミングやアプリケーション開発に携わる身として、命名や概念設計は基礎であり奥義であると考えている。関数や変数一つの命名にしても、その背景にはいろんなことを考える必要がある。ありとあらゆる観点と議論を凝縮した上で概念や命名は決まっていくものだと思っている。(そんなこといわずガリガリ進める時もあるが)そういう観点から「システム」エンジニアのシステムってどういうことなんだろう?っていうことに目が向いてないんだろうか?という疑問が出てくる。
ソースはないのでなんとも言えないんですが、システムエンジニアはSIerに勤めるシステムに携わる人、くらいの和製英語でしかない、という感想を持っている。ソースがないので感想です。システムというのはより広義には
相互に影響を及ぼしあう要素から構成される、まとまりや仕組みの全体。一般性の高い概念であるため、文脈に応じて系、体系、制度、方式、機構、組織といった多種の言葉に該当する。
ということがWikipediaで言われている。略さないのであれば「コンピュータシステムエンジニア」とかになるのであろうか。これはエンジニアはITに限らないよね、ということと同じような議論だと思っている。
「システム」エンジニアといってしまうと、より広い仕組み・系をエンジニアリングする、工学である、みたいな感想になる。
ここで突然ですが、AIがこう修正したらいいよという文章を雑に挟んでおく!
「海外では systems engineer なんて言わない」「SEは和製英語でしかない」に寄せすぎると、そこだけで反論されます。
Systems engineering は海外でも普通に確立した分野で、INCOSEはそれを holistic / transdisciplinary / integrative な方法として説明していますし、NASAも system を hardware, software, personnel, processes, procedures まで含めた全体として定義しています。つまり、否定すべきは systems engineering という概念そのものではなく、日本の“SE”という言葉の使われ方と、その狭い職能イメージです。
「ソースはないのでなんとも言えないんですが」は消した方がいいです。
弱く見えます。代わりにこう書くと安全です。
少なくとも私には、日本で使われる「SE」という言葉は、グローバルな software engineer とも、本来の systems engineering とも少しズレた実務上のラベルに見える。
ここでいうシステムは、単なるアプリケーションやコンピュータシステムではない。
複数の要素とその関係から成り、ひとつの目的を達成するための全体だ。Systems engineering はもともとそういう全体を扱う分野として整理されていて、NASAも system を hardware, software, personnel, processes, procedures まで含めたものとして扱っている。つまり、私が違和感を持っていたのは systems engineering そのものではなく、日本の「SE」という言葉が背負わされてきた狭い職能イメージだった。
経産省の資料でも、生成AIがコーディングを担うほど、より上流のシステムエンジニアリング力やAIの提案を見極めるリテラシーが重要になると整理されている。IPAも、ソフトウェアエンジニアを、製品・サービスのためのシステムやソフトウェアの設計・実装・運用を担う人材として定義している。ソフトウェアエンジニアであることと、広いシステムを見ることは対立しない。むしろ後者が前者の延長として強く求められている
とまぁ、別にそんな細かいことどうでもいいんですけどね、すごい人とか優秀な人いっぱいいるのも知っていますし。
あと免責事項として、人付き合いする中では仕事は何やってるんですか?って聞かれると単純にSEです。って答えることの方がほとんどである。だってわかりやすいんだもん。
一方で、昨今、AIエージェントの対等によって、ソフトウェアエンジニアはコンピュータシステムやアプリケーションだけでなく、それを取り巻く環境、ビジネス・組織・構造といったことにも職能が広がったり、眼を向けることが求められる。そういう意味において、僕たちってソフトウェアエンジニアからシステムエンジニアになっていくのが今後求められるんだろうね、みたいなことを話しした。
要求とか要件定義とか詳細設計とか、ドキュメントがコードになっていく中で、よりそういった技能も求められてくる。それっていわゆるシステムインテグレーションじゃん、SIerって最高じゃん、ってなっていくわけなんじゃないか、みたいな。まぁ再評価したいのは、統合する能力であって、人月と分業を前提にした昔のビジネスモデルではない。
ああー、健康になりたかったなぁ

コメント