自動化に取りつかれて
最近、以前に手がけた仕事をいくつか見せてほしいと言われました。自分のこれまでを振り返り、うまく成し遂げてきたことについて考えてみると、自分は間違いなく、やるべきことに取り組んできたのだとはっきりわかりました。最初からずっと、自動化は私の情熱だったのです。
プログラミングを始めたのは、Neopetsで不正をしたかったからです。毎日Neopetsをプレイしていましたが、同じことを何時間も繰り返して、毎回もらえるのは同じようなわずかなNeopoints(Neopets内で使われる仮想通貨)だけという状況にうんざりしていました。そこで、これらの作業を自分の代わりにやってくれるプログラムを書くために、Visual Basicを学びました。うまくいき、やがて人間が何もしなくても、わずかなNeopointsを稼げるようになりました。
さらに自動化できることを探すうちに、コンピューターは人間よりはるかに効率よく作業できるため、それまで存在しなかった機会を切り開けるのだと気づきました。やがて、ネオピアの市場で裁定取引を行い、1時間に何百万ものNeopointsを生み出せるようになりました。1時間に数千Neopoints稼げれば大したものですから、仮想世界ではかなりうまくやっていたわけです。この頃には、Neopetsそのものにはもうあまり興味がありませんでした。自動化が私の中に根付き、どこまで押し進められるのかを試していただけなのです。
Neopetsに飽きると、今度は自動化によって現実のお金を稼げるかどうかに関心が移りました。広告のクリックを偽装するWindowsアプリケーションを書いたり、現金を稼げるオンラインゲームをプレイしたりしました。これはかなりもうかりましたが、両親のもとに法的な通知が届き、私の人生のこの段階はすぐに終わりました。結果はよくありませんでしたが、それまで手作業で行っていたことを、コンピューターに自分の代わりにやらせるのが大好きでした。
大学に入り、登録システムの技術設計がひどかったため、取りたい授業の組み合わせを確保するのが非常に難しいことに気づきました。そこで、満員の授業に空きが出たことを検知し、テキストメッセージで知らせてくれる自動履修登録ソフトウェアを開発しました。友人たちが満員の授業に入れることを願って、毎日何時間も授業の空き状況を更新している間、私はただメッセージを待っていればよかったのです。そして、私は必ず授業に入れました。人間がブラウザーを更新し続けても、1時間に何千回も確認する私のソフトウェアには勝てないからです。自動化の勝利です。
そして大学3年生のとき、Vagrantを作りました。仮想マシンの実際の作成と制御を自動化できるというアイデアに、言葉では説明できないほど強く心を動かされました。そのアイデアが浮かんだ瞬間、私は取りつかれました。何ができるのか、どこまで限界を押し広げられるのか、どんな機会が存在するのかを確かめずにはいられませんでした。Vagrantの成功は、この分野の自動化が多くの人々の仕事を大幅に改善したことの証明です。
大学卒業後は、Kiipで2年間働きました。Kiipでは、インフラ全体を自動化しました。あるとき、誤って本番クラスター全体から自分を締め出してしまったこともあります(しまった、二度と同じ間違いはしませんでした)。本番クラスター全体をゼロから30分足らずで再構築し、利用者が気づくようなダウンタイムなしで新しいクラスターに切り替えました。本番クラスターは50台を超えるマシンで構成されていました。自動化への執着は、同じことを2回やらなければならないなら、その作業を自分の代わりにやるプログラムを書く、というところまで達していました。
最近、HashiCorpを立ち上げました。私が今何をしているのかはまだ公にはっきりしていませんし、取り組んでいることをすべて話せる段階でもありません。しかし、ひとつだけ確かなことがあります。私は自動化に忙しく取り組んでいます。より具体的に言えば、あらゆることを自動化するソフトウェアを開発し、それをあなたに提供しようとしているのです。
驚くことではありません。自動化こそが私という人間を形作っており、それは昔から変わらないのです。
記事をランダムに読む