18-学び続ける姿勢

プログラマが知るべき97のこと」の18個目のエピソードは、継続的な学習に関する話題です。良いプログラマになるためには、様々なスキルを身につけることが求められますが、その中でも最も重要で最も習得が難しいのが「学び続ける姿勢」ではないでしょうか?しかし、このスキルは、一度身につけたならば陳腐化する事はありません。
このエピソードでは、学び続けるために具体的にどうすれば良いかを列挙していますが、個人的に重要かなと思ったものを幾つかを紹介します。

本当に身につけたい技術は、コードを自ら書き、手を動かして学ぶ。

良く言われる事ですが、本を読んだだけでは血や肉にはなりません。勿論、全ての技術を動かして学ぶ事は時間的に不可能ですし、広く浅く知識を得る事も重要です。しかし、本当に身につけたいと思う技術は、実際に使ってみて初めて学んだと言えるでしょう。何でもかんでも手を出すことはできませんが、自分の勘を信じて「本当に身につけたい技術」を探しましょう。コツとしては、誰も見向きもしない技術とあまりにもコモディ化してしまった技術は避ける事です*1。また、その技術のコミュニティが活発で、尊敬できるようなエンジニアがいるかをポイントにすると良いと思います。

常に自分よりレベルの高い人と仕事をするようにする。

言い換えると、自分のスキルを活用してこなすだけの仕事であれば、成長が見込めない仕事ということです。成長をするためにはスキルレベルの高い人を一緒に行う事が必須です。もしくは、仕事の難易度が高いことで自分のスキルをあげなければならない状況ですが、道としては険しいものとなるでしょう。また「レベルの高い人がどうしても周囲にいないようならば、転職を考えた方が良い」と書かれていますが、プログラマとして自分を守るためには必要な事だと思います。

自分の「良き師」となり得る人をネット上で探す。

ネット上というのがポイントでしょう。仕事上の付き合いはどうしても限られた範囲になります。コミュニティ等に参加しすれば範囲も広がりますが、地方コミュニティではその範囲も広いとは言えません。ところが、ネット上では誰もが同じ条件で人と出会えるわけです。Twitterは気軽に使えるツールですし、Blogを書く事で広がる繋がりもあります。ネット上で尊敬できる「師」を見つけることはそれほど難しくないでしょう。学ぶには真似ることから始めるのは基本中の基本です。

自分が学びたいことを人に教えたり、話したりすることは非常に有効である。

これも良く言われるポイントですが、自分で理解しているかどうかを確認する最善の方法は、人に説明することです。本当に理解していなければ人に説明できません。話す事が苦手だったり相手が周りにいないのであれば、Blogに書く事です。ドキュメントを書く能力もあがります。気軽に始めるならばTwitterでも良いですが、投げっぱなし前提のツールですから、どこかでBlog等に移行しないと効果がないでしょう。

「達人プログラマー」を読み学んだ事を実践してみる。

達人プログラマーをはじめ、本書で紹介されている名著には、名著と呼ばれる理由があります。プログラマであれば、「達人プログラマ」と「ソフトウェア職人気質」、やや管理者よりであればデマルコの著作などは読んでください。また、技術と一緒で実践してこそ身につきます。この「プログラマとして知るべき97のこと」もそれらの名著に名を連ねるでしょうね。「ソフトウェア開発の名著を読む」という本がありますが、これを一読すればどんな本を読むべきかのガイドラインになります。

問題は「学び続ける姿勢」を習得する方法です。学び始めると、幾らでも世界が広がるため「もっと学ばなければならない」と感じるのですが、そこまで到達するのが一番難しいのです。その為には危機感を持つことかと思います。

カンファレンスに積極的に参加する。

まずは外に出ましょう。外で刺激を受け、刺激が足らなくなってきたら、また外に出ます。カンファレンスに参加することが日常になり、学習も日常となります。

技術はすごい速さで変化していきます。学ばなければ置いていかれるのは確実です。

流行の技術とは異なり、どんな時代でも有効でしょう。学び続ける姿勢があれば、自然とスキルが高まっていきます。

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/11
  • メディア: 単行本
  • 購入: 42人 クリック: 1,099回
  • この商品を含むブログ (347件) を見る
ソフトウェア職人気質―人を育て、システム開発を成功へと導くための重要キーワード (Professional Computing Series)

ソフトウェア職人気質―人を育て、システム開発を成功へと導くための重要キーワード (Professional Computing Series)

  • 作者: ピートマクブリーン,McBreen Pete,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2002/03
  • メディア: 単行本
  • 購入: 4人 クリック: 85回
  • この商品を含むブログ (63件) を見る
ソフトウェア開発の名著を読む (技評SE新書 003)

ソフトウェア開発の名著を読む (技評SE新書 003)

プログラマが知るべき97のこと

プログラマが知るべき97のこと

*1:それが基礎的なレイヤーならば別