真に開発ができるエンジニアとして一生を生きていくには、アルゴリズムとデータ構造に関する深い知識は必要不可欠である。僕が考える、3つの理由についてまとめてみた。 1. どのようなレイヤーのシステムを開発にするにしても必要である アルゴリズムとデータ構造に関する書籍を勉強すると必ず出てくる、スタックやキューについての知識は、どのようなシステムを開発するにしても重要なものであるし、これらを知らずに開発をしている人はいないだろう。 ソートに関する知識も同様で、さまざまなソートアルゴリズムを勉強しオーダーに関する知識を十分に持っているエンジニアが書いたSQLと、そうでないエンジニアが書いたSQLは全く異なるものだろう。後者のSQLが、後々にどのような問題を生み出すかは、ある程度経験のあるエンジニアなら想像がつくだろう。 2. 陳腐化しない アルゴリズムは普遍的なものであり、陳腐化することはない。一方