こんにちは、ユニファ株式会社CTOの赤沼です。ちょっと前に2016年になったと思ったのに、もう今年も終わってしまいますね。秋葉原オフィス周辺も今はすっかりクリスマスムードですが、25日が過ぎると一気にお正月モードに変わるんでしょうね。
さて、本日からユニファ開発者ブログをスタートします。システム開発部のメンバーが持ち回りで、弊社サービス開発に関係する技術的な内容や、それぞれ興味を持っている技術的なトピック、開発プロセス、開発体制、社内の文化などについてゆるく書いていきます。どんなメンバーがどんな風に開発しているのかを知ってもらう場になればと思っています。
今回は初回ということで、ユニファの開発体制について簡単に紹介させていただこうと思います。
メンバー構成
2016年12月現在、ユニファ全体での正社員数は(グループウェアの名簿を数えたところ)32名、パートタイムのメンバーも含めると40名をこえるぐらいという規模です。そのうちシステム開発部メンバーは正社員が15名で、それ以外にフリーランスエンジニアの方数名にパートタイムでお手伝いいただいています。
開発部内でのメンバー構成は下記のようになっています。
- Webエンジニア:6名
- スマートフォンアプリエンジニア:3名
- デザイナー:2名(1名育休中)
- QA:2名
- インフラエンジニア:1名
- フリーランスのパートタイムメンバー:2〜3名
この一年ぐらいで人数は倍ぐらいに増えた感じですね。個人的にはスタートアップの中でもQAがいる会社は少ないのではないかと思っています。年齢層としては30代前半が多く、以前は大企業で仕事をしていたり、受託開発中心に仕事をしていたり、様々な経験を持つメンバーが集まっています。ユニファに入るために上海から日本に来てくれた中国人エンジニアもいたりします。
拠点
弊社は2013年に名古屋で創業したので、本社は名古屋なのですが、2015年2月に東京オフィスを設立し、現在は東京オフィスを中心に開発を行っています。開発部に限らず拠点間でミーティングをするときはSkypeを活用しています。また、開発部では自宅勤務も取り入れているので、その日オフィスにいないメンバーとミーティングをするときもSkypeを利用しています。リモート勤務については他のメンバーが詳しく書いてくれるのではないかと思うので、詳細はそちらに譲ります。
言語・フレームワーク・インフラ
Webアプリでは基本的にはRuby/Railsで開発しています。最近開発したサービスでは最新のバージョンのRuby/Railsを使用していますが、初期の頃にリリースしたサービスでは結構古いバージョンを使っているので、バージョンアップしたいと思っていますがなかなか実施できていません。
スマートフォンアプリは、 iOSアプリはSwift、AndroidアプリはJavaで開発していまして、それぞれ Xcode、 Android Studioを使って開発しています。
インフラは全てAWS上に構成していて、主にインフラエンジニアが面倒を見ています。AWSはWebエンジニアでも扱いやすい部分もあるので、開発初期の段階ではWebエンジニアが直接AWS環境で色々と試してみたりもしています。
開発ツール
開発プロセスの詳細を書いていると長くなってしまうので、今回は使っているツールだけひとまずご紹介しておきます。実際にどのように活用してどんな流れで開発しているかはまた別の機会に。
社内のコミュニケーションは主にSlackを使用しています。タスク管理と情報共有にはJIRA/Confluenceを使用し、ソースコードのバージョン管理はGitで、Bitbucketのプライベートリポジトリで運用しています。
CIツールとしてはWerckerを使用していて、Bitbucketにpushすると自動的にテストを実行し、結果をSlackに通知しています。
開発環境の構築にはVagrantやDockerを使い、サービス開発初期のプロトタイピングにはProttを利用しています。
また、簡易な脆弱性チェックツールとしてVAddyを利用していて、日次で開発環境で稼働しているサービスに対して脆弱性チェックをかけています。
ビジネスモデル・サービス領域
弊社のサービスは主に保育園や幼稚園に導入していただき、その園に通われている園児の保護者の方に使っていただくサービスになりますので、ビジネスモデルとしてはB2B2Cになります。対象の業界としては主に保育業界ということになります。私もユニファに入ってから色々と知ったのですが、一般的なB2BやB2Cのサービスとはまた違う、保育業界ならではの気をつけないといけなことも多いので、業界をよく知るビジネスサイドのメンバーとサービス内容を検討したり、現場の保育士の方にヒアリングをさせていただいたりしています。
ということで、開発部について簡単に紹介させていただきました。それぞれ詳細についてはまた改めてご紹介させていただこうと思いますので、ユニファ開発者ブログをよろしくお願いします。