学部と大学院合わせて6年間を日吉と矢上で過ごしました。大学院に居た、というよりは大学4年から修士2年までは研究室に居たというほうが事実を的確に表しているかもしれません。研究室メンバーに恵まれ、良い環境で研究をすることができました。修士2年になってからは研究と並行して、trippieceの事業をはじめとして、外に出て何かしらのプロジェクトを行う日が続きました。そんなときでも、研究室に戻ればいつでも気のおけない研究室メンバーがいてくれたことは、いつも僕の心の支えでした。そして研究を通して、僕はWebについて複数の側面から触れることが出来ました。研究のメインは3年間を通してセマンティックWeb、そして去年1年間はLinked Dataに特化して研究を行いました。学問と実践の両方で経験を積めたことは、今の僕の考えや行動の指針に大きな影響を与えています。3年間指導してくださった先生と、一緒に研究してきたメンバーには本当に感謝しています。
研究で得た知識は、気がつけば実践で活きていました。そして実践で得た知識もまた、研究に活きていました。
もう一つ区切りがあります。以前から何回か触れていましたが、trippieceの事業から僕は身を引きます。何人かの方からtrippieceに残らないのかと聞かれることも多かったので、ここでご報告させてください。
自分が作り始めた、大好きなサービス・大好きなメンバーと離れることは正直辛いものです。trippieceを始めてから約1年が経ちました。始めた最初の頃は何一つ形のなかったサービスを作りました。実は最初は僕自身、自分の作っているサービスが本当に価値を生み出せるものなのかわかりませんでした。今思うとその当時は、必死にコードを書きましたが、ものづくりに没頭しているとは言えない状態でした。最初の半年間は、そういう齟齬との戦いでした。最初はスタートアップを始めたというだけで注目されるものですが、メンバーのプレッシャーは日々高まり、チームとして結果を出すことへの焦燥感と義務感が混じり合ったような気持ちを共有しているような状態でした。
半年経って、僕らはしっかりと話し合いをし、初めて自分たちの作るべきプロダクトの像を掴みました。そしてその4カ月後、フルリニューアルを行いました。今年の1月のことでした。コードベースも全面的にブラッシュアップしました。やっと自分たちが思っているプロダクトの原型を作ることができたと思っています。
フルリニューアル以降の僕のtrippieceでの仕事は、trippieceの開発基盤を徹底的に整えることでした。次の大きな機能を入れるまでに、素早く仕事を行うことのできる環境を作ることを自分自身の仕事にしました。最近の仕事は以下のようなものです。
- コードのリファクタリング
- アプリケーションリファレンスの作成
- 開発用チュートリアル(機能追加、バージョン管理)
- データベースマイグレーションの追加
- コアコントローラの再設計・再実装
- サーバ設定に関するドキュメント執筆
- 日々追加されるコードのレビュー
- ユーザ行動の分析
- 毎日、リリース
自分でコードを書く時間は徐々に減っていき、人に伝え、メンバーが仕事をしやすくするために費やす時間が増えていきました。コードベースの保守性も高まり、ある程度の機能であれば僕自身が実装しなくても仕事が進むようになりました。先日のUI変更は僕はまったくコードを触りませんでした。
こうしてプロダクトの運用を続けていく中で、毎日気づきがたくさんありました。
自分の作っているものに魅力を100%感じられないと、結果を生み出すことのできないプロダクトを産み出してしまうものなのかもしれません。コードを書くという行為はエンジニアの仕事ですが、それは時として逃げの手段にもなりかねます。納得していないものを作る、無駄なものを作っている、作業をしているフリをする。コードを書くことで自分の責任から逃げることができるのも、またエンジニアなのではないかと思います。そして全ては結果となって自分に返ってきます。現実を直視し、ユーザの課題に対して最大限効果的な施策を、最小限の機能で実現すること。この繰り返しが、1年を通しての僕の基本でした。
スタートアップにおけるエンジニアの役割は、エンジニアリングに関すること全てです。しかし、限られた時間で機能を追加し続けていく中で、僕自身のエンジニアリングは視野を広げる余裕を持つことができなくなってきました。trippieceでは毎日最低1回、何かしらの変更をリリースしていました。trippieceではある時期から、毎日アプリケーションを変更することを日課にしていました。ユーザにとって何も変更されていないように見える部分でも、1つ1つのコードの質を上げ、良くしていくことに専念していました。コーディングについてはそれで良かったのですが、オペレーションに関して僕は未熟でした。ミドルウェアについての知識がなく、毎回手探り状態でした。今はAmazon EC2に救われていますが、コーディング以外の面で僕は攻めのエンジニアリングをできなくなっていました。
ユーザの課題を解決するために、施策を行うこと。これをロジカルに落とし込み僕の得意とするところです。概してエンジニアというのは、時間をムダにすることを嫌います。僕もその例に漏れず、極めて仕事の時間感覚については厳しくなっていました。いわゆるビジネスサイドのポジションについている人というのは大局的で理想的な話にフォーカスしがちですが、僕達のようなWebサービスの運営者は、プロダクトそのものを通してしか、ユーザに自分たちの考えを伝えることはできません。その厳しさを味わった1年間でもありました。
たくさんメンバーと話をして、機能を作っては消し、そしてまた作り変えるということを続け、走り続けた1年間でした。この経験は今こうして言葉にしてみても、実際に携わってみないと伝わらないことがたくさんあるように感じています。
最後に。僕はスタートアップが好きです。ものを作ることが、やはり好きです。どれだけコンセプトの話し合いに時間を費やそうとも、コードを書く時間が減ろうとも、チームでプロダクトを作ることはそれ以上にたくさんのことを教えてくれました。
trippieceメンバーのみんな、お世話になりました。どうもありがとう。