見出し画像

昔出会ったスーパープログラマの話

私は28歳のとき、ある通信事業者の子会社で、SE/プログラマとして働いていました。

上司からの頼まれ事

ある日、呼び出され会議室に行くと、上司が非常に困った顔をしていました。親会社からの依頼(指示)で、難しい仕事を難しい納期で受けてしまった、ということ。「ごめん」と謝られました。。。

当時、電子書籍のはやり的な仕事をしていて(25年前なので、そう思うと時代に対して早すぎたのかも。早すぎたので、商品化は失敗。電子書籍の国内先駆者voyagerを追い越せと躍起になっていた時代)その編集・閲覧ソフトウェアの開発をしていた。親会社の方が某展示会にてそのソフトウェアを大々的に打ち出すために、展示会に参加する企業ホームページや商品ホームページを、その電子書籍ソフトウェアで閲覧できるようにするということを決めて来てしまって、その”しわ寄せ”が私に来たわけです。そのソフトウェアを作っていたのは自分のチームだったので、私のチームでしかできない仕事で、間に挟まれた上司は非常に困ったわけです。

むちゃくちゃな納期


ソフトウェア開発がしたことがある人であればわかるとおもいますが、企業のホームページや商品ホームページはHTMLという言語で書かれていて、その言語を、私が開発していた電子書籍で見られるように変換する(PARSEする)仕組みが必要になります。単純にいえば、HTMLブラウザー(IEやChrome)を作るという仕事と大差ないわけですが、悩ませたのは開発期間。某展示会の開催日が一ヶ月後なので、納期が自動的に一ヶ月後(に稼働しなければならない)に決まっていて、恐ろしいほどの期間が短い。普通一ヶ月でHTMLブラウザーなんて作れるとおもいます??。それも作るだけじゃなくて、サービスとしての稼働が一ヶ月後。ありえない。。

最初は「作れるわけない」と上司に(かなり強く強引に怒りに近い感じで)拒んだのですが、親会社からの(命令に近い)仕事であり、更に展示会開催日が決まっているので納期が決まっているということでスケジュールも動かせない。唯一上司からは「予算はいくら使ってもいいから」というお金の制約だけ開放してくれる許しをもらえました。

自分もエンジニア・プログラマの端くれだったので、受けてしまった仕事の難しさはよく理解していました。そして、自分のチームではこの仕事を達成することは無理という結論を導くのにも数秒もかかりませんでした。ということは、外に助けを乞うしかなく、それまで取引のあった開発パートナーの会社に端から声をかけましたが、ほとんどの会社は「そりゃ無理でしょ」と、端から話も聞いてくれません。

一筋の光明


そんな中、一社だけ懇意にしていた会社の社長より、「うちの会社のエンジニアでは無理だけど、一人だけすごいプログラマがいて紹介できるけど、その人ならできるかも」という話を聞きました。この時点で、出来上がる可能性はなかったので、藁にもすがる思いでその方を紹介してもらいお会いすることに

来ていただきプロジェクトの内容と背景を説明すると、その方に

「(長い説明は不要なので)、すぐに現行のソースコードを見せてください」

といわれ、それまで開発していた電子書籍システムのプログラムをみてもらうことに。
C言語で30000step超あるソースコードをその方はサラサラと読み、30分後に

「多分できると思います」

と、今も画像で鮮明に覚えている言葉をもらえました。ポインターをバリバリ使った元のソースで、メモリ使用量を抑えるためにunionも多様されているコードだったので、普通の人には難読コードだったはずなので、本当にびっくりしました。

ただ、

「私高いです。300万円/月ですがいいですか」

といわたのですが、上司から「予算考えなくて良い」という許可をもらっていたので、その場で仕事を依頼しました。

とんでもない人だった


その方には、電子書籍システムのプログラミングをしてもらい、私は作成されたコードをコンパイル、デバッグ、デプロイ、サービステストをする、という役割分担。納期が短いので設計書は書かない、仕様はメールでのやり取り。ソースコードもメールでのやり取り。

概ねの変換仕様と、それを全体的なサービスとして動くための仕様を伝えたぐらいなので、ちゃんと出来上がるか日々悶々と心配していたのですが、二週間ぐらいほぼ音沙汰なし。生存確認ができているレベルのやり取りだけ。。本当にドキドキしていました。

二週間後。初めてのソースコードが送られてきました。その時点では全く期待してないく、簡単なHTMLが変換できればいいか、ぐらいで構えていました。コンパイルし実行モジュールをサーバに上げサービスの環境を作り、某社の製品ホームページを変換し、電子書籍で開いたときの感動は今でも忘れません。ほぼHTMLブラウザー(IE)で見たときと同じようなレイアウトで、電子書籍で閲覧できるようになっていたのです。期待値10%ぐらいだったのですが、その時点で80%ぐらいの出来ばえ。本当にびっくりしました。
そして、改めてソースコードを見たのですが、設計書なんて不要なぐらい美しいソースコードで、スルスルと読めます。30000ステップあった元のソースコードは私は読むのを苦労したのですが、その人が書いてくれた部分は、小説でも読んでいるかのように、一行一行の役割や処理がわかりやすく書かれていました。

当時のHTMLは、まだver3.0の頃で、更にWindows95から始まったIE(Internet Explorer)のせいで標準HTMLではなく亜流のHTMLがほとんどで、残り2週間はIEで表示されるけど、電子書籍では表示されないホームページを端から潰していき改修を重ねるという時間になりました。

結果的に

そうして、結果的に一ヶ月後展示会の発表に間に合い、お客様の顔に泥を塗ることもなく、展示会期間においても大きなトラブルなく過ごすことができました。

本当に出来上がるとは思っていなかったので、救われた気持ちでしたが、実はその気持の裏で複雑な気持ちも芽生えていました。なぜなら、プログラマーの端くれとして仕事をしていた自分が、本当に実力のある人の力(スーパープログラマという存在)をまざまざと見せつけられてしまった、ということ。自分の実力の無さを痛感したということ。エンジニアの実力として富士山ぐらいのところにいるかな、とおもっていたのですが、実はまだ高尾山レベルにも成れていなく、世の中にはエベレストクラスがいるということをその時初めて認識しました。

なので、「無理!とおもった(判断した)仕事を、一度は諦めかけたのですが、結果的にはやり抜く方法を見つけやりきった、という美しい話」ではなく、この話の真意・真相としては、私がプログラマで生きていくことを諦めたきっかけがこの出来事だったのですが、その話の詳細は後日。

この記事が気に入ったらサポートをしてみませんか?