2月末でKLab株式会社を退職しました。2010/09/01に入社したので3年半働いていたことになります。長いようであっという間でした。プロジェクトも5つほど関わり非常に楽しく働けました。ということで未来の自分に向けた思い出話を書いておきます。
Androidアプリの開発
まだ社内でAndroid/iOSアプリ開発が無い頃に取り組んだもので、入社して初めてのプロジェクトがこれでした。この時に@muo_jpさんと@teru_kusuさんに出会いました。東京に来て初めての会社でこの二人と働くことになったので「東京はこんなスーパーエンジニアばっかりなんか!?やべえええ!!!」ってなったのを覚えています。ということで、この二人を勝手に師匠と仰ぎ、二人を目指しながら働きました。業務や趣味プログラミングで覚えた技術を社内の勉強会で毎月のように発表したりもしました。
そんな感じでがむしゃらに働いたプロジェクトでした。最初のプロジェクトでこの二人と一緒に働けたことは僕にとってすごく運が良かったなと思います。ちなみにこの二人にはまだまだ追いつけないので、今でも困ったことがあればちょいちょい相談に行っています。
ngCoreアプリの開発
ngCore(DeNA社からリリースされていたAndroid/iOS/FlashをJSで開発できる技術)でゲームを開発するプロジェクトが2つ目でした。このプロジェクトではまたしても@muo_jpさんと一緒に働くことになり、今回も楽しく働けるなーと思ったりしてました。
ここでは僕はngCoreを使ってゲーム開発するためのフレームワークを開発していました。前プロジェクトでAndroidアプリの開発経験があったのでActivity/View/LayoutInflatorに相当するものをせっせと開発して、アプリ層を開発しているメンバーからフィードバックを受けて改修していくという感じでした(この頃からJSにどっぷり浸かるようになっていきました)。
フレームワークの開発が落ち着いてくると今度はYTK(匿名)さんと一緒に仕様の策定だったり、デザイナーさんとの調整だったり、メンバーのタスク管理だったりをするようになりました(みなさん、その節は色々とご迷惑をおかけしました)。
@muo_jpさんにこう言ってもらえたことは嬉しい思い出です。
今日までかなりスルーしてたクライアント用基盤コードをようやくちゃんと読んで、良く出来てると感心した。大変だったろうなぁ、もちろんまだ粗い箇所はあるんだけど実利用の中で解消していきそう。よく頑張ったナイス。若干学習向きじゃない部分は別途トレーニング対応してるしやっぱセンスいいな
サーバサイドの開発
次のプロジェクトではようやくサーバサイドの開発をすることになりました。このプロジェクトには中盤以降に参加したんですが、メンバーが社内トップレベルの人達ばかりで構成されているプロジェクトでした。
中でも@haltさん@ttsuruokaさんの二人が中心となってGit/GitHubでのPullRequest開発を導入しており、その後は社内の標準的な開発手法へとなっていきました。自分の書いたコードをレビューされたり、人のコードをレビューしたり、ペアプロ(ならぬグループプログラミング)など毎日非常に面白かったです。RDBMS(MySQL)も業務で触ったのもこのプロジェクトが初めてでした。Indexの仕組みなどを自分なりに考察(なぜBTreeがIndexに使われているのか)してサーバサイドも面白いなと感じました。
プロジェクトとは関係ないですが、@haltさんがとあるチャット部屋でこんなことをつぶやいていました。
「世の中に不満があるなら自分を変えろ。それが嫌なら耳と目を閉じ、 口をつぐんで孤独に暮らせ。」
(元ネタはググって)
僕はこの言葉がすごく気に入っています。この言葉を知ってからは「愚痴だけ言って行動しないのは無し。行動するか、我慢するか」というのをすごく意識するようになりました。
Webフロントエンドの開発
最後のプロジェクトはWebViewを使ったゲームのWebフロントエンド開発でした。ここでは基盤の実装、Android/iOSのバグ対応、パフォーマンスチューニングをしていました。他にもAndroid対応として、WebViewのバグ調査でC++/JNIのコードを追いかけたり、Javaでアプリ内ローカルプロキシ/キャッシュ機構を作ったりと技術的に色々経験できて面白かったです。
この時のパフォーマンスチューニングは2ヶ月近くやっていていました。その過程をGoogle Docsに20ページほどの長いメモとして日々記し、社内に公開していまいた。メモをまとめたものをペパボ社との合同勉強会で発表したりもしました(Webフロントエンドパフォーマンスチューニング)
このプロジェクトでは@iizukakさん、@tenntennさんと出会いました。@iizukakさんはFirefoxOSやサウンド関連のWebAPIを追いかけており、@tenntennさんは生粋のGopherです。この二人が趣味コードをせっせと書いているのを見て、自分のモチベーションも上がっていきました。@iizukakさんとはCode Lunchというポッドキャストをはじめたり、@tenntennさんには業務のコードレビューで色々助けてもらいました。こうやって切磋琢磨できる仲間が出来たことはすごく幸せです。
ありがとうございます
他にもたくさんのエンジニアの方々(KLabを退職された方々も含め)にお世話になりました。もちろんマネージャー、デザイナー、企画の方々にも色々助けていただき本当にありがとうございました。こうしてみると僕は全てのプロジェクトで良い人達と仕事をすることができて幸せでした。三重県から思い切って出てきて本当に良かったと思います。
Webサービスの開発経験が全く無い僕を拾ってもらえたことにすごく感謝しています。KLabでの経験は本当に僕にとって良いものでした。KLabを離れることにはなりますが、今後もみなさんのご活躍を心より願っております。
有給消化
残っていた有給を使って休みを取りました。まずは地元に帰って当時お世話になった方々と近況報告を兼ねて色々話をしてきました。それと母親にiPadAirをプレゼントしてきました。とりあえず、なめこ栽培とにゃんこ大戦争を入れておきました。母親からLINEでスタンプが送られてくるとなんとも言えない気持ちになりますね。たまの休みにはかーちゃんに顔を見せてあげるといいと思います。それだけで喜んでくれるので。
あとはNavyJS - Web application framework for mobile & IDE -を公開するためにひたすらコードを書いていました。githubのContributionsを見ると2/1〜2/28で、コードを書かなかったのは3日間(帰省してた日、設計してた日)だけです。だらだら休暇にならなくて良かった。