ニッチな領域に勝機あり!人生をメールサーバに捧げたエンジニアの生存戦略

京都発の技術が東京、どころか世界に羽ばたいています。メールという一見レガシーにも感じられるジャンルで存在感を発揮する、京都のエンジニアの生き方から、技術者としての生存戦略が見えました。

ニッチな領域に勝機あり!人生をメールサーバに捧げたエンジニアの生存戦略

 「電子メールのエンジニアになる」——その一言にどのような印象を持つでしょうか。いまさら? もはやロストテクノロジーじゃないの?

 しかし、Webサイトやサービスの登録に必要なのは、いまだにメールアドレスです。メールはレガシーと思われつつも、なくてはならない仕組みのひとつ。そのメールにこだわり、「自分のエンジニアキャリアにおいてメールは“人生”」と言い切るエンジニアが、京都にいます。キュービックルートでSisimaiを開発した東邦之(あずま・くにゆき/@azumakuniyukiさんです。

 東さんはモダンな手法、モダンな人とのつながり方で、いまだに残るメールの困りごとをたくみに解決するエンジニアであるだけでなく、“京都”という土地にこだわりエンジニアとしてのキャリアを築いています。

 お父様の「誰もやっていないようなことを選べ」という言葉にインスパイアされ、やがて開発したバウンスメール解析のオープンソースソフトウェア「Sisimai」は、名だたるIT企業に採用されています。京都で働くエンジニア、東さんの生き方は、地方に根を張るエンジニアにとっての“生存戦略”を考える上での示唆に満ちています。

メールにこだわるという「生存戦略」

──今はどのようなお仕事をされているのでしょうか。

 現在、京都にて「キュービックルート」という会社を運営しています。主にインフラと呼ばれるエリアと、その周辺分野がメインですね。

 ただ、インフラ作りだけでは、他の企業との差別化ができず、生き残れないと考えています。自分が生きていく上でも開発能力がないとアカンやろうと。そう考えて手を動かして、PerlとRubyを使ったバウンスメール解析ライブラリ「bounceHammer(バウンスハンマー/現在、製品ライフサイクル終了)」と、その後継の「Sisimai(シシマイ)」を開発しました。

 実はずっとプログラムを書くのは苦手でしたが、父親が「お前な、コンピューター使ってるならプログラムぐらい書けなアカンぞ」とよく言っていまして。

1

東 邦之さん/株式会社キュービックルート・Sisimai開発者

──かなり進歩的な考えを持ったお父様なのですね。

 「書けるようになったら、ワシの会社の業務システムも何とかしてくれな」と。多分それが目的だったのでしょうが(笑)。

 bounceHammarを開発したのは20代のころ、ちょうど大学院を辞めたあとくらいです。当時はまだITバブルが始まる直前だったこともあり、CGI設定やDNS、メールサーバー設定など、インフラ寄りの仕事のニーズもありました。そのころはインフラの整備が面白いと感じつつも、同時に「プログラムもできないと生き残れない」と本気で考えるようになりました。

 当時従事していた企業では、電子メール配信システムの設計などをしていたのですが、お客さまから「開発できないの?」と聞かれることも多かったんです。  

 周りのプログラマを見ているとプログラムをガンガン書いていて、定期的に機能追加したりメンテしたりという行為が「プロダクトを育てている」ように見えたんです。自分も“自分のプロダクト”を、自分の手で育てられれば楽しそうだな、と感じました。そこで、ちゃんとPerlを勉強して、自分の手で何かを作ろうと思い立ったんです。

──その時、開発言語としてPerlを選んだ理由はなんでしょうか?

 選んだ理由は「サーバーに最初から入っているから」です(笑)。わざわざプログラミングするのに、言語環境を構築せなアカンのは面倒じゃないですか。さっと書いて、さっと動く言語はないかと調べたらやっぱりPerl。それ以前からインフラを整備するとき、サーバーの中でなにかインストールし、手を入れるときは大体Perlを使っていました。Perlなら多少の読み書き程度はできたので、一番学習コストが低いと思いました。

──プログラマとしてのキャリアは、メール配信に関する部分から始まったのですね。

 今の会社は4社目なのですが、社会人になって入った会社でなぜかメールサーバー担当になることが多かったのです。当時はPostfixもなく、Sendmailの面倒を見ることが多かったですね。

 2社目、3社目でもメールサーバーの担当で、コンテンツプロバイダをやっているような会社でした。無料のホームページ作成とか、メールマガジン配信とか。そこにインフラ担当として入社したのですが、そこで配信しているメールの量が大量で、かなり遅延が発生していたんです。遅延メールをほったらかしにすると、配信が終わらないわけです。担当の方に問い合わせると「たまってたら捨てといてー」と、けっこうめちゃくちゃな解消方法でした(笑)。

 で、メールの配信担当になって、運営の部署からは「メール送れてないよ!」と言われるわけです。メールキューを見ると5万通くらいたまっている。最初はそれでもよかったんですが「なんとか全部配信してくれ」という業務オーダーが来ます。

 そこで、そもそもなぜ遅延するのかを突き詰めてみました。すると、あて先不明で帰ってくるメールが多いことが分かるんです。会員数が50万あったとして、20万件があて先不明で返ってきている。そこで存在するアドレス、存在しないアドレスを判定するのに、まずPerlで整理するメンテナンスのスクリプトを書きました。

 でも、メールアドレスの情報は日々変更され、増減があります。都度整理するのではなく、恒常的に、配信ごとに送信の可否を管理できないとまずいわけです。そこで、バウンスメール(エラーメール)の解析スクリプトを作りました。当時はガラケー宛てのメールに対するもので、ドメイン指定拒否ではじかれているものは「User Unknown」だから以後送信しないというようにするわけです。

2

Sisimaiの公式サイトではメールがバウンスされる理由を27種類に分類している。
画像出典:キュービックルート

 すると、運営から「はじいたメールアドレスから問い合わせのメールが来てる」と詰め寄られるんです。「メールが来てるからメールアドレスが存在している!」と。しかし、そんなん言われても、当時の僕にはわからへん(苦笑)。

 よくよく調べてみると、ドメイン指定拒否で返ってくるメールと、そもそもアドレスが存在しないで返ってくるメールのエラーメッセージを比較すると、ほんの少し違ったりするんです。それでNTTドコモ、au、ボーダフォン(現ソフトバンクモバイル)の3キャリアから返ってくるバウンスメールを解析して、少なくともドメイン指定拒否か存在しないアドレスかは判定できるようになりました。ドメイン指定拒否は2~3回送ってもいい、あて先不明ははじくという処理を入れたら、なんとか遅延なく送れるようになったわけです。これが、いまの「Sisimai」の原点かもしれません。

──かなり泥臭い対処方法だったのですね。

 当時は全く情報がない上に、キャリアに問い合わせても教えてくれなかったのです。自分のケータイ、会社のケータイを並べて、会社保有のドメインや個人で持っているドメインのメールアドレスを数種類用意して、各ケータイごとにこれは拒否、これは受信といった具合に設定し、メールを送ってどんなエラーが起きるかを調べてたんです。キャリア各社の傾向をつかんでパターン化してしました。その解析をすぐに実装して動くPerlで書いて。今見れば、モダンな仕組みは一切使わない、古くさい実装だったかもしれません。

 当時はケータイ向けの高速配信サーバーみたいなソリューションはありましたが、こういうバウンスメール解析のソリューションはなかったように思います。当時、配信量増加への対策として、会社が1千万円くらいの高速配信サーバーを追加で入れるというようなことも考えていたようです。その代わり、自分が余っているマシンをメールサーバーにして、商用製品には勝てないながら30万通/時くらいの配信サーバーを作りました。Sendmailを60個くらい立ち上げて、IPアドレス64個くらい付けて、遅延したら別IPに割り振るような仕組みも入れて。頑張って作ったんだから1千万とはいわないまでも、高速配信サーバーの半分、500万円くらいボーナスくれないかなと思いながら(笑)。

──お話をお伺いすると、まさにメールサーバーに命をかけていますね。

 これまでのエンジニアの半生は、ほぼ「メールの人生」でした。得意分野は何?と聞かれたら、多分「電子メール」と答えます。

 これも父親の言葉ですが「みんながやってることやるよりも、誰もやってへんことをやれ」と。メールはWebやDBのように華やかな世界ではない。誰もやってないわけじゃないけど、絶対数が少ないのがメールの世界です。この経験が活かせるうちに、プロダクトにできないか?と考えるようになりました。

経験をカタチに──“bounceHammar”の誕生秘話

——その後、自分の会社を作ったのですね。

 2008年に、「キュービックルート」を立ち上げます。当初はインフラ業務だけでなく、受託開発もやりますというスタイルでしたが、「看板商品」がないと目立つことができません。小さい会社が生き残るためには主たるなにかが必要でした。その時、最近までやっていた「メール」で勝負するということを考えたんです。

 加えて、誰も作ってないもの、正確には「誰もオープンソースで公開していないもの」を作って、それを看板にしようと思っていました。解析精度の高いバウンスメールの処理ソフト「bounceHammar」です。

3

最初期のプロダクトであるbounceHammar。
残念ながら、現在は製品ライフサイクルを終了している。
画像出典:キュービックルート

── “電子メール”というと徐々にレガシー化している分野に感じられます。レガシーを“看板商品”にするということにリスクを感じませんでしたか?

 “電子メール”を本気で扱っているところは、自分が調べた範囲では他に比べ圧倒的に少なかったのです。一方、Web、DBは競合がいっぱいいます。

 Webで何らかのサービス、ソリューションに作り上げるより、得意な「メール」という分野ならば、短時間で、何かしらの形にはなるだろうと判断しました。それで形にならなかったら、他の方向を探そう、まずは手を動かそう、と。深くできることを、スピーディにやることが大事だと考えたのです。

──起業直後だからこそ、早い段階で看板商品が必要だったのですね。

 起業といっても、社員数3人の会社ですが(笑)。bounceHammarを作るにあたり、他のツールを見てもドメイン指定拒否とあて先不明が判別できないものが多く、それが致命的な課題であると思いました。ここが見分けられないと、使い物にならへんな、と。当時はケータイメールの配信のニーズもまだ高く、おそらく需要もが多いだろうと踏んだのです。もしかしたら、この判別機能を最初に実装したのは私かもしれませんね。えらそうに聞こえますが(笑)。

──実際に、bounceHammarのようなソフトの需要はあったのでしょうか。

 bounceHammarの公式サイトに、マニュアルとしてその判別方法の記事を書いていますが、いまだにそのページが一番読まれています。2017年のいまでも、ケータイ宛のバウンスメールの見分け方の記事が読まれているのですから、いまだに困っているひとが多いのでしょう。

技術的な面での生存戦略——オープンにせよ。話はそれからだ

4

——bounceHammarを製作するにあたり、どのようなインプットを行ったのですか。

エンジニアHubに会員登録すると
続きをお読みいただけます(無料)。
登録のメリット
  • すべての過去記事を読める
  • 過去のウェビナー動画を
    視聴できる
  • 企業やエージェントから
    スカウトが届く