2020 年振り返り

2020 年振り返りを簡単にまとめました。 知人向けの近況報告のつもりです。

OSS 活動とかは、さすがに書き出すと細かい感想がどんどん出てくることに気づいたので 来年以降は別にまとめるとかしてもっとコンパクトな記事にしたいと、書きながら思いました。 特に同業者向けというつもりでもなかったので。

私生活

  • コロナの影響
    • リモートワークが常態化するにつれて、UberEats で朝はスタバ、昼はいきなりステーキの生活に違和感がなくなってきました。
    • 同人イベント(コミケなど)がすべてなくなったので、それらのお手伝い業務も今年はありませんでした。
    • 2, 3, 4 月は NYTimes などの詳細なコロナ関連ニュースを毎日読み漁ってました。その後あまり読まなくなりましたが、また徐々に再開してます。
  • 子供
    • 2020 年は、風邪をひかないこと・絵本をたくさん読むこと・歌を大きな声で歌うこと・ものを動かしたらもとに戻すこと・日光をたくさん浴びることを目標に掲げていました。ちゃんとやれていたと思います。
    • 最近は偏食をはじめイヤイヤ期が進行してきたので、この状況をどう打開するかが目下の課題です。
  • 最近ハマってること
    • Blackpink。NetflixBLACKPINK: Light Up the Sky を見てから。Quora のニュースレターが毎日 Blackpink のネタを送ってきてリンクを押すとさらに集中的にターゲットされるというサイクルに現在嵌ってます。Jennie は怠惰ではないと思いますが、このドキュメンタリーを見た上でもそう思うのか他の人の意見が気になります。

仕事

  • 7 月に転職しました。パラレル というスマホゲーム専用ボイチャアプリを開発してます。
    • 前職のメゾン株式会社は 2017 年 11 月から 2020 年 6 月までの 2 年 8 ヶ月在籍してました。0 -> 1 で自由に作る機会がたくさんあり良い経験になりました。最後は、バックエンドが SpringBoot/RabbitMQ/PostgreSQL/AppEngine で、フロントが TypeScript/Next.js(SSR) でネイティブアプリ用には WebView をラップする SDK(Swift/Kotlin)を実装して、HTTP(OpenAPI)/WebSocket でやり取りするコマースアプリを作ってました。openapi generator を使って通信インターフェースのコードを両端向けに生成するようにしてたのでそれは楽でしたね。
  • 伸び盛りのスタートアップということでリクルーティングとキャッチアップを兼ねて、以前一緒に働いたことがあるソフトウェアエンジニアを中心にランチやディナーなどお話する機会が例年よりも多かったです。
    • おかげさまで、良いチームで働けてます。
  • 今後も外のエンジニアとお話する機会を作っていくと思うので、パラレルのサービス的な成長はこちらを参照いただきつつ、ここでは簡単にパラレルの技術紹介を去年を振り返りつつ書いておきます。パラレルの大まかな技術構成は、バックエンドが Rails/Kubernetes/Sidekiq/Redis/MySQL/Spanner/BigQuery/Stackdriver で、クライアントが iOS アプリ(Swift)と Android アプリ(ReactNative)、通信形式が HTTP と WebSocket、パーティゲームで一部外部ゲームエンジンを利用、最後に音声通話機能で成り立ってます。プロジェクト管理は GitHub Issue/Project です。技術面に関しては当初すべて細かいところまでみてましたが、シニアなクライアントエンジニアがそれぞれ途中から入ってくれたこともあり、障害報を書くごとに徐々に去年はじめから一年通して会社として課題になっていたサーバー側の負荷対策・コスト低減・品質向上をメインでみるようになってました。チームとしての成果を 1 月現在から振り返ると、突発的な負荷増によるサービスダウンは 公式上 9/5 21 時を最後に解消、アクセス増と新機能追加に比例して増え続けていたインフラコストは大きく削減かつ増加ペースも抑制、目立ったアプリケーションエラーは概ね解消してログと監視体制も見通しよく整備、できたと思います。今年はこの分野に関して言うと、自分のサービス・システム理解もようやく揃ってきて、またシステムの可視化も徐々に整ってきたので、より詳細まで妥協なく突き詰めていきたいと思ってます。もう少し具体的な話(例えば これ)は事象発生から解決に至るまでの流れを解説する読み物としては多少面白みがあると思いつつ長くなるので別エントリにまとめる(か興味ある人に口頭で紹介する :) )ことにして、このエントリではこれくらいの抽象的な話でとどめておきます。

OSS 活動

  • 全体的には、以前公開したリポジトリに来る issue や PR に対応することが多かったです。
  • 他には、protolint に関係する PR を他に送る機会も何度かありました。

github.com

f:id:yoheimuta:20210111155131p:plain
スター数の推移グラフ

github.com

github.com

  • このリポジトリは、使い方の質問やバグレポートの issue を受け取ることが未だに多いです。手元で再現しないバグレポートもけっこうあります。なぜかプロダクションで使ってくれているユーザーにロシア系の人が多いみたいで英語での意思疎通が難しいことも一因です。ロシア語っぽい音声を再生するアプリをデバッグさせられたときは何が正解かわからなくてちょっと笑いました。押しが強くて個性なのか英語力不足から来るものか毎回不思議です。
  • 今年対応した中だと再生速度を変更できるようにする改修 が目立った機能追加ですね。

github.com

  • このリポジトリは、intellijプラグインを管理してます。久しぶりに管理画面を覗いてみたところ、累計ダウンロード数が 11,084(ユニークダウンロード数は 8,113)でした。いつの間にか 10000 を超えてました。たまに Twitter で言及されているのを読む以外、特に具体的なフィードバックをもらうわけでもないので忘れがちですが、こういうのを見るとせめて保守はちゃんとしようと思い出させてくれますね。
  • 今年は、依存している protostuff/protobuf-jetbrains-plugin が deprecated になったので別のパッケージに依存するように改修しました。

f:id:yoheimuta:20210103103803p:plain
ダウンロード数の推移グラフ

github.com

リポジトリに送った PR は次の通り。