なぜ自分たちがソフトウェアを細かくアップデートする必要があるのか

いろんなところで100万回語られてることなので特に目新しいものはなにもないです。

ここでのソフトウェアはプログラミング言語フレームワーク、ライブラリ、DBなどの各種ミドルウェアなどを指します。

ソフトウェアをアップデートしたときのメリット

セキュリティの向上

提供サービスに脆弱性攻撃を受けても素早く対処ができて安全・安心なサービスをユーザに提供できます。

新しい機能が利用できる

ソフトウェアは日々改善されています。アップデートではより便利な機能、生産性向上に寄与する機能、性能が改善されたソフトウェアを利用することができるようになるため、サービスをユーザへ素早く・安全に品質高く提供することが可能になります。

採用・技術力の向上に繋がる

ソフトウェアのアップデートは 正しくソフトウェアを作るプロセス の1つで現在では当たり前のことです。 正しい物作りをしている会社とそうでない会社を比較したときに求職者がどちらを選ぶかは自明です。 また、改善されたソフトウェアを学び続けることは、新しい知識・概念、コードの書き方の習得などエンジニアの技術力の向上にも繋がります。

自分たちでアップデートをする理由

いつも自分たちが一人一人責任を持ってコードを書いてサービスを改善していると思います。 では、そのサービスは何でできていますか?そこには自分たちが実際に書いたものだけではなく、自分たちが考えて検証して導入したソフトウェアもありますよね。 すなわち、ソフトウェアはサービスを構成するための1つであり、一人一人が責任を持って導入したものなのです。 自分たちが実際にコードを書いて作った物は改善するのに、自分たちが考えて検証して導入したソフトウェアを自らアップデートしない理由はありませんよね? 逆に言うと 自らメンテナンスできない・メンテナンスする意思がない ソフトウェアを導入すべきではないのです。

いつアップデートするか?

人が採用されたらやりますか?まず、そんなに都合よく人は来ません。 時間ができたらやりますか?その時間は永遠に来ません。

細かくアップデートをする理由

ソフトウェア開発には「ビックバンリリースを避けるべし」という言葉があります。 これは大きなリリースを行うと影響範囲が大きくなりトラブル発生時の調査などが困難になる・エラー(トラブル)が出やすくなるという問題があります。 小さく修正、レビュー、テスト、リリースを繰り返して、影響をできるだけ小さくするため細かくアップデートを行う必要があります。 また、ビックバンリリースをするには時間がかかります。上記で述べた通り時間ができたらやるということは不可能なのです。

まとめ

ソフトウェアを定期的に自ら細かくアップデートを行うのは 開発プロセスの1つ あり、で エンジニアの責務の1つ です。 誰かがやるのではないです。自らが責任を持って行う必要があります。