あ、FF7じゃないです。
10年弱ほど前に恐れていたのは「飯を食うために這い回った結果として自分が時代に遅れてしまう」的な話で、具体的にはAWSとかのノウハウが獲得できないまま過ごすとかそういうことだった。
関連して、その数年後には加えて、いわゆる「AIブーム」みたいなのの初期の話も心配材料になった。数学に対する無限の苦手意識が先行していた時期。クラウドの話はなんだかんだで自分でなんとか調べる……という話はあったもののデータに関しては難しいところがある。何より私にはあんまりセンスというか、そういうのを先んじて取得しに行くセンスがない。仕事でやるのが一番なのだ。
ちなみに当時の心配はもう一つあって(こっちのほうが大きかった気がするんだけど)、人が多数いる環境でのマネジメントの経験がつかないんでは、という話だった。少人数であれば当時ちょっといろいろトラブルを処理していたのもあって分かってきたんだけど、せいぜいが「個人事業主プラス」みたいなレベルではあって、もともと描いていた「組織を見る」という観点での経験は十分積めそうな感じじゃなかった。
というわけで割と恐る恐る転職活動をするなどして今に至るん。幸い、概ね上の話は全部心配ごとじゃなくなっている。あくまで後ろ向きに見るなら、納得感のある試行錯誤とミスと成果が溜まってきている。
うん、ただ、そういう流れの中で、例えば「ローコード」だのと風潮してはずっこける変な連中は一旦脇に置いとくとしても、Webを中心とした「アプリ開発」の低俗化……みたいのは何か看過できないなぁ、みたいな気持ちが出てきた。
専門的な分野で難しい話があるのを知らない、わけではない。ただLinuxはLinuxとして安定しているので、普通のB2Bで特別な工夫というのは要らない。AuroraすごいしCloud Run Jobsは便利なのよ。
そのあたりのソフトウェア開発において今何が問題になるかというと、概ね理解の浅い関係者と油断が激しいデベロッパが空転しており、納期に対するバランスを欠いているだけに見える。この事象自体は大変興味深いし、そういうのを眺めてあーだこーだするのはぶっちゃけ好きだ。
ただ、道具として使うソフトウェアツール群について言えば、同じようなことを本当に何度も繰り返してはロースキルの人に使わせるというチャレンジをし続けた結果として、技術の可能性を削ぎ落として凡庸なサイクルを組むための「ソリューション」の蓄積になってきた感じがある。先日アーキテクチャ図を見せてもらって「これ、どうでしょうか」と聞かれたんだけど、「そのアーキテクチャ図で盛り上がるソフト開発ってもう流石になくない?人生でまたこんなんやりたい?」なんて思っちゃった。「十分枯れた設計で構成されていますし、特段のリスクは感じませんよ」という感じで大人の返答をしたんだけど。
(じゃぁそういう「枯れた」世界でどうして問題が起きるかというと、例えばIaC, Cloud Formationとか一切考慮する脳みそはなくて、基礎的な設計はともかくライブラリがオワコンでツギハギで変更管理もない中で要件が途中で変わって記録が残ってないから1年後になんでそうしたのかも、どうやれば最新の構成を検証環境に作り込めるのか誰もわからんでどっかーん、みたいな事象なんじゃないかなと思うわけである。なんも新しいところないね)
「ノーコード」「ローコード」はそれ自体は、「技術の可能性を殺す」「やがて管理不能になる負債を背負う」といった副作用を受け入れれば一瞬は動作するし、その一瞬で自分が担当からはずれれば「成功」に見えるはずなのであった。つまりあるとても皮肉な言い方をすれば「成功している」とも言える。ただ、それは単純に馬鹿らしいことでもある。「単細胞な要件定義に終止する」「しかもしばらくして壊れる」ソフトウェアで成功なんである。アホかいな。まるで飛行機のドアに強度未検証な3Dプリンタの部品を使うようなもんである。ドア吹っ飛んで死者出るよ?……あいにくITにおいては止める人もいないのであった。
そういう進展は進展しているようでしていない。問題が矮小化している。それに対する「ソリューション」もある意味では矮小化している。使いやすい。ええと、なんとなく触れる限りではいいんじゃないかな……(なんかつまらんな)。
健全・適切な抽象化レベルに落ち着いたソフトウェアスタックというのもあってすべてがすべて上のようなバチクソ皮肉めいた進展を続けてきたわけではないんだけど(XMLの方がJSONより良いなんて言うつもりはないんだ)、少なくとも
- 10年弱ほど前に恐れていた事態は経験を積む機会に恵まれ回避された
- むしろ恐れていた対象が地盤沈下もして、恐れすぎると逆に自分を矮小化させてしまうリスクに見えてきた
という両方向からのアプローチで「別の大きな課題設定を人生で持っておく方が良いよね」なんて思う時期となってきた。
前者はどっかで前にも書いたか話したんだけど(とってもポジティブな話なのよ)、後者は油断すると「やーい老人!」と言われるタイプの考え方でもあって、良い表現の仕方も評価の仕方も自信のほども分かっておらず、なんとなく表現するのもブレーキかけぎみだった。今回なんとなく勢いで書いておくことにした。
ぶっちゃけると、私からすると「道具として以外のソフトウェアはもう勝手にやって欲しいかも」「別の道具と深く組み合わせたいかも」という感じに意識がシフトしている気がする。
Reactの最新バージョンに頭を悩ませるのも新しいMLパイプライン用の製品のバグに頭抱えるのもHogeSQL互換だけど挙動がピーキーな「スケール」するDBの値段にウンウン唸るのも何か本筋に見えないわけよ。B2Cで世界規模の課題(私はもう興味がない領域)でなければ、もう他のコンパクトな製品で出来てるでしょ、みたいな白けがある。世界一の計算機、というのも、うーんnv◯diaの暴走を止めてよ、と思っちゃう。
目下、数学と統計と会計と経営とで頭の領域を占めたい部分があって、そこにはソフトウェア「で」良くする領域が山程あるし、先日チラ見した「業種別審査辞典」に出てくるような各種の業界をソフトウェア「で」良くする方が何か面白そうなんよ。数百万でちっこい会社買収してニョキニョキするほうがなんか面白そうなんよ(無限に面倒くさそうなのでMBTIのI傾向がものすごい私は多分やらないけど)
思っていることが実は老人の喚きなのでは……なんていう恐ろしさはやっぱりあって、なんとか電子のお店にゾンビのように通ってると「これってある種のフレイルじゃねぇかな」とか思わないでもないんだけど、とりあえずはまぁ盛り上がる領域が変わった、ということで書くだけ書いておく。
そしてArduino(って抽象)を成立させたのすごいよなぁ、とかどうでも良いことを思う。すごいことは見えづらい。