Pimp my Code. @wataru420

Pimp my Code. @wataru420

My name is Wataru Fukunaga.

Amebaでブログを始めよう!
いわゆる転職エントリーですらない、異動エントリーなので、興味のない人はそっ閉じしてください。

2年弱いたチームを離れる事になりました。
たくさんの方からメッセージや花束や絵などを頂いて、本当に感謝!!
ありがとうございました。

といってもまた同じ事業部の別のゲームにJOINすることになったという話なのですが、
これを機に、自分がどういう風なエンジニアになっていきたいのかを書いておこうと思います。

大規模なソーシャルゲームの開発を2年間やってきて、
いろいろ学ぶことも多かったわけですが、
もっとも感じたことが、開発をスケールさせるということを戦略的にやらなければならないという事でした。

エンジニアとしてのバリューを考えると、
技術力とか、マネジメント能力とか、いろいろありますが、
もっとも大事なのは「実現できるスピード」だと思っています。

チームや組織が何かを作りたいと思った時に、どれだけスピーディーに実現できるか。
もちろんこれは品質を担保した上での話なので、バグだらけだったら意味はないのですが、
市場価値の高いプロダクトを世の中に出していくという観点でのスピード感が大事です。

短期的な話だとプログラムのシンタックスを覚えるとか、いろいろな技術の知識をつける等ということなのですが、
中長期的な観点ではスケールしやすい開発組織を作っていくことだと思っています。

スケールしやすい開発組織とはなにか

一言で説明できるものではないと思いますが、
ただ、一つの指標としては、人が増えると開発スピードが上がるような組織なのかなと思っています。

システム開発というのは非常に複雑で、様々な知識が必要です。
サーバの設置からネットワークやミドルウェア、アプリケーションからクライアントサイドの端末の知識まで、本当に様々な技術がからみ合ってできています。

一つ一つの技術の属人化を排除し、標準化や自動化等をしていくことが大事だと思っています。
もちろん高度な技術者が必要ないという意味ではなく、高度な技術を展開しやすくするという意味で。

そういう状態ができているチームが長期的には開発スピードが加速していくと考えています。

つまり

ちょっとマジメなことを書きすぎた感はありますが、つまりはそういうチーム作りを意識した開発ができるエンジニアになりたいなという事でした。
こういう事はいきなりバーーンとできるものではないので、小さな改善をコツコツとし続けることが大切だと思っています。

コツコツコツコツ。
リアルエンジニアライフ、まだまだ止まらない予定なので、これからもよろしくお願います。

俺も一万行プログラム書く!
どうも、お久しぶりです。

2014年もあっという間に4月になり、桜が咲く季節になりましたね。
4月といえば、入学式、入社式、そして弊社では社員総会があります。

先日の社員総会ではめでたく所属しているチームが受賞し、大変うれしい限りです。

しかし、少し思うところもあるのでブログを書いてみることにしました。

振り返ると昨年度はとにかく上を目指して走り続けた1年でした。
ソーシャルゲームの開発というのは、とにかくスピードが大事で、ユーザが飽きないように機能を作り続ける事が重要です。
そう思って上だけを見て走り続けた1年でした。

幸運にも、また努力のかいあって、素晴らしい結果が出ました。

しかし、上半期のはじめ、上ばかり見てたつけが回ってきたわけです。
システムがキャパシティの限界に達し、まともにゲームが動かない状態に陥りました。
これはエンジニアとして本当に屈辱的なことだったと思います。
リリースする予定だった機能をすべて止めて、イベントのスケジュールも大幅に短縮し、2chでもたくさんの不満の声を頂きました。

そしてこの問題を解決すべく動いたわけです。
反省の多い半期でした。

ここからが、きちんと伝えないといけないのかなと思った部分です。

困ったときに助けてくれる人がたくさんいるのが弊社の良いところだと思っています。
超優秀なエンジニアのみなさんが集まってくれて、たくさんの案を頂きました。

データベース層が問題だったので、もらった案をもとに大きく3つの解決策を進めていく事にしました。

・アプリケーションの大幅なチューニング
・ハイスペックなハードウェアの導入
・データベースにOracleを導入

しかし、大きなプロモーションの予定も控えていた中、現実的に実現できそうなのはOracleではないかという見解の中進めていったわけです。

Oracleってなんだよって方のために、本当に簡単に説明をします。
データベースというゲームのデータを保存する仕組みがあるのですが、今までは無償だけど優秀なMySQLというデータベースを使っていました。
その代わりになるのがOracleで、車で言うとトヨタとベンツみたいなイメージです。

Oracleは非常に優秀です。ただし高いですw

その高いOracleを購入して頂き、本当に厳しいスケジュールの中(大雪なのに納品みたいな)、土日をつかってまで設置して頂いたみなさんや、夜遅くまで設定してくれたみなさんには本当に感謝しております。

しかしながら、我々はOracleを使わないという結論をだしました。
個人的には苦渋の決断でした。

Oracleのために頑張ってくれたインフラチームのみなさんや、ベンダーの方、またその他たくさんの協力していただいた方への気持ち。
それから、数ヶ月間それに向けてやってきた自分の労力等を考えると、本当にそれが正解なのか、なかなか結論が出せなかったのが現実です。

