minneのAndroidエンジニアとして配属されて1ヶ月でやったこと

突然、新卒説明会でデスメタルを歌い出したり、CTOがラップをする会社に入社して、2ヶ月経ちました。

 

 

 

 

 前職の同期に「社長が最近YouTuberになったんだ」と言ったら、「え?・・・大丈夫なの・・・?それは・・・?」と若干引いていたけども、全然大丈夫です。超楽しく、かつ真面目に仕事をやっている人たちばかりで、安心しております。

 

 最初の1ヶ月は研修で、ちゃんと部署配属になって1ヶ月が経ちました。仕事としては"minne" というサービスのAndroidアプリの開発を主にやっています。

 

play.google.com

 

   そんな訳で、 自分のふりかえりのためにも1ヶ月でやったこと(主に開発的なところ)を書いておきたいと思います。

 

不要コードのお掃除

 Gitに「おやつタスク」というラベルが貼ってあるissuesがあるのですが、その中に"過去の施策で使ったけど、今は使ってないコードを消したい"というissuesがあったので、それが最初のお仕事でした。"Deep Link"を使っていたコードだったので、その辺のお勉強と、gitの一連の操作(ブランチ切る -> プルリク出す -> add -> commit -> push -> add ->・・・-> レビューで指摘受ける -> 修正)に慣れる、みたいなところも行いました。

 

機能の開発(1画面に1項目増やす)

 初回のスプリントから、プロダクトの機能開発を行いました。プロダクトオーナーが決めた仕様と、デザイナーさんが決めたデザインを開発に落とし込む、というもう教科書的な流れの綺麗なやつでした。

  「ある画面に、表示する項目を増やす」というもので、その表示する項目のデータが既にAPIから取ってきてるデータなのか、新たに通信の処理を書かないといけないのかが微妙だったのですが、調べると、取ってきてるデータだったので、ほぼViewをいじるだけでした。楽チンでした。

 ただ、実装の箇所がちょうど記述量が多いActivityの箇所だったので、Activityに書いてあるロジックをPresenterに切り出したりして、スッキリさせたりも行いました。MVP化の勉強にもなって良かったです。

 

静的コードの自動チェック、自動整形についての調査

 Android Studioだと、"cmd + alt + l"すれば自動整形すればフォーマッタがかかりますが、どうしても忘れがちになってコードレビューで無駄に指摘されてしまうことがあったので、"CheckStyle"とかを自動で実行できないかな、みたいなことを調べてました。調べてると、CookpadさんのDokumiとかそういうものもあるのか、と勉強になりました。

 

機能の開発(CustomViewを使う)

 2回目のスプリントで、割と大きめなCustomViewを使う開発を担当しました。「CustomViewってなんだー!!」と若干パニックになりながら、一人でガリガリ進めていたら、どんどん進捗が遅れていき、しかもpull-reqが大きくなりすぎて、分担出来ない、という問題にぶち当たりました。

 「作る前にちゃんとpull-reqを細かく分けられるように設計しておくこと」や「技術的にやったことないことがある場合は、やったことがある人に聞いておくこと」ということが当たり前だけど出来てないことを痛感し、恥ずかしくなりました。

 

コードレビュー

 minneのAndroidチームには、"コードレビューの時間"というものがあり、その時間はコードレビューを行うことを推奨しています。__自分のタスクが終わってなくても__です。これは「自分の機能開発も大事だが、レビューすることも長期的に見れば大事なこと」という考えに基づいております。

 コードレビューでは、本当に様々なことを指摘しあいます。「ここで変数定義してるけど、ここの方が良くない?」とか、「mプレフィクスやめなーい??」とか「Loader使った古い書き方なんで、新しくしようー?」とかです。先輩からのレビューは勉強になるし、逆にこちらから何か指摘出来た時、「うしっ!」て思います。

 

Kotlinの読書会

 minneでもKotlinを使っているので、最近、Kotlinスタートブックの読書会にも参加しています。口に出して読んでみると、意外と分かっていなかったことがはっきりして、しかもその場で先輩に聞けるので、とても良いです。

 

 

他にも色々あった気がしますが、一旦この辺で終わりにします。これからもminneのAndroidエンジニアやっていき、という感じです。よろしくお願いします。