富士通を退職してGunosyにjoinしました

私事ですが1/20付で4年弱務めた富士通を退職し、1/21付で Gunosy に join (転職) しました。


 http://gunosy.com/


このブログに辿りつく人なら説明不要かもしれないですが、一応説明しておくと、Gunosyはユーザ一人一人に合わせたネットニュースやブログ記事を新聞のように毎日配信するGunosyというサービスを中心に展開している会社です。


ユーザ数も右肩上がりで増加しており、現在は150万ユーザを突破しています。


 ※下のリンクは50万突破時のもの
 http://news.mynavi.jp/articles/2013/04/18/gunosy/index.html
 http://gunosy.tumblr.com/post/57580936015/50


まだ創業して一年と少しの若い会社ではありますが、優秀な技術者、ビジネススタッフの方々が集まっており、その一員として働いていけるのは非常に楽しみです。


自身も今後のGunosyの成長に貢献し、いずれは Gunosy を日本の Google と呼ばれるようなヤバい会社にしていけたら (いく力の一端を担えたら) 良いなと思います*1


とは言え、なんだかんだで安定している (職を失うことは無いという意味で) 大手メーカから、いつ職が無くなるか分からないベンチャー (一般論として) に移ることに不安がまったく無いわけではありません*2。ですが下のエントリで書いてあるように、成長のためには、とにかく変化することが大事だと信じています。結果、大変な思いをする局面も出てくるかもしれませんが、そのようなリスクがあることも踏まえた上で、生じればそれを受けいれ乗り越えた上で、後で振り返った時に移って正解だったなと思えるキャリアを送って行ければと思っています。


 成長したければ、ひたすら変化すべし - Chikirinの日記
 http://d.hatena.ne.jp/Chikirin/20130403


今後の ryo_grid の活躍にご期待下さい。


富士通での4年弱
富士通ではスーパーコンピュータ向けのミドルウェア開発 (ジョブスケジューラ開発) に従事し、スパコン京のプロジェクトを始めとした、やりがいのある数々の業務を担当させてもらいました。世界一のシステムというのは計算機の数が膨大であるとか、厳しい性能要件など、様々な困難な課題があって、最初は現実不可能に見えますが、たくさんの人で頭をひねり、問題を解きほぐしていき、適切な人間に仕事が振られていくことで大抵の問題は最終的には解決されていきました。これが、富士通という会社が蓄積してきた技術力であり、組織力なのだろうと思います。また、京のプロジェクトはハードからソフト*3までほぼ全てを自社開発するという世界的に見ても稀なプロジェクトで、そのようなところに身を置けたのは非常にエキサイティングな経験だったと思います。それ以外にも多くの得難い経験をできて、本当にありがたいことだと思います。


同僚にも恵まれ、新卒で入社しましたが先輩方は皆暖かく迎えてくれましたし、同期も高い意識を持った切磋琢磨できる人たちばかりで、人間関係でのストレスは皆無でした。この人には逆立ちしてもかなわない、一生かかっても追いつけないだろうと感じるような尊敬できる優秀なエンジニアも多かったです*4。私にとってこの4年間弱は人生で最も充実した、成長することができた時間だったと思います。


というわけで、前職に大きな不満があったわけではありません。強いてあげれば、日本的大企業というか、プロジェクトが巨大であることに起因して必要となるたくさんの調整であるとか、品質積み上げのために必要となる監査資料作成をはじめとした書類仕事が自分には合わなかったとか、SI的なエンタープライズシステム開発というのが合わなかった*5とかいう話はあったりしましたが、そこは決定的な理由ではありません。それよりも、学生時代から興味のあった*6 データマイニングの技術を活用するGunosyのキュレーション事業に関わってみたい、スタートアップのベンチャーで自身の能力を活かしてみたい、身近で使われるようなB2Cの事業に関わってみたいという思いが日増しに強くなり、決断した次第です。現在28才と20代も最後に差し掛かって、これ以上待っていたらリスクを取るのが難しくなる、と感じたのも大きいです。なんだかんだ言って、年齢を重ねていく毎に仕事をするにあたって必要となるパワーみたいなものは衰えていくので、若いうちに飛び込んだ方が良いという話も良く聞きますし。


最後に、4年弱の間、富士通で働いた中で得た学び、気づきについて自分用のメモがてら書いておきます。

品質に対する考え方

