Diverse developer blog

株式会社Diverse(ダイバース) 開発者ブログです。

2ヶ月間のインターンで学んだこと。

今週のお題「わたしとバレンタインデー」

はじめに

初めまして。インターン生として2ヶ月サーバーサイドの開発に携わらせて頂きました id:t-kusakabe です。 このインターンで学んだことを文字に残しておこうと思います。

今週のお題「わたしとバレンタインデー」

Poiboy

このインターンではDiverseのPoiboyというサービスの開発に携わらせていただきました。 Poiboyとは、女の子が気軽に男の子を"選ぶ"女性主導のマッチングアプリで、 表示される2人の男子から気になる方をポイしてマッチングするアプリです。 f:id:t-kusakabe:20171012163120p:plain

poiboy.jp

求めていたこと

普段僕は、アルバイト・インターンを通して新規サービスを1から作ったりPMを経験したりなど、 ある程度の実務経験を持っていました。 しかし、自分自身のスキル不足も実感しておりこのインターンでは自分自身の成長を期待していました。 とくに、テストやアーキテクチャ、ミクシィという会社から派生しているサービスは、 どのようにして作られているのかを学びたいと考えていました。

期間中にさせていただいたこと

主に以下のことを担当させていただきました。

  • 画像の差し替え
  • イベントフラグの追加
  • impression調整を管理画面から行えるように
  • SNS関連
  • 禁止ワードの正規表現対応
  • プロフィール画像検閲の機能追加

一番大きく任せて頂いたのはimpression調整に関することでした。 Poiboyではユーザー毎にどういうユーザーを表示するかのことをimpression調整と呼んでいて、今までこの調整を行うにはソースコードを直接書き換える必要がありました。 f:id:t-kusakabe:20171013134831p:plain これを管理画面から出来るようにするにあたり、設計からさせて頂くことが出来ました。 それまではシチュエーションごとに使うメソッドが限られていて汎用性が低かったのですが、調整値をDBに持たせ、メソッド自体を汎用的にすることでどこからでも使えるようにもしました。 f:id:t-kusakabe:20171012163316p:plain

実際に得たもの

この2ヶ月でコードを書く姿勢というものが大きく変わりました。 普段は、この言語のここがつらい・この言語にはこういう機能がないからという理由から言語選定をすることが多かったのですが、 今回のインターンを通してつらいところはどうすればつらくなくなるのか、どうすれば幸せになれるのかといった考え方できるようになりました。 設計思想やアーキテクチャを取り入れることで、非常に開発しやすい環境が出来ることがわかりました。
特に、関心の分離についてその大きさが感じられました。
Poiboyでは、グローバルに扱うmoduleではcontextを持たせないようにしていたり、MVCの各層で責任を明確にするすることで、結果読みやすいコード、拡張性の高いコードが生まれるようになっていました。

また、実際の開発現場に身を置くことでのメリットもありました。 周りの人たちが話している内容が耳に残りマッチングアプリ対しての知見が気づかないうちに溜まっていました。 僕はこのインターン中にも土日を利用して他企業様のインターンにも参加していたのですが、 Poiboyで培った経験から、マッチングに関して鋭い指摘をされた際、適切に応え評価されたこともありました。 こういう面でも、インターンに参加することには大きな意味があると実感しました。

最後に

大量のInputがあった2ヶ月になりました。 そして、まだまだ足りていない点、課題もたくさん見つかった2ヶ月でした。 今回得たものを自分なりの解釈に落とし込み活用していきたいです。

2ヶ月間、直接指導していただきましたメンターさん、Poiboyのみなさん、ランチの設定や各種イベントを企画していただきました人事のみなさん、 本当にお世話になりました!!!