gaaamiiのブログ

悪気なく間違ったことを書いている時があります。コメントやTwitter、ブコメなどでご指摘ください

「アプレンティスシップ・パターン」というプログラマ向け自己啓発書を読んでる

本屋でプログラマ向け自己啓発書みたいなのを3冊買ってきました。

この中の一冊、「アプレンティスシップ・パターン」を今読んでいます。今年四月から社会人生活が始まり初めての現場で半年を過ごした自分にとって、身の振り方を考えるために役立ちそうだと感じました。

誰のための本か

本書のまえがきには以下のように書かれています。

ソフトウェア開発を経験したことがあり、卓越したソフトウェア開発者になることを切望している人のために、本書は書かれています。

また、序論ではこう書かれています。

本書は、ソフトウェアのアプレンティス向け、つまり、ソフトウェア開発を経験したことがあり、さらに先に進みたいが、指導を必要としている人々向けです。

出だしにこんな魅力的なことが書かれていたら、もう読むしかない。僕もいつかは卓越したソフトウェア開発者になりたいので、読むことにしました。

パターン

ある状況下での問題を繰り返し解決している方法に名前を付けた説明がパターンです(本書「まえがき」より)。各パターンは状況・問題・解決方法・行動の4つから構成されていて、そのパターンの「行動」の段落を読めば、すぐに実践出来る形になっています。

パターンの中にはすでに聞いたことがあるようなものもあります。たとえば、「Be the Worst(最低であれ)」は、「情熱プログラマー」でも紹介されている有名な助言です。id:karur4n さんがはてなインターンに行って周りが優秀な人ばっかで落ち込んでいる時にこの言葉を知っていたら、「Be the worst を実践してて素晴らしいですね」みたいな使い方ができたと思う。というか、似たような話をどこかのくもキャストでしていた気がする。

他にも、すでに聞いたような話がある。「白帯」というパターンは、何か新しいことを学ぶときに、これまでの知識や経験を一度捨てることの重要性を説いていますが、これは以前 id:yss44 さんにどうやって学習しているのか尋ねた時に教えてもらったことと被ります。

つまり、読めばどれも聞いたことのあるような話ではある。けれども、その1つ1つにしっかり名前を付けてパターンとしてまとめているのが良い。

プログラミング以外の場面でも「これって意味あるのかな」と思うような微妙なイベントに対して、パターンと照らし合わせながら判断ができるようになりそうです。学習をしている途中で「このやり方でいいのか?」と立ち止まらないために本書のパターンを活用していきたいです。

プログラミング能力の獲得にコミュニケーションは必要なのか

中でも特に気になったのが、勉強会やコミュニティ、人との交流がプログラミング能力の獲得に与える影響です。これだけに着目して書かれたようなパターンがあるわけではありませんが、いくつかのパターンは僕が以前から持っていた疑問をずいぶん解消してくれました。


書き途中です。