しかし、Oracleの性能テストを繰り返す中ででてきたアプリケーションの問題点を解決し、並列してMySQLの負荷対策をした結果、MySQLでもいける状態までもっていく事ができました。

Oracle化しなかったことに対して、いろいろな意見があると思います。
しかし、これは、我々は勝利だと思っています。

このような結果を出せたのは、Oracleの性能テストのお陰です。そしてまた、この高価なOracleも、最悪使わなくてもほかで転用できるような構成でやってきました。

無駄なことなど何もなかった。
すべてが性能改善という結果に繋がったと思ってます。

また、こういったシステムがだめだった間も、地道な運用をしてくれていたり、素晴らしいクリエイティブを生み出してくれていたチームのみなさんのおかげもあり、なんとか大きな目標を達成できたんだなと思います。

こういう感謝の気持ちをしっかりと伝える場がなかったので、ブログと言う形にしてみました。

今後は、この教訓を活かして、本当に価値の高いシステムを少ないリスクでリリースし続けられるよう精一杯努力していきたいと思ってますので、引き続きご協力いただければなと思っています。

よろしくお願いしますm(__)m
photo:01


ゲーム作ってるけど、ブログの会社だし、元ブログチームだし、やっぱ振り返りブログは書く。

良くあるいけてるスピーチにならって、今年の振り返りも3つのセンテンスにしてみた。

・ものづくり
・30
・チーム

この3つで今年を締めたいと思う。

ものづくり

今年は何と言っても怒涛の一年だった。
想像をはるかに超えるサービスの成長。
押し寄せるプレッシャー。小さなミスが莫大な損失を出すようになり、求められるスピードはどんどん上がっていく。
納得いくコードを書くことは全然できないし、それどころか品質すら保証できないような状態で、愚痴をこぼすような事もあった。
でも、そんな中で見えたのが、やっぱり自分は「ものづくり」が好きだなと改めて思うことが出来た年だった。
納得いくものを作るのは芸術。多くの人に喜んでもらえるものを作るのがものづくり。
ギリギリまで細部にこだわって、多くの人に喜んで貰える物を作る楽しさを改めて感じる。アーティストがギリギリまでこだわって曲を作り演出を考えライブするような感覚を覚える事ができた一年だった。


30

30歳になったという節目の年だった。
でも、別に実感はない。
ただ、ずっと30まではがむしゃらに生きるって決めてたので、これからはもっと戦略的に生きたいなと思ってる。偉い人に酒をつぐという意味ではなくね。

チーム

そして何と言っても凄いチーム、凄いメンバーに囲まれて仕事が出来た一年だったと思う。一つのゲームを作るために様々な職種の人達が集まっているわけだが、全ての分野でプロフェッショナルなメンバーが集まっていて、インフラ・サーバサイド・フロントサイドエンジニア、デザイナー、イラスト、プランナー、アナリスト、そしてカリスマ的なプロデューサーと技術もさることながらストイックで何がなんでもやり切る素晴らしいマインドを持つメンバーに囲まれたおかげで、自分も最高に成長できた年でした。
ちょっと働きすぎかもしれないけど…

未来の話

そんな苦しくも素晴らしい一年を終えて、自分はこれから何処へ向かうのか。
綺麗な話をすると、大規模プロジェクトの円滑な開発、さらなる技術のキャッチアップ、組織貢献となるわけだが、正直全然わからない。
俺がどうするべきなのかわかる人がいるなら教えてほしい。
ただ、とにかく俺にできるのは全力で生きる事だけなのかなと。来年も全力で、でも少しは大人な感じで生きれたらいいなと、そう思う次第です。

とにかく売れてるアーティストみたいなエンジニアになりたい。
No Doubt!!!

Pimp my Code. @wataru420-枯木鳴鵙図

宮本武蔵は経営者ではなく技術者タイプだったと思う。
宮本武蔵には野望があった。三千石以上の身分になる。あわよくば大名になる。
しかし、その野望を達成することはなかった。

だが、剣豪としては日本を代表する一人である。
その剣術を極める姿は現代で言えばまさに技術者ではないか?

技術を磨き、研究し、どうすれば良い成果が残せるかということを突き詰めた成果が、宮本武蔵という伝説なのだろう。

エンジニアも伝説になれるのか?


武蔵は長い太刀を特技としたり逆に小太刀を特技としたりする兵法は『それは剣の長短に囚われるということであり、真実の道ではない』と書いている。
大切なのは入念な下調べと緻密な戦略なのだと。
消して流れに逆らわず、力でねじ伏せるわけでもなく。

それが道。

目の前の課題を入念に分析し、それに合わせた最適な技法を選択できる。
また睡眠をけずって実装するのではなく、納期に合わせた最適解をだせる。
エンジニアの道とはそういう事なのかもしれない。

武蔵の絵に出てくる鵙にむかって這っている芋虫のように、いつまでも這い上がっていく修行者でありたい。


新装版 宮本武蔵 (朝日文庫)