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

![IMG_2746_Fotor.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/f019c350-130e-bce6-935e-32162f89e768.jpeg "IMG_2746_Fotor.jpg")


iOSアプリ開発の現場で訊いてみた！シリーズ第4回。Wantedly社のCTOである@kawasyに呼ばれて行ってきました。

<blockquote class="twitter-tweet" data-conversation="none" lang="ja"><p><a href="https://twitter.com/yimajo">@yimajo</a> ウチにもまた遊びに来てください！</p>&mdash; Yoshinori Kawasaki (@kawasy) <a href="https://twitter.com/kawasy/status/501390473223618562">2014, 8月 18</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

# 訊いてきたこと

インタビューに応じてくださったのはWantedly社の@reikubonaga、@susieyy、@jun0342の三人。

[ユビレジ編](http://qiita.com/yimajo/items/bb75fb91c0d48a6d2196)でインタビューに応じてくださった
@kishikawakatsumiは今回もインタビュアーとして参加しました。

## Q.作業している机の広さはどれくらい？

↓写真をお願いしたら気さくに片付けてくれる@reikubonaga

![机片付け.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/3cb0efea-6432-b830-e4dc-71f882360d9e.jpeg "机片付け.jpg")


↓ 机の広さは伝わりますかね？

![机の大きさ.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/ac5fa108-d8e3-974a-3cf6-505dcc2fb09c.jpeg "机の大きさ.jpg")


↓用事があったようで残念ながらインタビューに参加されていなかったデザイナの@ferasyasin@githubの机

![IMG_2784_Fotor.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/885a87b9-9520-7e5c-4216-577bac53fd6a.jpeg "IMG_2784_Fotor.jpg")

机にデザインパターンの本が！

さすが、Wantedly/Sioriアプリのデザインが優れていたのは「デザイン」パターンの本を読んでるからか...！！！

<a href="http://www.amazon.co.jp/gp/product/B00I8ATHGW/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B00I8ATHGW&linkCode=as2&tag=architectlabw-22">
![](http://images-jp.amazon.com/images/P/B00I8ATHGW.09.MZZZZZZZ.jpg)
</a>

[Java言語で学ぶデザインパターン入門](http://www.amazon.co.jp/gp/product/B00I8ATHGW/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B00I8ATHGW&linkCode=as2&tag=architectlabw-22)はKindle版も出てるみたいです。

## Q.バージョン管理システムは何を使ってる？

- GitHubを使ってる

## Q.コードレビューをどのように行ってる？

- GitHubでのPull Requestのタイミングでレビューしてる。


![IMG_2836.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/8f46366d-5bde-b4d9-0a6b-111d8099de49.jpeg "IMG_2836.JPG")

## Q.ブランチの運用はどのようにやってる？


- masterブランチ: これにどんどん取り込んでいく
- featureブランチ：大きな機能がある場合はmasterから作りmasterにマージ
 - topicブランチ: 機能別にfeatureから作りfeatureやmasterにマージ

人が増えたら変えるかもしれない


## Q.Storyboardやプロジェクトファイルなどでコンフリクトが起こらないように工夫してる？

タブごとにStoryboardを分けてる。カスタムビューがあればxibファイルで作成。

## Q.「開発環境の改善とかコミュニケーション改善で自慢したいところ」とかある？

- 社内ブログはPull Requestで投稿してレビュー後に公開される（なので社外の人でもやろうと思えば投稿できる）
- 技術記事投稿ではQiitaもよく利用していて[Orgzanizationで3位](http://www.sasaplus1.com/qiita-organizations-graph/)まで来ている
 - ナレッジは社内に貯めずに外に書く
 - Qiitaドリブン開発（QDD）
- 週一でカルチャーランチがありビジネスサイドの人たちとランチをする
- エンジニアも営業の講習を受けたりもする
- Swiftが登場してすぐ社外の人も招いての勉強会をやろうとなった

![IMG_2806_Fotor.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/184399c1-43f5-13e9-02c6-33e66806211f.jpeg "IMG_2806_Fotor.jpg")

![IMG_2809_Fotor.jpg](https://qiita-image-store.s3.amazonaws.com/0/16400/a5246575-67c6-c62e-af81-9a3c9614e34a.jpeg "IMG_2809_Fotor.jpg")


## Q.現状の開発に関する不満点やさらに改善したい点などある？

- 朝9時から始まるのは家が遠い人には厳しい
 - 遅刻するとレッドブルを買ってくることになっている
 - 遅刻すると（レッドブルが手に入ることで）感謝と称賛される面もあって複雑な気分になる

## iOSアプリ開発ではどのようなライブラリを使ってる？

- [Bolts](https://github.com/BoltsFramework/Bolts-iOS)を使ってる
 - 非同期と同期を意識しないで書ける
- Sioriのインタラクションのために自前のインタラクティブトランジションも作ったが[pop](https://github.com/facebook/pop)も使っている
- KVOのために[KVOController](https://github.com/facebook/KVOController)を使っている
- [RESTKit](https://github.com/RestKit/RestKit)もよく使っている
 - 基本的には通信結果のCore Dataへのマッピング。ページネーション書きやすいのもいい
- Wantedlyアプリのログイン周りは[KIF](https://github.com/kif-framework/KIF)使ってた
- Siori独自のインタラクティブトランジションは一部OSS化できるかも

## Q.利用しているツールや開発スタイルは？

- チャットツールとしてはHipChatからSlackに乗り換え
 - SlackはGitHubのNotificationを通知するようにしている
- ソースコード中にほとんどコメントを書かない
 - コメントを書かなくても分かるようにソースコードを書いて、わかりづらいところはURL書く
- コミットログとプルリクのタイトルは英語
- issue上は日本語で議論している


## Q.テストやCIはどうしてる？

- Wantedlyのサーバ側は相当自動化されているのでiOSアプリ開発も[Travis CI](https://travis-ci.org/)でテストに関してトライしようとしては挫けてる
- Sioriアプリ
 - インタラクションが中心のアプリなので手動のテストをかなりこなした
- Wantedly求人アプリは自分たちでテストシナリオを書いて自分たちでテストをするスタイル
![IMG_2828.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/a837504f-ae91-906a-2bd9-70d44bc9c5a8.jpeg "IMG_2828.JPG")


## Q.Wantedly社の採用試験は厳しいと聞いたことがあるんだけど？

- 最終面接は合計3時間ぐらいだった気がする（@susieyy）
- スキル面と会社のカルチャー面が合うかどうかは慎重
 - ただ4年前の自分のような人がスキル面で入れないかもしれないのは寂しい（@reikubonaga）


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

- （何をするかより誰と働くかが重要なので）面白い人と働きたい（@jun0342）
- とんがった人ばかりのいるWantedlyで安定感のあるCTO @kawasyの存在は実は大きくて頼りになる（@reikubonaga）
 - 会社が小さかった頃にあんな優秀なCTOが何を思って転職してきたのかが知りたい（@reikubonaga）
 - [「おしゃれ　CTO」](http://blog.wantedly.com/post/61471298851/cto-nozomi)でググるとCTOがおしゃれに挑戦してる記事が出てきて笑える（@reikubonaga）
 - 新卒の内定式でなぜかCTOが新入社員っぽい感じになってるので笑える（@reikubonaga）

![](https://d2v9k5u4v94ulw.cloudfront.net/small_light(dw=640,da=s,ds=s,cw=640,cc=FFFFFF)/assets/images/38586/original/4ce8ced1-a0e0-4e0b-9f95-033f16ed2996.jpeg?1412131314)

↑[Wantedly社の内定式の写真だそうです。](https://www.wantedly.com/companies/wantedly/posts/947)
（向かって右がCTO。右手のぎこちない握りこぶしに緊張感と今後への期待感を感じますね...）


# さいごに。オレはこう思ったっす

今年の夏に発表されたばかりのSwiftでSioriを開発していったWantedly社。今後のiOSアプリ開発でもSwiftを使っていくようです。

Swiftがベータ版だったころからSwiftで新規のアプリを作るという話を聞いていましたが、その時はまだとても非効率だしアップデートによる仕様変更に追随しないといけないし、そもそもSwiftじゃないと出来ないなんてことはないだろうしで正直バランスが悪い判断だと思っていました。


ただ、話を訊いていると彼らはただ単純に新しいものが好きとかObjective-Cが嫌いだからということではなく、当然慣れているObjective-Cでコーディングしたほうが今はまだ効率的だと分かっていたようです。それでもSwiftに挑戦することにより、運営しているサービスのテーマである「シゴトでココロオドル人をふやす」を実践しようとしているのだそうです。

これは、なんだかジョジョ5部のあのセリフを思い出させてくれるんじゃないでしょうか...

>「結果」だけを求めていると、人は近道をしたがるものだ…。近道した時真実を見失うかもしれない。やる気も次第に失せていく。大切なのは「真実に向かおうとする意志」だと思っている。
>
> ジョジョの奇妙な冒険 第59巻

そうだったのか...。
いや、ちょっとこれは強引すぎましたねw

Wantedly社はまだまだiOSアプリ開発者を募集されているとのことなので詳しく話を聞きに行くのも良いかもしれません
https://www.wantedly.com/projects/7755

# 読者プレゼント!!

![IMG_2841.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/549fb96c-ba4f-405d-d701-f8cf47dae9a5.jpeg "IMG_2841.JPG")


![eye_wantedly_ios_w500.jpeg](https://qiita-image-store.s3.amazonaws.com/0/16400/b9ba088a-6d41-5f5d-c28d-64702833cee8.jpeg "eye_wantedly_ios_w500.jpeg")


Wantedly社からMacBookのフタに貼ると良いらしいステッカーを頂戴しました！この記事をストックして@yimajoに会ったときに「ステッカー欲しいぞい」と言って下さい。数に限りは有りますが、10月一杯まではステッカーをカバンに入れて持ち歩きます！「え、ステッカー？何？」って聞き返されたらそれは私ではないということですのでご承知おきください！！

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


# 関連のインタビュー

- [新インタビューシリーズ - 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)