株式会社スマレジの開発部でスマレジのサーバサイドを作っています

2020年を振り返って

こんにちは!株式会社スマレジ 、開発部のmasaです。

新型コロナウィルスの流行で、スマレジもフルリモート可能な体制になっています。 幸い、まだ周りに感染者などの報告はないのですが、開発部は20台後半〜30代がボリューム層なので、 若いパパさん・ママさんも多くいらっしゃいます。

そういう意味で、自分だけではなく家族のコロナリスクを避けるため、こうしてフルリモートできるのは、ありがたいですね。

さて、2020年最後のブログでは今年1年を振り返ってみます。

1月~4月:プラットフォームAPIの基本設計〜開発

今年は1年を通して、アプリマーケット関係の開発が中心だったのですが、 年始から3月にかけては、プラットフォームAPIの基本設計を実施していました。具体的には、

この辺りを実施していました。

この期間で記憶に残っているのは、API化する機能の選定です。 何せ、スマレジ は機能が多い上に、プラットフォームAPIにはコール数の制限もあるので、 制限の範囲内で実装が可能なAPI構成を検討する必要がありました。 単純なDBのread/writeだけのAPIにしてしまうと、コール数が溢れてしまうケースが多発するのです。

そこで、コール数を抑えるために、状態遷移系のAPI(仮取引の状態変更・取置きの引取りなど)を設計し、 公開後は開発パートナー様の声を聞きながら、足りないAPIを作成していきました。

5~8月 登録系のAPI実装 & アプリマーケット公開

4月まで進めていた設計をベースに登録系・状態遷移系のAPIを実装していきました。 この時期、実はチームの編成も大きく変わっていて、POSチームは新人さん3人 + masaという構成で進行することに。

ただ、新人さんと言っても、プログラマーやSE歴ではmasaより遥かに先輩なベテランさんたちばかりだったので、 API設計や実装については、とても力強くサポートしてくれていました。

ただ、どうしてもスマレジは機能数が多いので、現行仕様を理解してもらうには時間を要しました。 SaaSベンダーあるあるかもしれないですが、スマレジも機能が多い割に、設計書の類が欠けていることが多いので、 改めて、仕様を伝えるための資料準備が必要になってくるのかなと感じました。

9~12月 アプリコンテスト・特殊なAPIの設計・実装

個人的に一番きつかったのが、この時期ですね。

まずは社内でアプリコンテストを実施することになり、masaも営業さんとチームを組んで、 アプリ開発を実施していました。(このブログの記事もコンテスト用のアプリを作成するのに調べたことをベースに書いていたりします) ただ、参加自体は任意で、業務時間外での実装だったので、平日夜と休日はコンテストアプリの実装って感じでした。

合わせて、この時期は取引会員更新API・商品画像更新APIなどの特殊な更新系(非同期実行だったり、スマレジ サーバーにはない機能だったり)を 担当していました。結構楽しい実装が多かったのですが、難度も少し高めだったので、上述のベテランエンジニアさんに教えてもらいながら、進めていった感じです。ハードだった分、かなり経験をつむことができました。

リモートワークになって

一年を通して、リモートワークをすることが多かったのですが、その良い面・悪い面についても触れようかと思います。

良い面は、通勤時間がなくなる・リラックスして休憩時間が過ごせる、とか表面的なことが多いですね。 むしろ、僕の場合は悪い面に悩まされることが多いです。

一番大変なのは、コミュニケーションです。 今年は「単に、降ってくる実装をこなす」という仕事はほぼなくて、 バグ報告やサポートで対応できなかった仕様の質問に答えつつ、他チームや他部署との調整をしながら、 実装を進めつつ、新メンバーに仕様を伝えたり、レビューしたり・・・みたいな動きが多かったです。

いろんなポジションの方とお仕事をするので、チャットでのやり取りだと、未読スレッドが物凄い勢いで増えるんですよね・・・。 しかも、google chatが多かったので、未読スレッドが一つのルームでいくつも重なると、読み落とすんですよね。 この読み落とし問題は、僕だけではなく他のマネージャさんたちにも発生していたみたいで、最後にはslackを導入することになりました。 スレッド単位で未読管理してくれるので、slackはめっちゃ便利ですね・・・!

というわけで、雑多になりましたが今年の振り返ってみました。