Android初心者がCA Tech Challengeに参加してみた

今回株式会社CyberAgentさんのインターンシップのCA Tech Challengeに参加しました。参加してみた感想をAndroid初心者、技術系のインターンが初めての僕の視点で書いてみました!

 

 目次

 

 

今回のインターンについて

3days iOS/Android向け 開発型インターンでは、サイバーエージェントの人気サービス「AbemaTV」において架空の新機能を実装して頂きます。2019年9月に実施された「AbemaTV Hack」と同内容のインターンです。

 このように説明されています。

また、今回はすべてリモートでの開催でした。

僕が参加したのは

2020/9/14(月)~9/16(水)の3days iOS/Android向け 開発型インターンです。

cyberagent.snar.jp

 

どんな課題だったか

紹介通り架空の機能を実装しました。

サンプルアプリは実装済みでそこから架空機能の実装を行います。

サンプルアプリは

  • 動画データは用意されている
  • 動画プレイヤーも実装済
  • jsonファイルのデータを使って動画データを取得

こんな感じでした。

 

雰囲気

チーム分けがされており今回はiOS 2チーム、Android 2チームの計4チームです。

僕のチームは学生2人に対してメンターさんは2人でした。

開発は個人開発です。

質問がある場合は1日1回の進捗共有タイムやSlackでメンターさんに連絡してzoomやメッセージで教えてもらえるというリモートならではといった感じでした。

質問は主にメンターさんに聞くことが多かったですが、オンラインということもあり、Discodeでもう一つのAndroidのチームのメンバーと1つの部屋で全員で実装していたので、他の学生同士質問したりしていました。僕は何度も質問して、助けてもらいながら実装をしていました。

 チームのメンバーの人には実装方法の相談やエラーが出た時など頻繁に相談していたため、特に助けてもらいました!

 

実装

メインの実装内容

僕のメインの実装は

教育番組の提供を仮定し、番組内容に沿ったクイズを解くための画面の実装です。

現状のリモートの学習による学習環境の格差があると考え、ABEMAでも教育関連の動画を出すことで今後は勉強用のコンテンツとしても使用できるようになるのではないかと思いました。そのときに受けるだけでなく幅広いユーザが受けられるようにクイズの形式にすることで復習しやすいと思ったためこのような実装にしました。

実装の内容は

  1. 受けたくない人や視聴視聴している人の邪魔にならないようスイッチの切り替えで画面の表示が切り替えられるようになっています。
  2. クイズ終了後はクイズ結果を表示し、自動で画面が消えるようになっています。
  3. スイッチのON/OFFの切り替え時に毎回選択肢をランダムに表示しているので何度も時直しができる

 これをメインの実装として取り組みました。

その他実装

  • 端末ごとの画面サイズによってボタンが切れないようScrollViewをボタンに使用
  • 動画のミュート機能をプレイヤーの最新のsetDeviceMutedを使って実装(時間が足りず間に合わず…)

感じたこと

ググることの大切さ

わからないことを解決するためにググることは大事だと改めて痛感しました。

分からない部分を自分で調べることで何がダメだったか気が付くことや相手に聞くときに聞きたい内容が明確化でき、説明をしやすくなりました。

 

質問することの大切さ+聞くまでの時間の目安の意識

ググることも大切だと思いましたがそれ以上に質問することの大切さを感じました。

1日目はリモートということもあり、頻繁に相談できていなかったこともあり、一つの問題を解決するために時間をものすごく使ってしまいました。

2日目にメンターさんから30分考えても分からなかったら質問!ということを言って頂き、このことを意識し、質問するようにしてから開発が一気に進みました。

また、自分が考えた方法とは違った方法や自分が思いつかなかった方法も聞くことができ、自分の持っていない視点や考え方についても聞くことができ、質問をするだけで勉強になることが多かったです。

自分で解決することも大切ですが質問することも開発していく上で大切なことなんだと思いました。

また、メンターさんから自分の今後の取り組みについて方法や意識することを聞くことができて技術面以外でも沢山のことを勉強できました!

感想・まとめ

今回のインターンに参加して自分に足りないものや今後やっていくこと、意見のまとめるための方法など今までモヤモヤしてたものが技術面、技術面以外の両面で解決でき、とても勉強になる楽しいインターンでした。

時間が足りず初日実装しようとしていた内容までたどりつけなかった(実装時間の見積もりも甘かったのありますが…)点は悔しかったので今後の実装に活かして成長していければと思っています。

また、社員さんとお話をさせて頂ける機会がとても多く、こんなにも色々なことが聞ける時間があるのかと驚きました。社内紹介や懇親会などのコンテンツも多く、最初から最後までずっと楽しかったです

また、他のAndroidiOSをやっているメンバーとコミュニケーションをとることができたのもとても良かったです!

インターンに参加して、他のメンバーの話を聞いて更にモチベーションが上がっています!

最後まで読んでくれた方、 関係者のみなさんありがとうございました!