エキサイト株式会社の就業型インターンでFlutter開発に参加して学んだこと

はじめに

2024年10月の1ヶ月間エキサイト株式会社のインターン「Booost!!! Excite Internship 2024」でFlutter開発に携わらせていただいた野村です。今回はこのインターンを通して学んだことや感じたことを紹介させていただきたいと思います。

自己紹介

私は、情報系の学科に所属する大学3年生です。普段は大学で立ち上げた開発サークルや長期インターンにて、FlutterやReactなどでモバイルアプリケーションやWebアプリケーションの開発を行なっています。

業務内容

私は、今回のインターン期間は「ウーマンエキサイト」のモバイルアプリ開発に携わらせていただきました。具体的には、ユーザー自身が書いたコメントを一覧表示する機能について実装を行わせていただきました。また、既存の機能についての修正について取り組ませていただきました。

学んだこと

今回のインターンにおいて学んだことは、以下のように大きく3つあると考えています。

  • 先々の変更を想定した実装を行うこと
  • ユーザーの視点に立った実装を行うこと
  • チーム規則の重要性

先々の変更を想定した実装を行うこと

今回のインターンでは、業務と同じように毎回コードレビューをしていただきました。その中で、先々の変更を想定した実装を行うことの重要性を学びました。

例えば、現在実装されている画面の中で、一番下にある要素へスクロールを行う、という修正のタスクを担当させていただきました。この中で、私は現在の実装において、最下部の要素であることから、「最下部へスクロールする」といった内容の実装を行ない、レビューをしていただきました。 この際、「レイアウトの構成次第では想定と違う挙動になってしまうリスクがある」との指摘を頂きました。具体的には、現在最下部にある要素の下にさらに何かしらの要素の追加があった場合に更なる変更が必要になるという趣旨でした。このようなご指摘を頂く中で、後々の変更を意識した実装は、長くサービスを運営・改善し続けるために重要なものであると学びました。

私の経験では、長く維持し続けるサービスを開発するということがなく、この観点は実務に携わらせていただいたからこそ学べたものであると感じています。

ユーザーの視点に立った実装を行うこと

インターン業務の中で新機能の開発と既存の機能の修正のどちらにも共通して、ユーザーの視点に立った実装の重要性を感じることができました。

業務ではモバイルアプリケーションの開発に携わらせていただいたので、実際にユーザーが使う画面を実装することがほとんどでした。その中でタスクとして渡されたものの多くはユーザービリティ向上のための修正が多く含まれていました。

また、メンターの方から、実際の業務の中でデザイナーの方と話し合いながらUI/UXの修正を行なっていくことも多々あると伺いました。私は今回、その機会には恵まれなかったのですが、このように職種を超えて話し合いながらユーザーにとって使いやすい製品を目指すことにとって重要なのだろうと考えました。

チーム規則の重要性

インターン期間中にマネージャーの立場の方とお話しする機会がありました。その中で、チーム内で用いれているドキュメントについてお話を伺うことができました。

ドキュメントには、エンジニアとしての心がけから、Gitの運用方法まで細かく記載されています。このドキュメントはインターン初日から閲覧できるようになっていたのですが、私は業務に差し当たって必要な箇所しか確認していませんでした。しかし、お話を伺う中でドキュメントを作るに至った経緯やその重要性について理解し、その後じっくり読む時間を設けました。

このドキュメントについて、私は大きく2つ大きな意義があるのだと考えています。ひとつは、チームの中で入れ替わりがあってもチーム全体の意思や目指すところをいつでも確認できるということです。そしてもうひとつはチームの中でのコミュニケーションにおいて不必要な障壁をなくす効果です。

思い返してみると、インターン中にお話ししたことのなかった方とコードレビューを通してコミュニケーションする中でも大きな問題を感じたことはなかったです。これは、ドキュメントに準拠したブランチの切り方やコミットメッセージ等をお互いが認知し、それを守っていたことが大きいと考えています。

チームの目指すことや規則を明示的にすることは、実践することのできることだと思うので、今後サークル等でも活かしていきたいと思います。

最後に

今回のインターンでは、実際の業務に入ることでしか味わえない経験を多くさせていただいたと思います。上述したもの以外でも、例えば実際に私が開発した機能がローンチされて自分の端末で使えるようになったときの喜びは大きかったです。

また、フルリモートであっても業務の中での不明点をメンターの方にすぐに聞くことのできる環境だったため、遅滞なく作業できた上、コミュニケーションの問題も感じずに参加することができました!

今回学んだことを糧として今後も頑張っていきたいと思います。関わっていただいた皆さんにとても感謝しています!ありがとうございました!