現職に転職して1年が経ちました。2018年9月1日〜2019年8月31日が1年目。2019年9月1日から2年目に突入です。
転職前のこと
2社目はAndroidアプリをJavaで書きつつ、新人さんのOJTなんかをしてました。
最後に所属していたチームは、Android Architecture ComponentsのStable版リリースとほぼ同時に入り、AACを導入して片っ端から設計を直していた覚えがあります。
当時Fat ActivityなMVCからMVVMへ書き換えた経験、またRxJavaオンリーの環境に LiveData
を導入した経験、UXエンジニアと一緒に働けた経験が今の自分を形作っているなーと。
なお、転職時期のあれこれはこちら。
転職後のこと
やっていること
教育系のAndroidアプリ作ってます。 最近では3人チームのリーダーになり、開発以外にも計画だとかそいういうところもやるようになりました。
ユーザーさんの数が多いのでクラッシュに気を配りつつ、一方でレガシーなコードが多いので急ピッチで書き換えをしています。 とあるリリースで15%ほどコードを書き換えてリリースすることになった時には肝を冷やしました。。。
また、会社としてのアウトプットにも力を入れるようになりました。 開発に関連するところでは、Androidに関わるテーマで。
そのほかには、開発チームとしての取り組みについて。
どういったことを伝えるといいんだろうか、などと考えながら書いています。 まだまだ書ける箇所はあるので、チームとしてアウトプットすることを推進できればなーとも考えています。
開発のペースについて
仕事の中で気につけていることの一つに、時間当たりの効率があります。
生産されたコードの質はなかなか測れないので、プロダクトに乗せることができた(≒masterブランチに追加できた)コードの量を自分の中でバロメータとしています。
そんなこんなで確認してみたところ、前職では「半年でGitの+と-が合わせて8万行( git log
コマンド調べ)」でしたが、現職では「1年でGitの+と-が21万行(Github調べ)」になってました。
多分スピードアップ。
ざっくりとコードを書いて詳細を詰める塩梅が上手くなったとか、一つ一つのコミット粒度が揃ってきたとか。アプリの設計が上達したとか、単にKotlin使えるようになったとか色々とありそうです。 まだまだやりたいことがあるので、効率をどんどんあげていければなと思います。
Kotlinのこと
開発言語はKotlinになり、Kotlin + Kotlin Coroutinesを毎日勉強してます。 9割5部Kotlinなので、Javaを書かなきゃいけない時にすっかり戸惑うようになってしまいました。
Kotlinの学習を振り返ってみると、一通り使えるようになったのでちょっと深掘りしたくなっている感じが出てますね。
Kotlin Coroutinesにflowが加わったことで、RxJavaを置き換えられるシーンもさらに増えるように思います。 2年目はRxBusをいかにして置き換えるかが一つの挑戦になりそうです。考えていくぞ。
LTのこと
LTをする機会が増えました。 SpeakerDeckを見て数えたら、8つほど社外でやってたみたいです。 前職では社内向けに一つだった(1年半で1つだった)ので、めちゃくちゃに増えました。
初めはなかなか上手くいかない時期が長かったのですが、ようやく準備を含めて慣れてきたかなーと思います。 会とか、前後のLTに合わせてもっと調整しながらやれるようになりたいなーと思っているこの頃。
公開リポジトリのこと
気づいたら色々と作ってました。
- サンプルアプリ
- GitHub - koji-1009/DBSearch: Kotlin + LiveData + ViewModel + DataBinding + Dagger2
- GitHub - koji-1009/webview_checker: Android and iOS webview component testing application by flutter.
- GitHub - koji-1009/self-introduction-react
- GitHub - koji-1009/CoroutineExceptionDemo: Check kotlin coroutine's launch, coroutineScope and supervisorScope
- ライブラリ
- GitHub - koji-1009/ChronoDialogPreference: Time picker dialog preference and Date picker dialog preference.
- GitHub - koji-1009/FailureStatus: A wrapper class for LiveData to show Error message.
- GitHub - koji-1009/EasySettingsPanel: Util class to use Settings.Panel easily.
- GitHub - koji-1009/EmptyRecyclerView: Added setEmptyView method to RecyclerView.
EmptyRecyclerView
は業務で利用したくて作ったので、割と気に入っています。
簡単なものを利用しやすく整理するという意味で、ライブラリ化は効果があるなーというのが1年目の実感なので、引き続き取り組んでいければなと思っています。
終わりに
転職して一年で何してたっけなー、と思い返しながらつらつら書いてみました。 来年の同じ日に、楽しく1年を振り返られるよう、頑張っていきたいと思います。