既に、実年齢でいえば35歳などはとっくに過ぎている。ソフトウェア技術者の35歳定年説などということすら喧伝されていた日本という国でもあるが渦中のエンジニアとしてはソフトウェアエンジニアは年齢をHEXAすなわち16進で数えるということで得心していた。そんな年齢である0x35あるいは035Hという値を捉えていくとあと数年かという実感を伴いつつ次のステージを考えながらの人生として生きていきたいと感じてもいる。生活していくうえでの社会貢献という意味で組み込みソフトウェアの世界を築きながらマイコンの歴史と一緒にアプリケーションを渡り歩いてきた。日本の生きる道は加工貿易であると説かれて育ってきた小学校からの流れを遡って思い返してみると現在の状況は、日本という国は何を生業にしていると言えるのか疑問が多い。
実際に家電メーカーに就職してから飛び込んだ組み込みソフトという世界は、家電メーカーという枠にはまだ繋がらない時代に始まり、システム物と呼ばれていたものが、現在ではデジタル家電などと呼ばれる複雑怪奇なものにまで到達している。奉職当初は、漠然と思い描いていたソフトウェア開発というものが、徐々に仕事を通じて形成されていったと考える。ソフトウェア開発という仕事をしながら、ターゲットとなるシステムや端末の将来を描いているエンジニアもいれば、開発している流れの中に必要な様々な技術に思いを馳せたりするというタイプのエンジニアもいる。元来、メーカーが求めているソフトウェアエンジニアとは前者なのであろうと思うのだが、どちらかといえば後者に自分自身を位置付けながらも二十年あまり一つのメーカーで仕事をし続けられたのは、そのメーカーの懐の深さ以外の何者でもないだろう。
マイコンを動作させて期待の動作をするシステムを構築するというのが組み込みソフトウェア開発である。時には、複数のユニットを組み合わせてシステムを構築するものもあれば、一つでシステムを構築するものもある。当初は、前者をシステム物・後者を端末物といって区別をしていたように思う。とはいえ某メーカーの自動車電話端末には、三つのマイコンが搭載されてシステムを構成されていたというのは、家電メーカー故のユニークな感性からかも知れない。ソフトウェアで動作しようが、ハードウェアで動作しようが機能部品には違いがないのである。個々の機能が整理されていれば再利用性の高い部品としてソフトウェアが動作するように複数のマイコンに分解したとしても 分散処理はうまく機能するのだろう。超分散マイコンシステムとして構築された自動車電話交換システムなども、そうした会社のDNAを如実に示してきた記念碑的な仕事だったといえるだろう。
電話交換処理の基本ともいえる通話管理(TRUNK)をユニットに隠蔽して、実際のハンドオーバーなどの処理におうじて当該の無線ユニットを司るユニットに対して管理データとして通話オブジェクトをパケットとして飛ばしてしまうというものであったりもする世の中に類を見ないシステムでもあった。この会社のベンチャーとしての気風を強く反映したものであったし、このシステムを創世するために興したともいえるシステムエンジニアリング会社のパイオニア達の貴重な経験は何物にも換えがたいものであったはずだ。そうしたシステムの開発に着任した新任のエンジニアは、携帯電話ソフトウェア開発の中核リーダーとして会社を牽引していったし、システムエンジニアリングの会社も交換機システムから端末開発に主軸を移していった流れとなっていった。
私はといえば、いつも技術開発の切り込み隊長といった雰囲気の仕事をする流れをよしとして、この交換機システム開発では、自動車電話端末開発の後始末を引き受けていた。世の中にないコンセプトの電子交換システムを当時としては100名あまりのエンジニアチームを投入して開発していた異様なアグレッシブなベンチャー会社だったともいえるのだが、端末開発に充てられた人材はハードソフトの担当者二名と設計主体の外注二名だった。システム構築の過程で起こるドキュメンテーションの更新管理もままならないままに進められた創世期のソフトウェア開発事業としてはあまりにも大きすぎたのだろう。システム開発の機能追求とそれにともなう仕様変更の嵐のなかで端末開発の外注設計者は雲隠れしてしまった。心を病んでしまったというのが最近の表現に近いのかもしれない。
事業の浮沈を賭けて取り組んでいるシステム開発であったゆえに後始末といっても完遂させるための仕事に他ならなかった。システム動作も良く分からない自社開発の端末システム開発の資料とソースコードを紐解きながら、ないないづくしのリソースのハード環境での組み込みソフト開発に没頭したのは今考えるとソフトウェアエンジニアリングとはいいがたい仕事だったと思い返す。システム処理能力の算定も実機で検証するしかないような状況が当時の実情だったとはいえ、私自身は、普通のソフトウェア開発をこなすエンジニアとしての仕事をあまり経験することもなくいつも自分の手を動かしてシステム開発を一人で取り組んでいるスタイルになってしまった。そういう意味でのベンチャースタイルを具現している状況だったといえるかもしれない。しかし、当時の事業部には、そんなスタイルのエンジニアは他にも沢山いたのである。
仕上げていく上で必要なことは、ソースコードを理解しながら、システムを理解して、コードサイズを小さくしつつ、機能を網羅すべくコードを追加していくという仕事を性能検証を行いながら進めていくということだった。役に立ったのは、マイコンに特化したロジックアナライザであり、フルスクリーンエディタをベースとした開発環境だった。パンチカードとソースリストをベースにした開発環境からの革新が要求されたのは、そんなとんでもない状況からだった。しかし、革新自体はそうした要求に基づいて生まれるものでもある。誰かが良くしてくれるといった受身の姿勢では、ベンチャーとしての資格はないのである。会社に入社して五年余りでまとまり仕事として引き受けさせられた仕事はベンチャーとしてのその後の自分の人生を形成したエポックメーキングな体験だった。
端末開発からシステム開発の流れに移ったのは、先の体験で見聞きしていた大きなシステム開発をよりリーズナブルに構築出来ないかという野心からでもあった。マイコンベースの超分散志向のシステム開発の成功例としての電子交換機と同様なシステム開発に奉職したのは、その次の一年あまりだった。そんな脈絡が無いような仕事を次々と受注したりする、ベンチャー気質の当時の事業部の流れの中で本能的にやりたい環境に場所を選択して移動していたのかもしれない。中型コンピュータをベースに構築されている既存ユーザーのシステムをマイコンベースのシステム開発で作り上げるということには、先進の無線技術を供与してお客様に貢献するということがベースにあり、そうした流れの中でアプリケーション構築ということを通じて必要なシステム開発を進めてきたというのが当時の事情だった。
モトローラ系のマイコンは端末開発に適用されていたが、システム開発にはZILOGだった。Z80を駆使してリーズナブルシステム構築ということも念頭において電子交換機のアーキテクチャに範をとりつつ市販のGPIBのチップセットなどを使ってメッセージ交換をして分散システムを構築するアーキテクチャを実現して、そうしたシステムの雛形を構成するための技術開発に腐心した。具体的なメッセージングのドライバーを開発して各ボードに対してのベースデザインを提供するというのが当時の私のミッションだった。これを提供したあとは、システム開発の過程で起こるシステムデバッグをつぶしに掛かるサイクルを経て、世界初の無線データ伝送システムは、893な運送会社の中核システムとして納入されお客様のデータベース照会を電話ベースで行い、当該車両のプリンターに受注内容をメッセージ印刷するというコンセプトを83年に構築したのである。
地方のお客様を訪問してのシステム設置やテストなどの経験を積みながら開発と市場対応の両輪を回しつつ、自分のスタイルを確立しながら次の挑戦テーマに出会ったのは、また端末開発に戻るという流れだった。アセンブラーベースの開発に慣れきっていた中でシステム開発の効率化は大きな命題だった。当時の時代背景も後押しをして、開発にはUNIXをC言語をという動きを察知して技術トップが事業部のレベルで一億円の投資を行い導入したのがVAX11だった。4.1BSDを適用しながら始めた新たな開発環境に移るアグレッシブなエンジニアが居なくなっていたのは、自分が目指すスタイルの後継者が居ないという事実でもあった。そんなことに気遣うことよりもエンジニアとして新たなテーマとして開発環境を取り入れつつ、C言語を使いこなそうと没頭したのは28歳の新婚生活の状況でもあった。まったく新たな環境に公私共に取り組んでいたといえる。
結局のところ、使えるコンパイラは見つからなかったために、自らの手で流用できそうなコンパイラを改造しながら使えるようにするという選択を行った。いや行わせてもらった・・・と書くのが正しいだろう。当時の8ビットマイコンのコンパイラとしてはアセンブラエンジニアが書き出すコードサイズをC言語で作成できるようにという自らの目標を達成することが出来たと思い返している。このコンパイラの開発により、コードを書いてROMを書いて一発で動作させるようになるという流れを出来るようになったことを実感して、開発効率化達成の予感を覚えた。デバッガに頼ることなく製品開発が進められるというのは当時は、大きな革新だった。ベンチャー精神の成果として事業部の名前を冠したコンパイラは当時の家電メーカーの本体部門の標準化機構に登録することになったのは、後継者の探索へのメッセージでもあった。
コンパイラ開発で端末開発がさらに変容していき、開発環境そのものを製品化するという流れもある意味で実践することになり、開発したコンパイラをUNIXからMSDOSに移植するといったことも手がけて、限られたリソースの上での進化途上のMSDOSでのセルフコンパイラを利用して自身が必要とするクロスコンパイラを手に入れるために頭をひねった。上司に買ってもらった、UNIXのワークステーションは実務で利用していたものの、制限を課せられた課題としてのMSDOSでの移植作業という経験も楽しむことが出来た。こうしたことを行うのが組み込みソフトウェア開発の姿だと確信していた当時の自分自身の理解は、周囲や世の中を大きく誤解してきたことだったらしい。実際問題、自ら開発したコンパイラを適用して開発していた系列のソフトウェア会社のエンジニアと最近ひょんなことから食事をした際に彼はソフトウェア開発が大嫌いだったらしいという事実を聞き、当時私が理解を求めて発信していたメッセージを理解不能なものとして聞き流していたというのである。
そんな時代から20年あまりが経過して、そのエンジニア氏は取締役という肩書きで、今でもその系列会社で働かれている。組み込みソフトウェア開発に取り組まれているその会社でも、きっといろいろなタイプのエンジニアがいることだろう。私自身は、今でも組み込みソフトウェア開発の最前線で、日本と米国を行き来しながらお客様と開発エンジニアを繋ぎ、ビジネスを繋ぐということに意義を見出しつつ、また最先端の技術に触れ理解してフィードバックとしての自らの発案を開発しているエンジニアたちとの間でキャッチボールをすることで互いを切磋琢磨することに生きがいを見出している。16進数の0x35歳までは、まだ数年あるので、後継者育成にも軸足を移しつつもエンジニアとして頑張っていく事を第一にしたいと思っている。健康に留意しつつ、無理をせずに仕事に取り組んでいけるということに家族や仲間に感謝をしている。