Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

IMG_2746_Fotor.jpg

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

訊いてきたこと

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

ユビレジ編でインタビューに応じてくださった
@kishikawakatsumiは今回もインタビュアーとして参加しました。

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

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

机片付け.jpg

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

机の大きさ.jpg

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

IMG_2784_Fotor.jpg

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

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



Java言語で学ぶデザインパターン入門はKindle版も出てるみたいです。

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

  • GitHubを使ってる

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

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

IMG_2836.JPG

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

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

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

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

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

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

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

IMG_2806_Fotor.jpg

IMG_2809_Fotor.jpg

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

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

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

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

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

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

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

  • Wantedlyのサーバ側は相当自動化されているのでiOSアプリ開発もTravis CIでテストに関してトライしようとしては挫けてる
  • Sioriアプリ
    • インタラクションが中心のアプリなので手動のテストをかなりこなした
  • Wantedly求人アプリは自分たちでテストシナリオを書いて自分たちでテストをするスタイル IMG_2828.JPG

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

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

Q.どういう人と働きたい?

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

Wantedly社の内定式の写真だそうです。
(向かって右が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

eye_wantedly_ios_w500.jpeg

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

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

関連のインタビュー

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした