DeNAに転職して1年経った

先日僕の誕生日だったのですが、思いがけず、色々な方々に祝ってもらえて、ものすごく嬉しかったので一年間でやったことをまとめてみようと思いました。

さて、一昨日、12/11は僕の誕生日であり、DeNAに転職して丸一年経ったという事で、どういうことしてきたかという事を書いていこうかと思います。

以下のエントリに触発された面もある。

2012年12月〜2013年2月 Play! Frameworkを使った開発を経験

入社して、最初の仕事は前職で培ったJavaでの開発経験とPlay Frameworkを使った開発経験があったため、Play2.0 + Javaを使ったソーシャルゲーム開発のヘルプだった。パキスタンやアメリカの人たちと一緒に開発をするというグローバルな環境でコミュニケーションにも戸惑いつつも色々経験出来た。

主にやったことは、

  1. 機能拡張、リファクタリング
  2. Javaのチューニングやボトルネック調査のための環境整備とか

とにかくインフラからアプリケーション作成から役になれることならなんでもやろうと思ってたし、転職したばかりということもあってペース配分を無視した働き方をしてた。

得たこと、学んだこと

とにかく学んだこととしては、

  1. 英語は文法気にしてたら喋れなくなる、パッション重要
  2. Play2.0はこの段階では使うには早すぎた、scalaテンプレが遅かったり、運用のための勘所が整理されている文書が少なかったり。

Play2.0に関してはscalaテンプレはjapidテンプレに置き換えたり、チューニングは色々とtryを繰り返しながらなんとか動くようにはなった。

英語もガチで喧嘩できるくらいには成長したかも。超多忙だったけど、ジョークを言い合えるパキスタンの友だちができたりと、よかった。

2013年3月〜2013年6月 WAF作ったり、コンセプトゲーム作ったり

ヘルプから戻ってきて数ヶ月は新しいPerlのWeb Application Frameworkを作るのを手伝ってた。WAFは今まで使うものでしか無かったので、作るというのは結構面白かったし、幸いチームの方々が超優秀だったので、自分としても学ぶ所が多かった。特にテストとレビューの文化は本当に素晴らしくて、Perl初心者の僕からすると超勉強になった。

他にもNode.jsを使ったR&D的な話があったのでそれに乗っかって色々と作ってた。tmlib.jsの作者がいたりと面白い環境だったし、技術力のある人たちと一緒に技術で遊べてよかった。技術で遊べる環境に身を移せたことがこれまでにはない経験で、楽しみながら物を作れるのは嬉しかった。

その時の経験で、Yeomanで遊んだり、Bowerで遊んだりできたし、その時の人脈がきっかけでgrunt-jsx作ることになったりしたので、かなり有意義だった。

得たこと、学んだこと
  1. テストの文化、GitHubのちゃんとした使い方
  2. 技術で遊ぶことの楽しさ、重要さ
  3. Perlのベース部分

2013年7月〜2013年9月 Perlで一から自分でウェブサイト作ったり

Perlで一からウェブサイト作った。Perlを学んだばかりの自分としてはかなりチャレンジングだったし、数年間運用されている既存サービスの上にまたがってサイトを作る、という事が大変で大変でもう死にそうだった。FP、SP対応も勿論あったので、単純なHTMLという訳にはいかず、先人たちが経験したことを見ながらコードを書くという非常に厳しい経験だった。。

それこそフロントエンド側のHTML、Javascriptからサーバーサイド側のPerl、DB設計までフルスタックにやってたし、度重なる仕様変更に対して時にはリジェクトし、時には折り合いをつけ、時には喧嘩しながらやってた。

その過程でひどい失敗もしたけど、兎にも角にもほぼ一人でウェブサイトを作れたのは良い経験になったし、DeNAで初めて自分が一からやってたことが形になったのは嬉しかった。

学んだこと
  1. Perlでウェブサイトを構築すること
  2. レガシーコードとのお付き合い

2013年10月〜現在 JSXで色々

今はJSXでNode.jsのライブラリを作ったり、ゲーム作ったりと色々やってます。JSX界隈は周りにスーパープログラマが多く、一年前までの僕からするとブログでしか知らなかったような人たちと一緒に並んで仕事ができるのはホント面白い。

やっていることとしては、WAFの開発経験を活かして、開発効率を上げるためのライブラリを作成したり、周りのゲーム開発者にまだテストの文化が定着してないので、テストを書かせるための啓蒙活動をしたりと開発支援をメインに色々やってます。

まだまだ道半ばだし、学んでいる真っ最中だけど、Node.jsを初めて会社で運用する形になるので、非常に良い経験を積んでいると思う。僕の作ったgrunt-jsxがこんな形で使われるのは非常にありがたい。

やってきたことまとめ

  • Play Frameworkを使ってゲーム開発
  • PerlのWAF手伝い
  • Perlで一からサイト作った
  • Node.jsでコンセプトゲーム作り
  • JSX + Node.jsの開発支援、テスト啓蒙、運用支援

副産物

でも一番良かったのは、これらをやってきたことで得た誕生日を祝ってくれる人達だったり、信頼だったりする。
一年前、転職エントリを書いた時は本当に色々書かれたけど、楽しい日々を過ごしてます。得られた信頼はちゃんと応えられるようにしていきたいと思います。

誕生日のコメントを寄せていただいた皆様、祝ってくれた皆様、ありがとうございました。