SSブログ

基礎教育(2) [プログラマー現役続行]

基礎教育」で、前の会社では「データ構造とアルゴリズム」を新卒新人に学ばさせるために、書籍『プログラミング作法』の第2章を行わせていたと書いています。
新卒新人が私の部門に配属されると、最初に書籍「プログラミング作法」の第2章を、私が作成した「勉強会ノート」に従って学習させます。プログラミングの問題も含め、トレーナーからのOKが出るまで何度でもやり直しさせていました。
したがって、実際の開発業務に従事してから、基礎的なアルゴリズムに関する質問をしてくる人はいませんでした。しかし、今の会社では新卒新人に対してデータ構造とアルゴリズムの教育はほとんど行われていません。さらに、そのような教育は必要なく、開発の現場で鍛えるのが重要だと言うマネジャーがいたりします。しかし、開発の現場では担当業務を行うだけであり、業務に必要のないことは学ばなかったりします。

結果として、実際に開発しているソフトウェアで使用する、あまりにも基礎的なアルゴリズムの問題を私に聞きに来る人※1がいたりします。問題なのは、本人だけでなく回りの開発組織のメンバーのレベルも同じ可能性があるということです。

講演や教育で話をしている「ソフトウェアエンジニアの心得」の中で、できるだけ若い早い段階で基礎的な「データ構造とアルゴリズム」を学ぶように話していますが、強制的に学習をさせないと、自発的に学ぶ人はかなり少ないのが現状だと思います。※2

※1 2分探索が適切な処理に対して線形探索で実装して、線形探索以外に良い方法はないのかと。
※2 今の会社で書籍『プログラミング作法』の第2章「アルゴリズムとデータ構造」を全部やりましたと報告してきた人は残念ながらまだいません。