この4年弱で一番変わったのはコレかなと思います。
学生時代に趣味や研究活動で開発するソフトウェアにおいて、品質という観点での考え方は、基本的な動作が何となく動けばそれで良いやというレベルでしたが、エンタープライズのソフトウェア開発を経験して考え方は大きく変わりました。
商用製品となれば様々な異常系を想定した作りこみも必要ですし、何となくではなく仕様に基づいて全ての動作が正しく動作しなければいけません。そのためには膨大なテストも必要になります。エンタープライズの世界では、コーディングよりも多くの時間がテストに費やされますが、ここらへんの感覚は学生時代には考えられないことでした。コードも保守性や拡張性を意識し、綺麗で読み易いコードを維持する必要があります。そのためには、綺麗に書くよう心掛けて書くことはもちろん、コードレビューなどもしっかり行う必要があります。


これらのことを学び、どうすれば安定した高品質のソフトウェアを開発できるかということを徹底的に学んだ4年弱だったような気がします。

工程管理

大きく開発プロセスの話と、スケジュール管理の話があります。
開発プロセスはまあいわゆる工程管理というやつですね。ウォーターフォールとか。
各工程で段階を踏んで定められた作業を必要な生産物を作成していくことで、大規模もしくは複雑なソフトウェアでもちゃんと形にしていけるということを学びました。
スケジュール管理も重要で、面倒ですが最初にちゃんと開発規模から工数を見積もり、線表を引くことで、開発の行く末を先立って見通すことができるということを学びました。また、これを行うことで計画と突き合わせることで今作業の進捗具合がどうなのかを客観的に掴むことが可能だということを学びました。こうすることで、遅れているようであれば、関連する開発部隊にアラームを上げるとか、追加の人員を要請するとかそういうことが根拠立てて行えるようになります。


まあ、一言で言えば、なんとなくじゃなしにちゃんと計画立ててやることが大事、というところでしょうか。

コミュニケーション能力

就活で企業の求める能力の1位か2位ぐらいに大体入るのがコミュニケーション能力というやつで、学生時代は、「コミュニケーション能力(笑)」みたいな話で、別にプログラマなら技術力さえあればコミュニケーション能力なんてさして必要ないだろうと思ってましたが、大企業でのソフトウェア開発って本当に大人数でやっていて、仕様調整をはじめ多くの "人を説得しないといけない場面" がありました。そういうところで、コミュ障の人とかだったら仕事なんてまったく回らないわけで、やっぱり "コミュニケーション能力" は馬鹿にならないなと思いました。ちなみにに、ここらへんの話で言うと相手に信頼してもらうための "人間性" みたいなところも重要。また、説得うんぬんという場面でなくとも、一緒に働くって、ただ隣に座ってるだけではなくて、円滑なコミュニケーションが無ければ一緒にいられないという話はあって、そういう点でも "コミュニケーション能力" って重要だと思いました。

顧客視点での考え方

富士通は他の大手メーカとか、SIerと比べて "顧客視点" という話が浸透している組織だなと思います。良いか悪いかは別として、自分の結婚式をすっぽかして顧客システムのトラブル対応に当たったとかいう逸話も聞くぐらい(自分のいた部署の話ではないし、いつの時代の話かも不明)、お客さんが第一という考え方は徹底してました。何か仕様を考える時も、特に管理職からですが、「お客さんの運用を想定した仕様になっているか」というような話は何度も口酸っぱく言われました。
ここらへんの考え方は転職しても大事にしていきたいなと考えています。


なんかあまりまとまってないですが、以上ご報告でした。

なお、Gunosyは引き続きメンバを募集中です。興味のある方がいれば是非ご検討下さい。
私で良ければ紹介などもできるかもしれません(リアルもしくはネットで繋がりのある方)

 
 https://www.wantedly.com/companies/gunosy
 http://gunosy.co.jp/recruit/

*1:夢は大きくw

*2:実は年始に入籍して世帯を持つ身になっていたりもしますし

*3:OS、コンパイラ、並列ファイルシステム、並列通信ライブラリ、運用ミドルウェアなどなど

*4:皆が皆そんなスーパーマンみたいな人ばかりだったわけでもないですが

*5:ウェブ系とかと比べるといろいろと組織やルールが固くなりがち、新たな技術やプロセスの導入にも保守的だったり。個人的に自チームにScrumを導入したりはしましたが。

*6:Kikkerはてブおせっかいなんかの情報推薦システムも趣味で作ってました