はじめに
2017年2月16日にSansan社のテックカンファレンス Sansan Tech Meetup #1 モバイルアプリ編のトークセッションの司会進行をSansan社の人間でない私@yimajoにお願いされたので、その際にリアルタイムで内容をまとめましたのでそれを公開します。
トークセッションの時間は30分間でTwitterのハッシュタグ #Sansan_tech_meetup のツイートをプロジェクタで写しながら、あらかじめ用意したお題に「登壇者全員が答えるタイプ」、「さらに聞きたいことをハッシュタグでツイートしてもらってそれを拾っていくタイプ」、「答えづらい質問を登壇者の誰に答えてほしいかをツイートで指定してもらう選ぶタイプ」の3つでやってみました。
以下、当日にモデレータをやりつつメモ書きしたまとめです
トークセッション 「モバイルアプリの開発フローを語る」 with Sansanフレンズ
Q. 自己紹介含めて入社前はどんなアプリを作っていましたか?
- 山本純平さん
- Eight Android 開発リーダー: @boohbah
- 2015年に入社
- 入社前はiOSアプリで写真を管理するアプリを作ってた
- その前は組み込み
- 坂本さん
- Eight iOS 開発リーダー: @kazu0620
- 2015年に入社
- 入社前はKLabでソーシャルゲームのサーバサイドを担当
- その後二年ぐらい個人で貯金を切り崩しながら箱庭ゲームを作っていた
- 四方さん
- Sansan アプリチームリーダー: @dotrikun
- 2015年に入社
- 入社前はMonacaというHTML5でモバイルアプリ開発するフレームワークを作っていた
Q. 競合他社のWantedly Peopleについてどう思いました?
#Sansan_tech_meetup 会社の話より wantedly people が出てきてどう思ってるとか、ここでしか聞けない話を聞きたいw
— (ง •ૅ౪•᷄)ว (@iwa4) February 16, 2017
(答えづらいので、答えて欲しい登壇者を #Sansan_tech_meetup 付けてツイートしてね)
- 山本純平さん
- 坂本さん
- 四方さん
(誰に答えてほしいかツイートされなかったのでこの質問はスキップになりました。この質問方式を理解されてなかったかもしれないのでもっと後半にしたほうがよかったですね)
Q. 開発の工数見積について教えてください
(純平さん四方さんに質問)
- Eight 山本純平さん
- scrum。スプリントで2週間毎に見積もりを行う
- 見積もりの単位を1たんぽぽとしてそれを基準に見積もりを行っている
- Sansan 四方さん
- scrum。Eightが先行してやってるのでスプリントをやっている
Q. リリースの予定はどんな感じ?
(#Sansan_tech_meetup でツイートしてくれた質問から)
#Sansan_tech_meetup
— しゅーめー (@hikitate_cafe) February 16, 2017
数ヶ月かかるような大きめの機能開発の場合に遅れずにリリース出来るのか。初期の見積もりからどれくらいずれるのか、どう納期に間に合わせるのか聞きたいです。
- Sansan
- 事業ドリブンで決まる
- Eight
- 事業ドリブンで決まるものに関しては2週間でリリースできるものを見積もりした中から入れる
Q. どんなテストコードを書いてる?
(登壇者全員回答)
- 山本純平さん
- アプリでユニットテストそんなに必要ないと感じる
- 経験上割に合わないかも
- 坂本さん
- View周りは割に合わないかも
- 入出力があるものはやってる
- 四方さん
- ビジネスロジックはやってる
Q. xamarin使わないの?
(#Sansan_tech_meetup でツイートしてくれた質問から)
#sansan_tech_meetup xamarinなどのクロスプラットフォームに対する見解を聞きたい。(きびしいのであれば何が) サーバサイドは.net framework?であればxamarin入れてc#祭りにするのもありかと
— negabaro (@negabaro) February 16, 2017
- 昔EightはCordova(Webベースの)を使ってiOS/Androidを1ソースでやってた
- 無理やりやるところもあった
- 今は要件に合わなくなってきた(例えばiOSの新機能をすぐに使いたいとか)
Q. Gitのブランチってどんなふうに分けてる?
- 山本純平さん, 坂本さん
- 機能毎にfeatureブランチからdevelop
- リリースしたらmasterに
- 四方さん
- developからスプリント用にブランチを作ってる
Q. PullRequest時のコードレビューで気をつけてることは?
- 山本純平さん
- 自分で実装することを考えてそっからレビュー
- 坂本さん
- 絵文字を入れる
Q. 開発について今後改善したい課題ありますか?
- 山本純平さん
- サーバサイドとのコミュニケーションを改善
- 坂本さん
- レガシーコードをなんとかしたい
- オブシー3万5千行をなんとかしたい
その他答えられなかった質問
時間が足りなかったりその場で気づけくて答えられなかったものも貼っておきます
#Sansan_tech_meetup
— しゅーめー (@hikitate_cafe) February 16, 2017
開発していく中で辛いことって何かを皆さんに聞きたいです。
#sansan_tech_meetup アプリケーション実装際にセキュリティー面懸念して自走してる部分あれば共有していただきたいです
— negabaro (@negabaro) February 16, 2017
#sansan_tech_meetup アプリのパフォーマンステスト方法についても知りたいです。(サーバサイド除きアプリケーションだけのパフォーマンス状況測定方法)
— negabaro (@negabaro) February 16, 2017
#sansan_tech_meetup メンテ画面切り替えどのように実装してるか知りたいです
— negabaro (@negabaro) February 16, 2017
#Sansan_tech_meetup 「スーパープロダクトオーナー」もアジャイルチームに入ってるん?
— kurikazu (@kurikazu) February 16, 2017
おわりに
先月から今月にかけて、ITベンチャーのカンファレンスが多く開催されている、これなんでだろうと。各社3月末決算になってて予算を消化したいのかな?それとも単純にベンチャー企業は新卒採用をあまりしないから転職時期として4月あたり新しい人が入ってくるのをまとめたい?など色々雑に考えられることはあると思いますが、テックカンファレンスって期待して行っても会社説明を中心にされたり発表に慣れてない社員が自社開催のイベントだからと練習不足の発表をされたり、そういうのは聞く方としてはがっかりする、というのがありますよね。逆に、どうだ俺たちのやり方は良いだろうすごいだろってな感じで発表されるのも、それはそれで嫌なので難しい。
技術的な仕事をするということは、いつも技術的課題や問題を解決しようとしていることなのでテックカンファレンスを聞きに行くモチベーションは、他社の解決方法を具体的に知りたいということじゃないかと思うんですよね。ググって分かることや、会社のことが知りたいのではない。特に実際の本当の声に近い部分が知りたいんだろうと思います。
今回は、「トークセッションは社内の人間だけでやってしまうと身内で褒めたり承認しあって寒い感じにしらけて終わるのを避けたい」と、社外の私にモデレータを依頼してきたのは、なかなか面白い取り組み方だなと感じました。私も初めてだったので色々試しすぎたなとも思うのですが、他のテックカンファレンスや勉強会の参考になればと思います。