突撃!隣の開発環境2015年06月08日おおはしりきたけ(130)188188件のシェア(すこし話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは!おおはしりきたけです。前回はうちのということで弊社クラスメソッドのiPhoneアプリサービス事業部の紹介をさせていただきましたが、今回からまた色々な会社さんに突撃していきたいと思います!パート4の今回は、先日1200万DL達成したBrainWarsをリリースしているトランスリミットさんに訪問しました。インタビューに答えていただいたのはCTOの松下さん、エンジニアの牧野さんに話を伺いました。突撃!隣の開発環境とは技術事例やノウハウなどは、ブログや勉強会などで共有されることが多いと思います。各社の開発環境や開発体制などは意外と共有されていないこと多いと思います。ノウハウの流出になるかもしれませんが、それ以上に、より良い開発を目指している会社さん同士で情報交換を行い、良いチーム、良いプロダクトを作っていくという志の会社さんの為の情報共有のための企画になります。開発環境や開発体制なども技術領域によっても変わってくると思いますが、この突撃!隣のシリーズでは様々な会社さんのイケてるツールの使い方や、仕事が捗る開発体制についてインタビューを行っていく予定です。トランスリミット紹介どんなことをやっているのか?トランスリミットさんは「世界に響くサービスをつくる」というビジョンを掲げており、先日1200万DLを達成したBrainWarsは、世界中のプレイヤーとお互いの脳をフル回転させて戦う対戦型知的ゲームで、95%以上が海外ユーザーです。複数CTO体制や、就業規則がgithubで公開されていたりなど、ユニークな施策を色々やっている会社さんです。リリースして1年で1200万DLを達成し急成長をしている会社さんです。開発環境についてまずは、トランスリミットさんの開発環境について色々と伺っていこうかと思います。システム構成システム構成は、以下の様な構成になっています。サーバーは、全てAWSで構築されており、サーバーサイドの言語は対戦のマッチングをする部分がNode.jsでAPIの部分にRubyを利用しているとのことでした。RubyフレームワークはRailsが利用されており、EC2以外にもSNSやSQS、Lambda、DynamoDBなどAWSのフルマネージドサービスを利用しているのが特徴的だと思います。行動ログなどはGoogleのBigQueryを利用しているというのも特徴的だと思います。Displayで統一されており、ほぼ全員Macを利用しているとのことでした。スタートアップらしくバランスボールやスタンディングデスクなど開発を行う為の道具も工夫が凝らされていました。Displayが並んでいるのは壮観ですね!コミュニケーションツールプロジェクトを円滑にするために様々なコミュニケーションツールを使うことになります。チャットやチケットの管理、仕様の共有などどのように行っているのか聞いてみました。チャットツールトランスリミットさんはChatOpsを実践しているためChatworkからSlackに移行したということでした。チャンネル数は17ちゃんねるくらいあり、勤怠管理もChatOpsで行われており、勤怠管理botである「みやもとさん」を改良して利用しているとのことでした。ChatOpsを実現できているのは、社長を含めほとんどの方がエンジニア出身という背景もあると思います。プロジェクト管理ツールタスクの管理はTrelloで行っているとのことでした。弊社でもTrelloを使っていますが非常に軽く使えるのでタスク管理などに非常に適しており使いやすいツールだと思います。仕様の共有方法Markdownで書かれた仕様などをGoogleDriveで共有しているとのことでした。APIなどの仕様についてはソースコードが仕様になっているということです。フロントのエンジニアもサーバーのコードを書くので、API定義を使ってコミュニケーションを取る必要もなく、仕様の齟齬がでないのでソースコードが仕様になるというのは非常に納得です。リポジトリやはりgithubです。リポジトリ数は20個位で、ChatOpsで利用しているスクリプト郡などもgithubで管理されていたり、上記に書いた就業規則などもgithubで管理されていたりします。自動化ツールCI環境などは作っておらず、勤怠管理やデプロイなど全てChatOpsでやっています。こちらに詳しい情報は乗っているのですがトランスリミットさんで使わてているbotを幾つか紹介させていただきます。通報されたユーザを一覧表示したり、ユーザをBANするデザインツールベースはIllustratorを利用しているということです。基本はエンジニアが先にプロトタイプを作って動作して面白かったら、デザインを当てていくとのことでした。WorkDocsを利用しているとのことでした。開発チームトランスリミットさんのエンジニアさんの内訳は以下になります。(うちアルバイト1名)※iOS/Androidからサーバーサイド、インフラまでエンジニアの方の全てやっているとのことでした。開発プロセスについて10時半頃から全員で朝会を行い、1日のタスク共有などをしているそうです。社長がプロダクトオーナーをやっており、開発プロセスは、iOSアプリがベースに考えられており、2週間に1回のサイクルでリリースを行っているとのことでした。大規模な改修は別ブランチで開発を行いリリースを行いますコミュニケーションについてまだまだチームメンバーも少数なので、日々のコミュニケーションは関係者を集めてその都度行っているそうです。議論は対面で行い、決定事項はSlackに共有されるとのことでした。以下の写真は社長とエンジニアの方でのアプリケーションの細かい調整のやりとりです。この細かい調整をしっかり行っているから一つ一つのゲームのクオリティも高いのだと思います。テストについてAPIに対するテストコードはRSpecで書かれており、カバレッジは高めにしているとのことでした。アプリ側の部分は、UIメインなのでテストコードは用意しておらず、今後ユーティリティー系のコードなどはテストコードを書いていくとのことでした。Talkという社内の勉強会を行ったり、社内のコミュニケーションが仕事以外でも活発のようです。WorkDocs※トランスリミットさんでは、上記以外にも様々なツールを利用しております。上記はインタビュー時に伺った内容のものを記載しています。まとめ第4回目はトランスリミットさんにインタビューさせてもらいました。「世界に響くサービスをつくる」というビジョンを掲げその通りBrainWarsでは95%は海外ユーザーが利用しています。スピード最優先ということで、積極的に新しいサービスを導入しアーキテクチャの見直しを行ったり、エンジニアが面白そうなプロダクトやサービスは積極的に採用したりなど、非常にエンジニアのモチベーションも上がる環境何だと思いました。コストは非常にシビアに考えられており、クラッシュレポートツールなどもコストが掛かるなら自作していたりするそうです。なんといってもムダなものを作らずChatOpsをフル活用している点が非常に特徴的でした。最後に写真を取らせていただきました。左から松下さん、牧野さんそして私です。1,304,469モバイルも好きですが、AWSも好きです。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。本が出ていたので読んでみたところよかったので紹介させていただきます。使いたいときの注意点を書きました。新井成一64最近Sphinxつかってドキュメントを書いてるのですがなかなかイケています。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健232こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。