こんにちは!
2020年2月中旬から4ヶ月ほど、AndroidチームでインターンさせていただいたGo(@TwisedGoap)です!
本記事では、RadiotalkのAndroidチームで体験したこと・成長できたことを紹介します。
最初のタスクはデザイン修正
最初のタスクは「タグ一覧のリストデザイン修正」でした。
具体的には、次のことをしました。
- アイコンを角丸にする
- 「#」マークをアイコンの右上に設置する
以下の画像が、実際に修正した様子です。
Kotlinのコードを書くよりも、XMLのコードを修正する方が比較的簡単だろうと思って着手しましたが、全然そんなことはありませんでした😅
その理由は、次のような細かいルールに則る必要があったからです。
@deminの値を使って、レイアウト崩れを防止する
XMLで4dp
上にマージンが欲しいときは、次のように書くと思います。
android:layout_marginTop="4dp"
しかし、Radiotalkでは次のように書きます。
android:layout_marginTop="@dimen/space_4dp" // dimens.xml <dimen name="space_4dp">4dp</dimen>
どちらも4dp
上にマージンを指定しているのは変わりませんが、Radiotalkではdimens.xml
に定義した値を使っています。
一見すると回りくどく見えますが、「アプリで使えるスペース幅は決まっている」という意識づけがされます。
デザインスペックに合わせる
デザインスペックとは、デザイン上の幅や色を細かくみるためもので、RadiotalkではFigmaで共有されています。
エンジニアはデザインスペックにできるだけ従って実装していきます。
全然難しいことはなさそうですが、僕にとっては結構大変でした。
それは、XMLとデザインスペックを照らし合わせて確認作業をしていたからです。
そのため確認に時間がかかりすぎたり、見落としが多くなってしまいました。
これを解消してくれたのは、Window VQAというアプリでした。
Window VQAはスマホ画面上であらゆるViewのサイズを測ることができます。
Window VQAを知ってからは、デザインの確認がスムーズになりました。
アーキテクチャを理解する
インターン開始から1ヶ月ほど経ち、一通りの開発フローをこなせるようになったところで、アプリ全体に関わるタスクを着手するようになりました。
そして、このインターンでの最大の壁に直面します。
それは「アプリのアーキテクチャの理解」です。
Hello, マルチモジュール!
RadiotalkのAndroidアプリはマルチモジュールのプロジェクトになっていて、以下のようなモジュール分けがされています(※大部分が省略されています)
また、モジュール内・モジュール間の具体的な実装は、Layered Architectureに従っています。
私自身、MVVM, Layered Architectureなど用語は知っているつもりでしたが、実践したことはなかったので、なかなか慣れるまでに時間がかかりました。
「Androidの会」でキャッチアップ力をつける
RadiotalkのAndroidチームでは、週1で「Androidの会」を実施して、Androidに関する情報共有をしていました。
私がインターンをしていた時期は、Android11の新情報がたくさん出ていた時期であり、Androidの会でもよくトピックになりました。
Androidの会で共有したいことは予めGitHubのissueにコメントしておく運用でした。
そのため、前にコメントしている人とトピックが被らないようにしたくなります(別に被ってもよかったけど😅)
自分はいつも後からコメントしていたので、いつも違うトピックを見つけてくるのに躍起になっていました。
そのおかげか、
- Androidの良い情報が集まる場所はどこなのか
- Androidの最新情報の出どころはどこなのか
などがわかるようになり、自ずとキャッチアップ力が向上しました。
さいごに
Radiotalkでのインターンを経て、自分は「Android好きな学生」から「Androidエンジニア」にレベルアップさせてもらったと感じでいます。
また施策に取り組む中で、自分の目指したいエンジニア像が変わり、
明確に「グロースエンジニア」を目指していきたいと思うようになりました。
また、新しい開発現場でもすぐに施策にアサインできているのはRadiotalkでの経験のおかげに他なりません。
改めて、Radiotalkの皆さんに感謝申し上げます。
本当にありがとうございました!