サイボウズサマーインターン2019 報告 〜モバイルアプリ開発コース

集合写真 こんにちは!モバイルチームの刈川です。 今年もサイボウズではサマーインターンシップを開催しました。 今回は開催コースの一つであるモバイルアプリ開発コースの内容をご紹介したいと思います。

概要

毎年モバイルアプリ開発コースでは就業型のインターンを行っており、今年も実際の業務に近い形で開発をしてもらいました。 ※去年の様子はこちら

参加者が製品のソースコードに触れ、社員と一緒にチームを組んで開発を進めていくことでサイボウズの開発の空気を感じてもらうことが大きな目的のひとつです。扱う製品は毎年その時の開発状況によって違うのですが、今回は kintone のモバイルアプリ開発(kintone mobile)に挑戦してもらいました。kintome mobileにはiOS版とAndroid版があり、参加者の希望に合わせてiOSチームとAndroidチームに分かれて開発を行いました。 両チームとも開発する機能は同じで、今回は「インクリメンタルサーチ機能」に焦点を当て、両OSともに並行して開発を進めていきました。

期間は以下の3日程です。

  • 2019年8月5日〜8月9日
  • 2019年8月26日〜8月30日
  • 2019年9月9日〜9月13日

各日程を5日間で区切り、ざっくりと以下のような工程で進めていきました。 時間割

1日目

チュートリアルの様子
チュートリアル
いきなり製品のソースコードを見せられて「さぁ開発してね!」というのもなかなか難しいと思うので、まずはじめにkintone mobileの設計の解説を行ったあとにかんたんなチュートリアルを行います。チュートリアルではReactivePrograming(RxSwift/RxJavaの基礎を中心に、開発中によく遭遇するであろう問題とその解決手法の体験をしてもらいました。

2日目〜4日目

プランニングの様子
プランニング
2日目から本格的な開発が始まります。まずは実装する機能の実装計画(プランニング)をチーム全員でやっていきます。 ここでは実装する画面のクラス設計や命名、データの流れに関する部分などの取り決めを全員で決めていきます。これらの項目を実装に入ってから全員で相談していると途中で手が止まってしまうため、実装に入る前に一気に計画するようにしています。

開発はモブプログラミング形式で進めていきます。モブプログラミングでは実際に手を動かす「ドライバー」1人と、そのドライバーに指示を出す「ナビゲーター」複数人に分かれます。手を動かす人が固定されないように、時間で区切って適宜メンバーを入れ替えていきます。インターンでは、メンターが手取り足取りナビゲートするのではなく、時には参加者がメンターにナビゲートする場面もあり、インターン参加者が実際の開発チームの一員であるかのような立ち位置で開発を進めていきました。

中間レビューの様子 途中でiOSチームとAndroidチームとで中間レビューを行い、両OSの実装について議論しあったり、ノウハウの共有などを行います。

5日目

成果発表会の様子 五日目の最終日に成果発表会を行います。発表では他のコースの参加者とメンターを交え、コースでやったことや実装した機能のデモ、学んだことなどを発表してもらいました。

懇親会の様子
発表会を終えたあとは社員を交えて懇親会。お疲れさまでした!

参加者の感想

インターンに参加してくれた方の感想を一部ご紹介します。

このインターンに参加した目的として実プロダクトに関わるコードを書きたいというものと、サイボウズの文化を肌で感じたいという2つがありましたが、そのどちらも達成できたように思います。とても楽しくかつ充実感のある一週間でした。ありがとうございました。


とても濃い時間だった反面、一瞬で終わってしまった感じでした。 5日間という短い期間でも技術的にある程度の成果を出すことができ、他にもいろんな面で収穫がありました。すごく自分の糧になったなと思います。


Androidの開発についてたくさん吸収できましたし,モブプロのメリットを体験できたのはもちろんなのですが,ボトムアップで価値を発揮できる社風を感じることができました.きっと挑戦を受け入れてくれる会社だと思いましたし,実際に働いてみてもやりがいを感じることができそうだと思いました.

まとめ

モバイルアプリ開発コースは毎年扱う製品が違っていて、さらにiOSとAndroidとでやる内容も変わってくるので、できるだけ参加者の希望に添えるようコースの内容を毎年変えています。参加してくれた方が満足して帰ってもらえるよう、今後も改善を重ねていく予定です。そしてインターンを通じてサイボウズという会社を知り、参加してくれた方々の会社選びの参考になれば幸いです。