スライド
これは何か?
あまり良いとは言えない状態のプロダクトを良い状態まで改善していった時に気にした点について紹介しています。
個別の技術については世にいくらでも情報があるので今回は省略しましたが、どこかのタイミングで個別に取り上げていくかもしれません。
ビジネスとの判断
会社というのはお金を生み出さないと継続できないものなので、ビジネスを止めないで改善していくことが望ましいです。
一方で、ある程度止めないといけない場合も存在しますが、それでもビジネスを止める期間を最小限にするというのがエンジニアに要求されていると思っております。
「エンジニアが快適に作業するため」ではエンジニアの自己満足になってしまいますので、それがどうビジネスに繋がるのかをちゃんと説明する義務があると考えております。もちろん多くの場合は間接的に繋がるのですが、内容によっては今やるべきではないというようなこともあると思います。
先にやるか、後にやるか
ビジネスを止めずに〜とは言ったものの、ある程度は先に行う必要があります。
一番は「データベースなどのストレージが止まる可能性があるもの」で、これはデータ量が大きくなればなるほど停止しての作業が困難になります。ここに該当する作業は真っ先に行ったほうが良いです。必然的にインフラ要因のものは最速で問題がないかチェックすべきでしょう。
具体的にやる項目
今回は「私が行うなら〜」という観点でいくつか紹介しました。ここに書いていない項目もありますし、そもそも私も完璧ではないので抜けているような内容があるかもしれません。そのあたりは柔軟に対応していくのが良いかと思います。
とはいえ、ほとんどが基本的なことだと思いますし、また形式的にやるだけではなく継続的に意味のある改善していないような環境では、現代において他の優秀なサービスの成長に勝てることもないと思います。
今回話さなかったこと
質疑応答であったのですが、あくまで第一段階として行う話として話しました。もちろんここから設計方針とか深い話まで行けるといいですが、最初にやることとしてはこのあたりから考えるのがいいのではないかなと思います。
まとめ
スライドの最後にも書きましたが、そもそも最初にやっておけば苦労しない話なので、最初から高いレベルで環境整備を行いましょう。特にlintレベルは後から上げるのは本当に大変です…。
UUUMの皆様、退職した身にも関わらず、このような機会を用意していただきありがとうございます。
UUUMではエンジニアも募集していますので、興味がある方は応募してみると良いかと思います。ここで話したような内容はちゃんと実践されている環境です。他の方の紹介でもありましたが、労働環境としても常識的な労働時間でリモートワークも可能ですので、非常に働きやすいのではないかと思います。