ソフトウェア開発向けのツールが日々世界中で登場しています。それら膨大なツールの中から、開発を楽にしてくれる本当に有用なツールを選ぶのは大変な作業だと言えるかもしれません。
開発者Eduards Sizovs氏は、そのような状況を解決するため「CHOOSE BORING TOOLS(退屈なツールを選択すべし)」という提言を行っています。
同氏は、「無限のスケール」「クラウドネイティブ」といったマーケティングチームによって作られた言葉は、実際のネットワーク、ハードウェア、ソフトウェアの限界の前には無力だと指摘しています。基本的な技術の限界やアルゴリズム、キャパシティプランニングを理解していないエンジニアは、マーケティング担当者の餌食になってしまうというのです。
マーケティングの魔法に頼るかわりに、何十年も前から存在する、自分が知っていて、理解していて、信頼できるツールだけを検討すれば良いとし、次のような具体例をリストアップしています。
- DBが必要ならばPostgresかMySQLを選ぶ。
- KVストアが必要ならRedisを選ぶ。
- ロードバランサーが必要ならばNginxを選ぶ。
- k9sのかわりにシェルスクリプトを選ぶ。
- マイクロサービスではなく壮大なモノリスをIPOまで垂直にスケールさせる。
古き良き退屈なツールは、ドキュメントが充実し、オープンソースで動作を理解するのが簡単だという利点があります。ローカルで動かすことができるので、開発やテストが容易になり、また学習のために投資した時間も、今後無駄にならない可能性が高いのです。
同氏は、マーケティングの犠牲にならず、キャパシティプランニングやシェルスクリプトの基本を学び、退屈なソフトウェアの操作方法を身につける事を推奨しています。
Redditでもこの記事に関する議論が行われており、2015年に書かれた「Choose Boring Technology」という記事を彷彿とさせるというコメントが寄せられています。合わせて読むことでより理解を深めることができそうです。