cocuh's note

type(あうとぷっと) -> 駄文

ミクシィでインターンをしてきました・ω・

ミクシィCS開発という部署でインターンをしてきました・ω・
(営業日で言うと22日くらい)
「blogに書いてもいいですか」と伺ったら「ぜひ」とのことだったので、
堂々と書かせていただきます。

f:id:cocu_628496:20141025225725j:plain

(HHKBのキーは頂きましたw)

CS開発 is 何.

CSはcustomer satisfactionの略で顧客満足度のことです。
簡単に言えば、ユーザーからの要望などを集めて開発者に伝えるようなことをしており「開発者とユーザーの架け橋」となる部署です。

具体的に言えば、オペレーターの方が応対するときに使うツールの開発(これが主でした)やログ解析・チート検出・不正アクセス抽出などいろいろやっていて、開発でもユーザーに近い部分を仕事にしています。

なんでそんな部署 選んだの

わたしもインターン前は「CSってComputer Science?C#拡張子????」とか思ってたのですが、
必要スキルのなかに「hackの好きな方」と書いてあったのが目についたというのがあって、CSについて調べたら「自分に足りないものじゃん」と思ったのが始まりだったりします。(わりと不純なきっかけです

f:id:cocu_628496:20141030190242j:plain

(ほかの部署がjavaという言語やswiftに乗っ取られた言語が必要スキルにあり、書きたくなかったという不純な理由もあります)

どんな生活だったの

9月は夏休みなので週5、10月は大学があったので週1でさせていただきました。

定時が10時から19時と意外と朝が遅いので、通勤ラッシュが終わったあたりの時間になり電車は意外と空いています。
(こういうところに気がつけるのがインターンだなとか思ったり)

お昼は適当に渋谷価格なごはんを食べたり全国一律価格なコンビニ弁当だったりでした。
(近くに親子丼が美味しいお店を見つけたのでよく行きました)

わたしが筑波という片田舎に住んでいるがために、通勤時間が2時間ほどなのがつらかったです。本当につらかったです。仕事の100倍ぐらい辛かったです。
ぜひ泊まれる方は泊まられたほうがいいと思います。
そういうこともあって19時と健全な時間に帰っても21時過ぎでした。ぜひ通勤時間は(ry

どんな業務したの

ミクシィだとSNSmixiのイメージが強すぎますが、スマホゲーム(モンスト)なども作っています。
せっかくということで、mixiとモンストの両方に参加させてもらいました。
(守秘義務の範囲内で書かせていただきます)

モンストサポート

オペレーターの方の使うツール(管理ツール)の保守と改善でした。
「ここに〜の情報を表示させたいよね」などの要望や「新しい〜という機能が追加されるからどういう問合せと情報が必要だろう」と考えたり感じです。

管理ツール開発以外にもログ解析もやらせていただいたり(半分趣味で)脆弱性探しなどもさせていただきました。
わりと自由にさせていただいたと思います。

モンスターストライク(モンスト)公式サイト

技術的な話

モンストのサーバー自体がRubyのpadrinoで書かれていました。
初めてのRubyだったのですが、わたしにもできそうな簡単なissueを割り当てていただいたのでなんとかなりました。

PythonistaなのでRubyとは合わないんじゃないかなとか思っていましたが、 さくっと書ける言語で悪くないなと思いました。
今では基本Pythonistaだけど、場合によってはRuby推しって感じです。

5.times{}とかenumerate.map{|elem| }とかイケてると思います(╹◡╹)b

既にあって実際に動いているアプリケーションを開発・保守するというのは初めての経験だったので、自分もアプリを開発するものとは違ったたのしさがありました。
ダウンロード数ランキング上位のアプリなので、それだけのアクセスに耐えるための工夫やノウハウを垣間見ることができました。

mixi

こちらも主にしたことは管理ツールの保守と改善です。 周りでCSの対応などをしているなかにいるというなかなかできない経験でした。

歴史あるSNSのCSがどういうものであるのかを体験するという意味で非常に有意義でした。

ソーシャル・ネットワーキング サービス [mixi(ミクシィ)]

技術的な話

mixiはご存じの方も多いと思いますがPerlで書かれており、管理ツールPerlで書かれています。

「いまどきPerlかよ」とか思う人も多いと思いますが
なかなか付き合ってみると難しい言語で、arrayをhashに展開したり、参照なのか実体なのかかなり意識しないといけなかったり、RubyPythonに影響した部分が感じ取れたりなど、RubyPythonでは気づけないところに気づけた気がします。意外と面白い言語でした。よい教養になりました。

またmixiは大規模プロジェクトなので、コードを自由自在に駆け巡るためにgrepやfindの能力がつきました。
(まだgrepやfindができるというのが救いだったりします)
(さいごのほうにackとagとptを教えていたり(ありがとうございますありがとうございます))

まとめ

今回学んだことの一つが可用性です。

趣味のアプリとは違いプロダクトとしてのアプリは、
リファクタリングのためにデータベース構成をガラッと変えたり
規模が大きいためソースコードの保守が部署に別れていたりなど、
中小規模のプロジェクトしか経験のないわたしには新鮮でした。

学んだこと2つ目はCSは難しいけどおもしろいです。

普通の企業にはない部署だったので貴重な経験が出来ました。
自分でアプリを作って問合せが来た時にどうするかと想像すると、
ポリシー作りなどのノウハウがどれだけ不足しているのかがわかると思います。
どうやって満足度を上げていくか、健全に安心して使ってもらえるかなど。
そんなものの一角に学生のうちに触れられたというのは大きいです。

最後に学んだことはやっぱり主体的に動いたほうがたのしめるということです。

たぶんこの記事を読んでいられる方はインターンで検索したからだと思いますが
(ここまで長文だとだれも読まないと思うけど)
用意されたフルコースとして楽しむイベント型インターンと、就業形でほとんどアルバイトとして働くインターンでは毛色が違うなと思いました。
知らない技術だったりをサクッと作って楽しむという意味ではイベント型でも悪くないです。
就業型では調理されたものが用意されているわけではないので、いろいろな姿が見えますしそういうところが楽しめるのが良いです。
やはり業務の中に入るのでいろんなひとの話を聞いたりドキュメントを読んだりでき、ただ働くだけじゃないインターンを楽しめました。
自分が働いた時にどういう生活になるのかの想像もつきましたし。
(お給料もいただけたのでMBPを新調できました・ω・)

さいごに

長いようで短い時間働いてみて、新しい視点も得られと非常に有意義な時間を過ごせました。
ミクシィさんありがとうございました。

なんか気づいたらつれづれ書きすぎて長くなってしまったのですが、
いつも疲れた体を癒やしてくれた親子丼(はし田屋)と油そば(山ト天)を載せて閉じようと思います。

f:id:cocu_628496:20141030191005j:plainf:id:cocu_628496:20141030191015j:plain