iOSアプリ開発の現場で訊いてみた！freee編


確定申告は近所の地域区民センターで提出する派、@yimajoです。

iOSアプリ開発者に最近の開発スタイルを訊いてまわる「iOSアプリ開発の現場で訊いてみた」待望の6社目に行ってきました。

6社目はクラウド会計ソフトfreeeを作られている[freee社](http://qiita.com/organizations/freee)！

![IMG_3369.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/d558c58d-d9ac-2442-23cf-44c610b861a9.jpeg "IMG_3369.JPG")

# クラウド会計ソフトfreeeとは何か

freeeは銀行やクレジットカードのweb明細から簡単に帳簿を作成したり、青色申告決算書や確定申告書Bの出力に対応しているWebベースのアプリケーションです。

従来の青色申告用のアプリケーションはWindows専用が主流だったため、Macを使うiOSアプリ開発者ならfreeeを使ってる方も多いのではないでしょうか？

# 訊いてきたこと

インタビューに応じてくださったのはエンジニアの@yonekawa、@yo_waka、広報担当の[@NaoMaemura](https://twitter.com/NaoMaemura)の3人。

とくに最近@yo_wakaは[freee社でのReactiveCocoa活用例](http://www.slideshare.net/yo_waka/reactivecocoa-tokyo)を公開していて、読んだ方も多いはず。

インタビュアーは過去インタビューに応じてくださった@kishikawakatsumi、@ninjinkun、@hedjirogの合計4人で行ってきました。

![リュウキュウ.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/c58e8da7-d912-df26-26de-8dfebcf73b16.jpeg "リュウキュウ.JPG")

## Q.まずはチーム構成教えてください

明確にiOS、Androidネイティブのモバイルアプリ専任の担当者は居ない。
各チームにモバイルができる人が居て担当している。


独立したUI/UXチームがある（2人）。

- 新規機能の開発時はUI/UXチームと開発者も一緒になって考える
	- 1人は元グーグラー、もう1人はEdyのプロダクトデザインやってた人
	- Sketch3でイメージを作ってくれたり
	- プロトタイピングはFlintoを使っている

## Q.どういう経緯で入社しました？

@yonekawa 「前職のクックパッド社やGREE社ではコンシューマ系の仕事をしていたので、次はB2Bな仕事もしてみたかった。freee社には後輩の@yo_wakaがいて、尖ったことやってるなという印象があった」

@yo_waka「尖っているかは分からないけど、意思決定プロセスはエンジニアが中心に決めていて何かをやる前に否定されることはない。freee社の5つの価値基準があってそれをベースに一番良いと思うことを実行している」


### Q.freee の価値基準って何ですか？

価値基準は3ヶ月ごとに改定してみんなが考えている（2015/2/11版）

1. ユーザーにとって本質的な価値があると自信を持って言えることをする。
1. 理想から考える。現在のリソースやスキルにとらわれず挑戦しつづける。
1. まず、アウトプットする。そして考え、改善する。
1. 取り組んでいることや持っているリソースの性質を深く理解する。その上で枠を超えて発想する。
1. 人とチームを知る。そして、知られるよう共有する。freee はそれだけで最大パフォームする集団。

## Q.自社アプリにReactiveCocoaを導入しているのは尖っている気がしますが、そのきっかけで新たに誰か入社したとかはありますか？

- 今のところReactiveCocoaきっかけで入社したということはない。逆に障壁になっているのかも？
- そういう尖ったことやるのが好きな人にも来てほしい

## Q.ReactiveCocoa導入のきっかけは？

- もともと2014年1月に1人で作ることになった
	- やはりどうせやるなら一番いいやり方を模索
- GitHub社の[oktokit](https://github.com/octokit/octokit.objc)を参考にするとReactiveCocoaを使っていた
	- 最初はAPIClientからReactiveCocoaを使い始めた
- もともとjsの経験があってAngularJSのバインディングを使っているため、ReactiveCocoaに違和感はなかった

## Q.新しく参加したメンバーにReactiveCocoa難しいという声はないですか？

- やっぱり最初は学習コストはかかる
- まずは小さい不具合を治してもらうことからはじめる

![ぶら下がり_Fotor.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/4502569e-7806-7786-90f8-e14171f16cfc.jpeg "ぶら下がり_Fotor.jpg")

![懸垂_Fotor.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/a113e4ee-82d1-082d-9e69-2e3001fa285e.jpeg "懸垂_Fotor.jpg")


## Q.iOSアプリのA/Bテストやってますか？

- [AmazonのA/Bテスト](https://developer.amazon.com/public/ja/apis/manage/ab-testing)
	- 使ってみたが想定どおり動かなかったので諦めた
- [Optimizely](https://www.optimizely.jp/ab-testing/)
	- 利用するための費用が高かったため諦めた

## Q.効果測定についてはどういう取り組みをしてますか？

グロースチームがあってサインアップ導線の改善に取り組んでいたりする。

効果測定には自社開発の効果測定ツールを導入しているのとKISSmetricsを導入している。

- 自社開発の効果測定ツール
	- 主に自社開発の効果測定ツールは全社で閲覧用途
- KISSmetrics
	- 開発者が確認するような使い方をしている。

また、ビジネスサイドのマーケティングの人たちがSQLを書けるようになっていて、マーケティングの人たちが必要なものは自分たちでSQLを実行している。マーケティングの人たちは会社に入ってからSQLが書けるようになったみたい。

もちろん最低限必要な解析用のSQLは開発者が書いて用意したり頼まれることもある。

![自転車.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/6ea1dc1f-d754-ec1e-efda-0705c76b339c.jpeg "自転車.JPG")

## Q.Swiftは使ってますか？

やるときはがっつりSwiftで置き換えようと思っていて、Swift用のブランチもある。徐々にブランチをマージしていきたい。

## Q.朝会してますか？

エンジニア全体だけの朝会とチーム別の朝会がある

- 最初は昨日やったことをみんなが発表していた
	- 人が増えたことで全体だとよく聞こえないこともあるし形骸化してった
	- 話したい人だけが先にホワイトボードに書くようにした
		- 例えばリリースの懸念を共有するよとか
	- 話が長くなるやつは予めQiita Teamに書いたり


## Q. Qiita Teamどんなふうに使ってますか？

- エンジニアじゃない人も書く
- 使い分けとして信頼できる情報（運用ルールとか手順）はWikiとかGoogle Docsに書く
	- それ以外の情報は何書いてもいいよ（ポエムなども書く）
- Qiita Teamはエンジニア以外でも使いたいが値段が高価なので全社的に人が増えていくと厳しくなる

![Tシャツ達.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/20fefcad-d329-6122-5db5-8c5bac6f0756.jpeg "Tシャツ達.jpg")

## Q.ブランチはどのように運用してますか？

やはりgit-flowをベースにしている

- master: 基本的には触らない（リリース時にdevelopからマージ）
	- マージをフックしてリリースするようのビルドをしている
- Release: Releaseブランチはない

### Q.リリース用のビルドを自動化してるんですか？

Hipchatからmasterブランチへのマージ命令を出して社内jenkinsがビルドする
(Androidも似てる構成）。

リリース用のビルドを個人の端末に依存させたくないという思いが強い。

### Q.自動化のモチベーションってどうやって上げてるんですか？

- 前前職のGREEに自動化が好きな先輩がいた
	- そういう先輩のやり方を見て学習していった
	- ビルド用のコマンドはヘルプコマンド打ったりして調べたり
	- matttの[Shenzen](https://github.com/nomad/shenzhen)も参考にした

![ネットワーク機器.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/122a3698-5d65-1a65-84ff-60a85c715537.jpeg "ネットワーク機器.jpg")

### Q.旧TestFlightの移行先とかどうする予定ですか？

- 新TestFlightを使う
- 社内配布はAdHocビルドしてる（HipChatからQA用にテストサーバーにつながるバイナリをビルドもできる）

## Q.会社の自慢したいところありますか？

- 夜の弁当が毎日無料
	- 2つ弁当屋さんを選べてメニューも沢山ある
- freee Tシャツも無料で手に入る
- 飲み物とかカップ麺もある
- 夜弁当の時間にLT大会が定期的にある
	- LT中にホットプレートで焼きそばを焼いたりする
	- ビジネス側にもLTが波及した
- 開発者の朝は11時出社
- 社内でボードゲームをやったりオフィシャルな部活があり部費1万円が出る
	- メジャーな部活は麻雀部、バド部、テニス部、自転車部、卓球部、ミニ四駆部
	- 他にはオセロ部、ゴルフ部、オフィスハック部、米米ＣＬＵＢ（お米を炊く）
	- 部員は5人いないと部活として認められない。将棋部は今のところ2人しかいなくて部になっていない

## Q.インターン募集どうしてる？

- 知り合いにfreeeを紹介してもらったり
- [Wantedlyとかで募集をしてる](https://www.wantedly.com/projects/2293)

## Q.個人的にどういう人と働きたい？

@yo_waka「業務の効率化とか自動化が得意な人だとありがたい」
@yonekawa「スモールビジネスにフォーカスするのがミッションなのでそれに合った人、課題も問題も山積みのカオスの状況を問題解決をしていって楽しめる人」
@NaoMaemura「ビジネス側は新しいことを沢山やるので自分がやったことがないことをやれる人」

# 社内風景

社内にある駄菓子屋システム
↓「すっぱいぶどうにご用心」が懐かしい...

![社内駄菓子屋.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/cbe0bedd-05d6-c0d1-c606-fd9e06bf7a33.jpeg "社内駄菓子屋.jpg")


↓ 壁にミッションセリフ付き写真も貼ってある、カルチャー感じますね

![壁の写真一覧.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/51134d97-93c6-4c29-0ddc-355d9064a8af.jpeg "壁の写真一覧.JPG")

↓ ハイパー目標達成したいって！

![ハイパー目標.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/a5dd60ec-503a-a6ab-8ff2-57a127f43ca3.jpeg "ハイパー目標.JPG")

↓一つの顔写真を多用している部分に変なセンスを感じる...これ作った奴majikachiやん

![majikachi.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/bc7e2528-31fe-d89a-7d6e-60f3dea53f94.jpeg "majikachi.JPG")

↓ 画像で一言

![画像で一言.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/099f76ee-e870-7bce-51ac-83b0fd0e6d47.jpeg "画像で一言.JPG")

↓ [@NaoMaemura](https://twitter.com/NaoMaemura)は手作りスタンディングデスク！

![スタンディングデスク.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/74632363-ea41-860c-d589-3b1f34902814.jpeg "スタンディングデスク.JPG")

詳細はブログ「[All IKEAで2000円以下！スタンディングデスクを自作したよ](http://kakipy.com/articles/30)」に書かれてました。早速真似してみたい。

## 社内にある卓球台で勝負

インタビュアーの中で一番卓球ができる岸川さんが代表し、ninjinkunのfreee社への移籍を賭けて勝負！
絶対に負けられない戦い...

![卓球1.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/20dcd65a-e4ad-5ea0-18ba-73d9b8bffdbe.jpeg "卓球1.jpg")

![卓球負け.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/2099dcbc-5a28-969e-c648-82590370fcb7.jpeg "卓球負け.jpg")

負けてるやん!!

# 読者プレゼント！！

![Tシャツ.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/798af5b5-9047-9484-e771-98fbb2fdd79b.jpeg "Tシャツ.jpg")

プレゼント用にQiitaカラーっぽい緑のMとSサイズのTシャツを頂きました！このネタ記事をストックして@yimajoに会ったときに「シャツ欲しいぞい」と言って下さい。数に限りは有りますが、「え、シャツ？何？」って聞き返されたらそれは私ではないということですのでご承知おきください！！

# まとめ。オレはこう思ったっす 

実はこのiOSアプリ開発者インタビュー、細かい決め事は決めていないのですが、唯一決めているのはインタビューの後にお酒を飲みながらの食事をし、実際のところ不満はないのか酒の勢いで話してもらうということを行っています。

もし良いことばかりを訊いてそれを公開していると、この文章を見た人が良い側面だけに期待し、万が一採用のミスマッチが起こってしまったらそれはこちらの意にそぐわないことだからです。本来のこのインタビューの意図はそれとは逆で、転職が気軽に出来るようになった現在だからこそミスマッチをなるべく起こらないように開発者自身にインタビューをし、その組織にどのようなカルチャーがあるのか、良さそうな点も悪そうな点も含め公開する事で間接的にでも新しい環境に飛び込んでいこうとする人の判断材料の一部になればと思っています。

今回の食事では、インタビューに参加しなかったfreee社CTOも参加されることになり、freee社のメンバーが上司同席の形で萎縮して好き勝手に話せなくなってしまうのではないかと最初危惧していたのですが、CTOがお店の確認のため、夜の五反田をダッシュしていった時にそのような危惧が自分の思い違いだと気付かされました。

また、お酒を飲みながらCTOからこれからのfreeeについて語ってもらうことで、メンバーのモチベーションを上げる様子を見られて我々インタビュアー陣もとても勉強になりました。最近のコラボレーションツールを使って意思共有をすることや、価値基準を皆で修正していくことも大事ですが、面と向かってビジョンを語ることも重要ですね。

どのような話をしたのか気になる人は、freee社は[エンジニアを募集しているので行って話を訊いてみるといいかもしれません](http://www.freee.co.jp/recruit_eng?referral=aw-brand)。

...さーて、次はどこへ行っちゃおうかなー！

![集合写真.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/d3b6fbd6-c2eb-b913-384d-931821c1c782.jpeg "集合写真.jpg")


# 関連のインタビュー

- [新インタビューシリーズ - Stargzr（スターゲイザー）](https://stargzr.net/interviews/)
- [旧「iOSアプリ開発の現場で訊いてみた」タグの付けられたシリーズ](http://qiita.com/tags/iOS%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%81%AE%E7%8F%BE%E5%A0%B4%E3%81%A7%E8%A8%8A%E3%81%84%E3%81%A6%E3%81%BF%E3%81%9F)