私のガラパゴス体験

今をさかのぼること十数年前。私は主に金融機関のお客様の仕事を行う部署におり、当時黎明期であったJavaやWebについて大いに関心を持ち始めていたころのことであります。

当時の標準的なブラウザといえばNetscape Communicator4.01とInternet Explorer3.02。いずれもJava VMを搭載し、誰しもAppletで画像やボタンをブラウザに張り付けて遊んでおりました。

あのころは「イントラネット」ビジネスが盛んで、それまでのVBによるクライアント・サーバーアプリを、Webアプリに置き換える案件が数多くあり、私もそのような案件に従事することになります。

今でこそHTML(と、CSSJavaScript)で、おおよそどのようなUI、UXも実現できますが、当時はJavaScriptなど画面にデコレーションを加えたり、サーバーにPostすることなく電卓を実現するくらいのものでした。

そのような状況で、当社はJava Applet活用した業務アプリ開発環境(「E-INTRA」といいました)を独自に開発することになります。売り文句は「通常のHTMLでは実現ができ ないリッチな業務画面が実現できますよ」です。AppletからFrameを起こし、そこにButtonをAddしたりして、VBっぽい画面遷移を実現するのであります。

とはいえ、このような売り文句は実は後からついてきたものであり、開発側としてはAppletで何かしてみたい!というモチベーションが強かったこ とは否定できません。一般向けに販売するものではありませんでしが、受託開発案件における生産性向上ツールとして、某メガバンク(当時はメガバンクという言葉はなかった気がしますが)における、「初の全47都道府県の支社に展開するイントラネットアプリ」を開発する機会にも恵まれ、エンジニアとしては燃える日々でした。

このE-INTRAについてもう少しだけ書かせてもらいますと、、

「開発者はJava言語を書かずにApplet+Frameによるアプリを開発可能。DBとも連携できるよ」というコンセプトであり、当初はユー ザー操作Eventの発火をビジュアルに接続するシンプルなものでした。ただ、時を得て実際の開発に投入されると「IfやWhileが欲しい」という要望 が出てくるにいたり、結局は「E言語」という言語が生まれ、しまいには「Java VM上で動作するインタープリタ言語」というごっついものになりました。

私はこのE言語の世界で一番の使い手であり、一番のユーザーとしてE-INTRAのプロダクトオーナー的な役割を担うことになりました。E- INTRAの開発チームに対し改善要求を投げ議論し、それをテストし実戦投入することを繰り返していたわけです。機能は洗練されつつどんどんふくらみ、しまいには「E言語からJavaのメソッドが呼べる」というよくわからないことに。

でも、当時はいいものを作った気分で高揚してたし、お客さんも喜んでくれました。(でも、今思えば、これってE-INTRAやAppletという技術に対してじゃなくて、私たちの実現したシステム全体のサービスレベルに対する評価なんですよね)

いまにして思えば、なんというガラパゴスです。イントラネットという比較的閉じたビジネス・技術領域で最適化を繰り返したため、特定のお客様の特定の環境(ブラウザやVM)にマッチする機能が生まれては消えました。当然ながら、E言語という完全に標準でないプログラミング言語に習熟した開発者を育ててもまったくつぶしは効きません。

と、冷静にふりかえればビジネスや技術の戦略的にはまったくの失敗でしょう。今は標準の技術に習熟した開発者を目指すべきだし、そのような開発者を育てて、彼らの力でビジネスし、逆に技術に恩返しできる組織でないとダメだと思う。

でもね、私は当時のことを今でもよい経験として思い出せるし、超ガラパゴスな言語や開発環境だったけど後悔はしてません。プロダクトオーナー的立場といいながら、技術的には開発環境や言語をどうやって作るか、というアーキテクチャ的な勉強にもなったし、実際のお客様の環境に適用するにあたっては、いろんなトラブルに出会うことで経験値詰めましたし。

そして何より、楽しかったなぁ。。

今回なんでこんなオチのない昔話をしたかといえば、長年弊社で一線のアークテクト・技術者として働き、私たち開発者から慕われたTさん(もちろん、 E-INTRAの生みの親)が先日定年退職されたからなのです。Tさん、お疲れ様でした。そして、育ててくださり、ありがとうございます。