orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

僕らが食べるために技術は朽ちていく

f:id:orangeitems:20200920173622j:plain

 

私が業界に入ったころは、オブジェクト指向がもてはやされ、C++が流行のピークを迎えていました。クラスやら継承やらを知らないとバカにされ、C++を勉強する前に、オブジェクト指向自体を勉強しなければいけない、なんて時代だったことをおぼえています。今もってC++を未だに利用しているプログラマーもたくさんいるとは思いますが、今はPython、JavaScript、C#などの高級言語も盛んです。一方でVisual Basicが相当利用されていましたが、今はMicrosoft OfficeのVBAぐらいでしか仕事では登場しないんじゃないか、と思います。

そうやって、技術は変遷していきますが、なぜ変遷するんでしょうね。

システムを導入したときに、設計はそのときの手堅い構成を行うのが普通です。すごく最新のことを導入すると、未知の課題で大変な目に遭うかもしれないので、ここ二年くらいで最も実績のある技術が使われがちです。

ただ5年も経つと入れ替えの話が出始めます。これまではそのソフトウェアを入れていたハードウェアの保守期限が迫ってくるから、でした。

ハードウェアを入れ替えるなら、一緒に上のソフトウェアも新しくするかーと。

でもクラウドの時代で、ハードウェア保守の話が切り離されました。動かしたければずっと動いてくれるのがクラウドです(運用事業者が事業終了しなければ・・)。

では、最近はどのタイミングでシステムの入れ替えを行うのでしょう。

やっぱり、保守です。保守は保守でも、ソフトウェア保守です。構成していたソフトウェアが更新されなくなる。新しいセキュリティーホールが見つかっても対処されない。保守料が年々上がって、入れ替えた方が安くなる。などいろいろ。

この業界、上手くできてるなと思うのが、ソフトウェアが朽ちるのです。

デジタルなのに何で腐るんだ、という感覚を持っている人が非ITの人に多いので、困ったもんだなと思うことがあります。

今まで動いているんだから、これからも動くんだろ、同じプログラムなんだから。

ITの人間は、すぐ保守切れ保守切れ言って、新しいものを買わせようとする、と。

でも、例えば今さら、Java6で動いているプログラムについて、Java6を今から身に着けて、問題があったら対処する、ということを誰がやりたいですか?と。もう、Javaは15まで来てしまいました。

今さらRedHat Linux enterprise linux 4なんて知らんよと。VMware vSphere 4.0って何よと。

どんどんベンダー企業は改良を重ね、使いやすくしていっているのに、何で10年前の化石のような構成を保つために、大事な時間を費やさないといけないの、と。

この、朽ちていく感じ、を錬成するために、業界挙げて、保守理論、サポート理論を作り上げて来たんだなあって、20数年業界にいて強く思います。

単に業界の僕らが食べていくため、もあるし、化石のような技術につきあってられんのよ、と。それにお付き合いしてしまたら、他の仕事に移れなくなるでしょ?って。

パブリッククラウドの世界だと、最近は、データベースなどが特にそうですが、勝手にミドルウェアのバージョンが運営側でどんどん上がっていく、と言う方式も一般化しています。それで不具合起こるなら、アプリケーションの方で適応してね、と。データベースが勝手に新しくなるから、アプリケーションの保守をサボるとアプリケーションが朽ちるよ、って。

インターネット上で、最新技術だわいわいとプレゼンがアップロードされているのを見ると、技術者はやっぱり未来に向かってモチベーションがあるのであって、過去に向かって行くような仕事は苦痛でしかない。だから、この保守理論、サポート理論は大切にしなきゃいけないと思います。