俺の海外スタートアップのCTOの2週間

1/12に突然スタートアップのCTOになった。まあいろいろやったのでその辺を書いておく。

最初にチームとなるメンバーと会ったのは、荒川智則個展の準備をしている途中、チャットで「iPhoneアプリの開発出来るひとで、シリコンバレーのこれから立ち上げるベンチャー企業のCTOになりたい人いませんか?」と書き込んでるのを見た。俺は夢のある話だなーと思いつつ、適当に話をしていたら、個人チャットで「本人と話してみますか」と言われたので、いいですねと答えた。その10分後にメールが来た。何度かメールをやり取りしていたら、どうやら荒川智則個展から50mくらいの場所にいたみたいなので、「5分後に東急ハンズの前で」ということになった。

会ってみて、いろいろ話してみたら、以前いろいろ関心を持っていた位置情報系サービスのようだ。これは面白そうだが、iPhoneAndroid、サーバーサイドまでわかる人間が必要らしい。俺は一応全部を触ってはいるが、iPhoneOpenCVのラッパーをどっかから持って来て完全にC+OpenCVで作っていたし、AndroidARアプリしか作ったことがない。Webは手嶋屋でOpenPNE3の面倒を見ていたのでどうにかなるだろう。何より俺はコンピュータサイエンスではなく、文化科学の人間だ。全体的にほぼ知識はゼロだが、プロトタイプくらいは作れるんじゃないかという印象だった。

次のディスカッションで、俺はこのプロジェクトに明らかに能力不足であることを確信した。1月の最後にはベンチャーキャピタルなどに見せまくるらしい。しかもその相手は相当に偉い。これは、作るものがプロトタイプではないことを意味する。人に見せる場合、評価に使うざっとしたものでは、エラーなどが起きたときに技術力の不足を指摘される。ユーザー数などのスケールの問題はないが、実質的にプロダクションレベルが求められていると言ってもいい。iPhoneのエキスパートならいいが、ほぼ知識ゼロの俺が31日までに作るのは不可能と言ってもいい。しかも、それを修論の執筆、推敲と平行して行わなければならない。だいたい与えられた期限は必要な期限の1/3と言ってもいい。また、彼らが言う「エンジニア」は恐らくスタンフォードコンピュータサイエンスの院卒程度を指すことがわかってきた。

しかし、このプロジェクトは魅力的だった。まず海外の働き方をできること。これは俺が願っていたことだった。またこのプロジェクトはiPhoneの半分以上の機能を使う。途中で投げ出したとしても、だいたいのアプリは作れるようになるだろう。実際、作っている間に新しいアプリのアイデアが3つくらい浮かんで来た。とりあえず「1月中にやります」と返答した。前のエンジニアは速攻でクビになったようだし、俺も能力不足でクビになるまでやろう。得るものは多い。

俺の眠れない夜が始まった。とりあえず、全てを最速で行うために、現金を20万円おろした。基本的な方針としては

  • とにかくユーザーが一連の行動を最初から最後までできる1本の線を作る
  • 俺が途中で投げ出しても次の人が簡単に作業を始められるように、全体設計を固めておく
  • どの技術が時間がかからなくてどれが時間がかかるかを見定める

という感じだ。最初のうちは修論にほぼ専念していたが、修論を出した後、徹夜5日目でディスカッションに望んだ。既にヘロヘロで、俺も向こうも俺が言っていることがまったくわからなかった。まあ1日倒れて、その次の日から実装に望んだ。

とりあえずiPhoneの基礎知識を、ちゃんとした知識として固めておくことから始めた。入門書は何冊も読んだし、スタンフォードの講座iPhone Application Developmentは簡潔に正確な知識を教えてくれた。その後、各機能の実装を始めた。何を作ったかは前の日記を参照のこと。これらは、ネットに多くのサンプルや記事があるので、割と速く学ぶことができた。

とりあえず本線に載せないでこれらの機能を試験し、次のディスカッションでデモを行った。「こういう技術を学んだ。だから次はこの機能を実装できる」と言った。その後恵比寿で飲んで、渋家に寄った。

さて、ここからは簡単だと思いきや、まったく先が見えないものになってしまった。各機能は、具体的なアウトプットを持たなければならない。それに、以下のような技術的難関が立ちはだかった。

  • 地図にピンを付けられないぞ!UIKitには標準的なピンがあるのに、ネットのどの記事を見ても最初からカスタムピンを作ろうとしてる。というか標準のピンが全然使われてない。まじわけわかんねえぞ!
  • え、プロトタイプの段階で既存のSNSにインテグレートして、iPhoneと通信できないといけないの?その機能だと前2週間かかったぞ!だいたいOpenPNE3のプラグインAPIを実装する資料なんてないし。
  • というか、iPhoneアプリの全体設計って人それぞれで答えがないんだな。何度も再設計が必要になる。

それに加えて、修士論文の推敲の期限が27日に迫って来た。とりあえずアプリの目処を立ててから推敲して、12時からオフにして寝よう。しかし、アプリの目処は午前9時になっても立たなかった。その辺から意識が朦朧になって、起きたときには病院にいた。家に帰ったが、手も頭もうまく動かなかったので、ハンズフリーで通話をした。次の日はコードを書く頭がなかったので、デザイナー向けに資料を作った。

さて、30日が来た。昼に起きた。残った機能はSNS全体と、カメラ機能。はっきり言って今までのことを考えたら実装は可能だ。近所の割と美人が1日だけバーをやるというので、終わったらそこに行こう。

実装をして、バグが取れない状態で夕方にディスカッション。その後バグ取り。手嶋屋で何度も引っかかった部分だった。何で気づかなかったのかわからない。その後API部分を作った。ドキュメントがないから完全に手探り。経っていく時間。午前0時を回った。iPhoneAPIの通信が成功した。アプリを起動してから完了までの映像を撮影し、送った。午前3時だった。

例のバーは既に閉まっていた。俺は別のバーに行った。来たときから顔や目が完全に三角で、怒りのオーラが見えたらしい。「中途半端に酔ったら覚めたときに仕事を始める。酔いつぶれないとだめなんだよ」と言いながらウイスキーをストレートで何杯も飲んだ。俺は泣いていた。泣きながらチャットで「そろそろ本音を話そう、俺に無理をするなと言うが、このスケジュールが凄まじい負担になることは確かだろう」などの悪態をつきまくった。朝起きたらディスカッションが始まった。俺は恐らく30日までに十分なものを作ったんだろう。このプロジェクトは続くのだ。

まあこんな感じだけど、やる気と機会があったら飛び込めばいかがか。