2014年11月13日木曜日

アプレンティスシップ・パターン

書籍『アプレンティスシップ・パターン』を読み終わりました。


この本は、書籍『ソフトウェア職人気質』で提唱された「徒弟制度」というプログラマの成長のさせ方を、eXtreme Programming、アジャイル、ペアプログラミングといったものが普及してきた現代に合わせてまとめ直したものになっています。

この本の内容は、一言で表すなら「職業プログラマの心得をパターン・ランゲージで学ぶ」というものになるでしょう。

パターン・ランゲージというと、多くの方はGoFのデザインパターンを思い浮かべるでしょうが、パターンはプログラムの典型に名前を付けるだけでなく、その他多くの状況に適用できるものです(パターン・ランゲージは建築業界から来ました)。本書では、状況別に問題点と解決策をまとめ、パターン名を付ける、という形式になっており、カタログの要領で自分にあった心得や方法論を探して学べます。

徒弟制度というのは、もともと鍛冶屋がとっていた技術伝承の方法です。流れとしては、弟子(アプレンティス)は熟練職人(クラフトマン)になるために、熟練職人の元を転々として数々の技術を学んでいき、やがて独り立ちして自分の工房を持ちます。これをソフトウェア開発に応用するのが、書籍『ソフトウェア職人気質』で提唱され、本書『アプレンティスシップ・パターン』でまとめ直されたものです。
本書は、熟練職人がいかに弟子を育てるか、ではなく、弟子がいかにして熟練職人になるか、という弟子視点の内容になっています。
本書のターゲットとしては、就職して職業プログラマになってから2〜3年目くらいまでの人になるのでしょうが、学生がプロを目指すために学んだり、少し伸び悩んでいるプログラマ、一緒に働いているプログラマにもっと成長してほしいと考えている方も読むといいでしょう。

この本で学べることは多々ありますが、とくに重要なことは「生涯学習を身につける」ということだと感じました。
ソフトウェア業界には、一生安泰の技術なんてありません。常に自身を成長させていく必要があります。ですが、私たちが学生のときには、先生から与えられたカリキュラムに沿って勉強してきたこともあり、学ぶものを自分から探す・探し続ける、ということは、就職したら自分で身につけなければなりません。
本書はその「生涯学習」を、プログラマ向けに動機付けて身に付けてもらうのに最適だと感じました。

とてもオススメです!