プログラマーという肩書の話 ― SE爆誕からAI時代まで
プログラマーの定義を解説しているサイトをよく見かけますが、明確な定義なんてものは存在しません。時代によって、会社によって、人によって、「プログラマーとは何か」は違います。ここを勘違いしている人が結構多い気がします。
私はこの業界の移り変わりを当事者として見てきたので、今日はその話を書いておきます。
20年前のプログラマーは「開発者」だった
昔のプログラマー像はというと、設計からプログラミングまで、開発に関するすべてを担当する人でした。大企業でも例外なくそうです。だから「開発者」とも呼ばれていました。
ちなみに当時、プログラミングとコーディングはまったくの別物として明確に区別されていました。簡単に言うと、プログラミングはコンパイルして動くプログラムを組むこと。コーディングはマクロやスクリプト、HTMLなど、コンパイルせずに動く簡易的なプログラムを指す言葉でした。
もう少し詳しく言えば、スクリプトは「プログラミング言語」ではなく「スクリプト言語」と呼ばれていました。コンパイルされないから処理は遅いし、できることも限られている。そういう位置づけだったわけです。
それが時代とともに何でもできるようになり、コンパイルに対応するものも増えていった。プログラミングとの境界線はどんどん曖昧になって、最終的には融合していきました。この変化を目の当たりにしてきたのは、今思えば面白い経験でした。
SE爆誕
コンピューターの性能向上とともに、ソフトウェア開発の規模はどんどん膨れ上がっていきます。その中で、プログラマーの中でも役割分担が徐々に浸透していきました。特に日本ではそれが顕著でした。
それまでは、客への要望聞きから設計、プログラミングまで、すべてプログラマーの中で分担してやっていた。ところがある時期から、「プログラマーより上の肩書を作って、客に請求する人件費を増やそう」という流れが主流になります。
そうして誕生したのが、SE(システムエンジニア)。これは日本だけの話で、当時まだ海外には存在しない肩書でした。
ソフトウェア開発の代金は「人 × 時間」で計算されます。だったらこの「人」の部分に、プログラマーより高給取りな肩書を割り当てれば、もっと沢山請求できて儲かる。営業 + SE + PG という構成ですね。そういう筋書きです。
目的がそれなので、当初はSEの中身なんて何でもよかった。必要なのは「肩書」だけ。求められる技能はエクセル操作くらいで、SE向け講座の中身がエクセルとワードの操作方法だけ、というのも当たり前でした。
実質は営業職です。本職の営業にくっついていくサブ営業みたいなもの。あるいはそのまま営業を兼ねている。エクセルが使えれば高給取りのSEになれた、とんでもない時代でした。
プログラミング暗黒時代
ではなぜエクセルなのか。ソフトウェア設計を担当していたからです。
つまり、SEが設計する = プログラミングしたことのない人がプログラミングする、という状態。そりゃもう、ひどい設計しか出てきません。それでもプログラマーはその通りに作るしかない。プログラミング暗黒時代の到来でした。
もっとも、SEブームに後からなんとなく乗っかっただけの企業では、プログラマーのリーダー格や一番能力のある人をSEに割り当てる、というのもよくありました。個人的には、こちらが本来あるべき姿だと思います。普通に昇格ですからね。
「プログラマーと呼ぶな」運動
こうしてプログラマーという肩書は地に落ちました。従来のプログラマーたちは、プログラマーと呼ばれるのを嫌がるようになっていきます。
そこで登場したのが「ソフトウェアエンジニア」、略して「エンジニア」という呼び方です。プログラマーと呼ぶな運動の始まりで、これは世界中で巻き起こりました。
もっとも、ソフトウェアエンジニアというのは本来、大学でソフトウェアエンジニアリングを修めた技術者を指す言葉です。だから本物の人たちからは反感を買っていました。「プログラミングができるくらいでエンジニアを名乗るな」と。
そんな中でも、プログラマーという肩書に誇りを持って、あえてプログラマーを名乗り続ける有名な人もいました。私もそれに感銘を受けて、というか単純にめんどくさいので、今もプログラマーを名乗っています。実際の役職はずっとずっと上なんですけどね。
AIでプログラマーは要らなくなるのか
さて、これからのプログラマーの話です。
AIの台頭により、「AIにプログラミングさせればプログラマーは要らないじゃん」と言う人が結構いると思います。これは半分正解で、半分間違いです。
そういうことを言う人は、簡単な物を作って喜んでいるだけのレベルです。ただし、プログラマーの中にもそのレベルの人がうじゃうじゃいるのは事実。誰だって最初は新人ですからね。
そう、新人が作るようなレベルの物は、AIが作れてしまう。だからすでに始まっている流れがあります。
新人、もう要らないよね
ここからはプログラマーに限らず、多くの業種が目の当たりにしていることです。経営者層の目線で言えば、「新人、もう要らないよね」ということ。
よく「AIは優秀な新人」と言われます。これは、優秀ではあるけど頭脳としては新人レベル、という意味です。そして世界中で新卒採用が減っています。
「AI導入により大量にリストラしました」という報道もありますが、これは建前じゃないかというのが一般的な見方かもしれません。AIのせいにすればリストラしやすいですからね。
では、人が減った会社で何が起きているか。AIに置き換えた分、人を減らした。ただそれだけです。会社全体では何も生産性が上がっていない。プラマイゼロ。
とはいえ人件費は節約できたわけで、その余剰資金でうまく拡大できれば成長はできます。今はまだ、その結果が出ていない段階なのかもしれません。
そして会社に残った人はというと、忙しくなります。AIが色々やってくれる = 色々やらないといけない、ということですから。これは昔からある流れで、便利な技術が生まれるたびに現場は忙しくなる。昭和の頃は仕事がのんびりしていて楽だったらしいですよ。何をするにも時間がかかって、待ち時間が多い時代でしたからね。
プログラマーは監督業になった
話をプログラマーに戻します。
今のプログラマーは、AIを使ってコーディングするのが当たり前になりました。プログラマーは監督みたいなものです。監督って、細かくチェックして演技指導したり指示を出したりしますよね。あんな感じ。
高価なAIモデルを使っても、AIが完璧に仕事をするなんて夢物語です。何が間違っているかを適切に教えないといけないし、ソースレベルでの指示や指摘も必要になる。こういうのは初心者には難しいと思います。
結論として、プログラマーは終わりません。むしろ最後まで生き残る業種だと思っています。
で、日本はどうなるのか
最後に。各社のAI導入に乗り遅れている日本は、これからどうなるんでしょうね。
就職氷河期の第二波が来るのか。それとも日本らしく、新人育成に力を入れる方向に振れるのか。
個人的には、デバッガーとしてなら需要は高いかもしれない、という気がしています。