プロ・アマ・プログラミング言語を問わずに今までの4倍のスピードで学習する方法
私が実践して、とても効果が上がった学習方法を紹介します。
どんなプログラミング言語でも関係なく通用するやり方だと思います。
この学習方法に切り替えてからの 1 年の学習量は、それ以前の 4 年分に匹敵すると感じています。
以下にその方法を紹介します。
- ソーシャルブックマークのホッテントリのフィードを購読する
- 特に気になったサイトの人気エントリにざっと目を通す
- 特に気になったブログを個別に購読する
- 流行のライブラリ、フレームワーク、アプリケーションのソースコードを読む
- カンファレンスなどのスライドに目を通す
- 特に気になった人のブックマークをお気に入り登録する
- 得た情報を元に実際にコードを書いてみる
- 評判の書籍を読む
ソーシャルブックマークのホッテントリのフィードを購読する
ホッテントリとは人気の記事のことを言います。沢山ブックマークされ、それだけ注目度が高いということです。
特定分野の人気記事を購読することにより、トレンドを追います。自分で色々調査せず、放っておいても人々が注目した記事を知ることができますので、日常業務に追われて学習時間が取りづらい人に特にオススメです。
はてなブックマークだと、フィード URL のフォーマットは以下です。
http://b.hatena.ne.jp/t/perl?sort=hot&threshold=5&mode=rss
perl が学習したい言語、threshold がブックマーク数のしきい値です。例だと 5users 以上でフィードに含まれます。
各言語のホッテントリフィードへのリンクを張っておきます。
Perl PHP Python Ruby Java C C++ C# VB VC .NET objective-c cocoa
特に気になったサイトの人気エントリにざっと目を通す
前出の方法ですと、最新トレンドは追えますが、過去の価値ある情報はカバーできません。そこで次は、過去の情報を追う方法です。
ホッテントリのフィードを購読していると、ある特定のブロガーが、ホッテントリリストに多く現れることに気が付くと思います。
その中で、自分の興味を特に強く惹く記事を多く書く人の過去の人気記事を追ってみましょう。
はてなブックマークでは、URL を指定して、そのサイト内の人気エントリを抽出できます。
http://b.hatena.ne.jp/entrylist?sort=count&url=http://d.hatena.ne.jp/tokuhirom/
url= 以降に人気記事を読みたいサイト URL を入れます。
特に気になったブログを個別に購読する
ここまで来ると、自分が知りたい情報にあった記事を書く人、サイトの毛色などが掴めてくると思います。
そうしたら、タグ別の購読とは別に、サイト毎にフィードを追加購読しましょう。
流行のライブラリ、フレームワーク、アプリケーションのソースコードを読む
他人が書いたソースコードを読むことはとても良い勉強になります。新発見が沢山あります。
上記の項目をこなしていれば、その言語でどんなライブラリやフレームワークが流行っているか掴めていると思いますので、そのライブラリなどのパッケージを取得してソースコードを読んでいきましょう。
カンファレンスなどのスライドに目を通す
最近どこのコミュニティでも、勉強会などが活発になってきています。
SlideShare などで、その発表資料も無料で公開されていることがほとんどですので、片っ端から探して目を通しましょう。
スライドは、特にリテラシーが高い人が書いているケースが多い上に、実際の業務でのソリューションや、最新技術発表といった内容が多いので、とても参考になります。
SlideShare では、(自然)言語別に検索ができます。日本語の Perl に関するスライドなら以下で検索できます。
特に気になった人のブックマークをお気に入り登録する
アンテナが高く、自分と同じ分野を学習している人のブックマークをお気に入り登録しましょう。その上で自分のお気に入りページのフィードを購読すれば、登録した人がブックマーク登録したページが流れてきます。
http://b.hatena.ne.jp/Craftworks/favorite.rss
Craftworks の部分を自分の id に変えましょう。
得た情報を元に実際にコードを書いてみる
実際にフレームワークやライブラリがどのように動くのか、実際にコードを書いて走らせてみます。色々と試しているうちに、業務などにどう生かせるかなどのアイデアも湧いてくると思います。
評判の書籍を読む
本に関しては、最初にオライリーの本は一通り読むことをお勧めします。熟読が理想ですが、分厚い本を読むことが苦手な方は、流し読みで良いので 1 回は全部読んで、何がどの辺に書いてあったかだけでも覚えておくと、必要になったときに辞書的に使えます。
良書が発行されると話題になりますので、書評などを参考に、良さそうな書籍を読みましょう。
以上のことを習慣化すれば、半年も経たないうちに、自分のスキルが結構なスピードで向上していることが体感できると思います。
[追記 07/18]
ブコメでも指摘されていますが、上記で得た情報を元にコードを書いてみるということが最重要です。当たり前過ぎて、記述漏れしてしまいました。ということで加筆しておきました。
また、「学習時間も4倍になるのでは」というご意見もありますが、普段からアンテナを張っておくことにより、情報が必要になったときの調査にかかる時間を大幅に省略するという意味合いが強いかもしれません。私の場合、調べ物が一番時間がかかります。
[追記 07/20]
書籍に関しても加筆しました。