継続的学習(6) [プログラマー現役続行]
基礎知識を学ぶ
勉強会を主催する場合に、選ぶ本の種類としては、業務に直接関連するものもありますが、これだけは最低限学んでいて欲しいという基準で選ぶものもあります。その基準で最初に選んだのは、次の本です。The Practice of Programming (Addison-Wesley Professional Computing Series)
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 1999/02/09
- メディア: Kindle版
この本を使用した勉強会は、第1章と第2章だけでした。英語の書籍でしたので、「勉強会ノート」も作成しました。特に新卒新人を対象として、3拠点(海老名、KSP、岩槻)で毎週開催し、遠く埼玉県の岩槻まで週に1回行っていました。朝、勉強会を開催して、そのまま岩槻でコンサルテーションをしていたと思います。
この勉強会で学んで欲しかったのは、基礎としての「データ構造とアルゴリズム」です。勉強会を始めるきっかけは、当時、一人の若手エンジニアとの会話からです。そのエンジニアの仕事のサポートをしている時に、説明するのが面倒なのでコードを書いてみせるということで、JavaでHashtableクラスを使用したコードを書き始めたら、横で、「ハッシュテーブルって何ですか?」と聞かれたので、「そんな基本的なことは聞くな」と私は返事をしたのです。その数日後、また彼に会ったら「職場の先輩数人に聞きましたが、ハッシュテーブルは知らないと言っていました」と言われて、基礎的なことも知らない人が多数いるのかと驚きました。それで、勉強会を開催することにしました。
それ以来、私の部署では、新卒新人は配属されて最初に第2章まで学習することになっていきました。今でも、私が属する開発本部へ配属される新卒新人は、第2章まで学ぶことになっています。残念ながら、ハッシュテーブルを知らないで就職してくる新卒新人は後を絶ちません(「ハッシュテーブルの季節」)。
基礎知識という観点から次に選んだのは、前にも紹介した次の本です。
Introduction to Computing Systems: From Bits & Gates to C & Beyond (Computer Engineering)
- 作者: Yale Patt
- 出版社/メーカー: McGraw-Hill Science/Engineering/Math
- 発売日: 2003/08/05
- メディア: ハードカバー
この2冊でCPU構造のハードウェアに関する知識および「データ構造とアルゴリズム」を学ばせたことになります。次は、オペレーティングシステムを学ばせるということで、次の本を選びました。
Linux Kernel Development (2nd Edition)
- 出版社/メーカー: Novell Press
- 発売日: 2005/01/12
- メディア: Kindle版
この本は、第3版が出版されており、第3版を用いた勉強会も開催しています。
Linux Kernel Development (3rd Edition) (Developer's Library)
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2010/06/22
- メディア: Kindle版
「データ構造とアルゴリズム」「CPUなどのハードウェア」「オペレーティングシステム」といった基礎知識は、最初にきちんと学べば、新たな技術が登場しても本質的には大きくは変化しません。そのため、若い時にきちんと学んで欲しいものです。
スポンサーリンク
2015-02-24 08:23