ysawa が教える「超プログラマへの爆速勉強法」

考えることをやめろ。その二

2015/12/02 18:00 投稿

  • タグ:
  • 超勉強法
  • フォトリーディング
  • サブスレッド
前回のおさらい。

練習とは、繰り返し同じことを繰り返すことでした。練習の意味を考えるためには、サブスレッドという概念が必要になってきたわけです。バリデーションの重要性も説明しました。まだ、よく理解できていない人は、非常に重要な概念なので、前回に戻って復習をすることをおすすめします。

練習は無心になってやる

実は、練習に関する議論が、「その一」では宙ぶらりんでした。練習は、一度やると決めたら無心になってやることが大事です。計算問題にしろ、暗記にしろ、とにかく問題に関すること以外思考してはいけません。小学生からの知育大百科2016完全保存版(プレジデントファミリー)には、東大に合格する子供ほど、宿題を手短に片付けるというデータが掲載されています。

今や、小学校や中学校といった義務教育の中で課される宿題よりも、塾の宿題が優先されがちな世の中で、このようなデータは注目されるべきでしょう。僕が受験勉強のときもそうですし、塾で数百人もの生徒を指導する中での話として、学校の宿題だから、試験だからといって馬鹿にするような人はやはり、基本的に成績が頭打ちになります。帰納法的な話になって恐縮ですが、なぜかそのようになるようです。

どうせやらなければいけないのであれば、早く終わらせればよい。ただそれだけなのです。無心にやって、きちーっとやる。最初はそれをこころがける。

練習を積み重ねてサブスレッド化する

練習が熟達してくると、サブスレッドで物事をこなすことができるようになります。すると、メインスレッドでやっていた作業を、サブスレッドとして切り離し自動化することができます。魔法のような話ですが、これは、皆さんやっていることです。

例えば、毎朝、通勤や学校に出かけるとき、いちいち靴の履き方を意識して着用することはないでしょう。シャツを切るのもネクタイするのも自動化されているかと思います。サブスレッドで衣類を着用しながら、メインスレッドでは、違うことを考えていることでしょう。

もし、ネクタイするのが初めての人だと、これは、大変です。メインスレッドをフルに使っているので、なかなか終わらず、出勤や通学までの時間の間、他のタスクがスタックとして溜まっていくでしょう。パンが焼ける、親に話しかけられるなどの割り込みがあるかもしれません。スタックや、割り込みに対処するには、練習によって、通常のルーチンをサブスレッドによってこなしていくのです。

練習と本番の関係

練習は、練習と同じ動きを本番でもやるためにあるのではありません。本番は、練習とは必ず違う環境ですし、課題はその時々で変わるでしょう。むしろ、違う状況に適応することに注力すべきです。練習した基本的なルーチンを実行しながら、メインスレッドでの作業に全神経を集中させる。

勝手に体が動いてしまうというところまで無心になって練習していくことが必要です。特に、基礎基本の練習は大事なものになります。もし馬鹿にしている人がいるとすれば、見直すチャンスかもしれません。

仕事ができる人の定義

人それぞれの定義があると思います。(ここから先に、僕の定義を述べます。良い記事なのでぜひ読購読してみてください。)

ここで、僕なりの定義をここであげようと思います。うちの役員は、いつも聞かされていて耳にたこができている話であります。

「病気になっても、酒に酔っ払っても、平常通りパフォーマンスができる人。」です。

炎上しそうな話題ではあります。実際、病気になったら休むべきだし、酒に溺れているような人は仕事をしてはいけません。これは、一種のメタファー(暗喩)です。

仕事人として重要な要素は、自分の仕事が、サブスレッドでできるくらいのところまで落ちていることが必要です。そうでなければ、安心して頼むことはできません。サブスレッドでできるところまで、徹底的に練習することでようやく安定感のある仕事ができるようになります。

案件の受け方

新しい仕事では、知らない知識、言語やフレームワークの使用を要求されることがあります。こういう案件も自信を持って受けることです。全く問題ありません。

知識体系を形作るために、5冊以上の同じ分野の書籍を買いましょう。よく、厳選して1冊だけ買う人がいますが、全くだめです。知識体系がない人は、正直、書籍を選ぶ能力もない人です。ほとんど意味のない基準で書籍を選んでしまうことでしょう。5冊買っても日本の書籍であれば、1万円前後。英語の書籍でもせいぜい数万円程度です。どんどん投資しましょう。

買った本はひと通りざっと目を通す。頭の中に知識体系の地図をつくり上げるのです。これで、基本的にOK。あとは、数冊の本を丁寧に読み込んでいく。社会人として必要とされる知識体系は、せいぜいこの程度で完成します。

大事なのは、サブスレッドを全面的に信頼することです。サブスレッドで読むような方法は、速読法とか、フォトリーディングなどと言われ、解説されているものなので、検索してみてください。

プログラミングの練習

チーム開発をするプログラミングにおいて、大きな要素の2つが、コーディングとソースコードリーディングです。コーディングは書くこと。ソースコードリーディングは読むことです。コーディングは簡単です。習うより慣れろというくらい、書きなぐることが重要です。

そして、忘れていけないのはソースコードリーディングです。他人のコードを読むことは、正直面倒な作業と思うでしょう。しかし、ソースコードリーディングができなければ、既存のコードを修正したり、僕らのコードのリファクタリングをすることはできないです。

ソースコードリーディングにおいて重要なのは、読んでいるコードをサブスレッド上になるべく置いていくということが大事です。読んでいるコードがきもちいい。臭い。きれい。きたない。といった感覚に置き換えてみるのがよい練習になります。最近は、エディタやIDEが進化して、シンタックスハイライトがよく効くようになっているので、こういう感覚は呼び起こすのは非常に楽でしょう。

ソースコードリーディングの練習が熟達してくると、修正箇所がすぐに見つかったり、リファクタリングもできるようになります。脳内のサブスレッドがバグや修正箇所を勝手に見つけてくれるようになるでしょう。

音読のすすめ

頭の中を無にして練習するためのツールとして、音読や朗読は非常によいでしょう。音読は、語感をサブスレッドに叩きこむことを強制的に行うことができます。語感は、言語の習得に必要なだけでなく、筆者の思考法にも繋がります。

音読や朗読は、中学以来やったことがないという人がほとんどでしょうが、日々、読んでいる文章を声に出して読んでみる。大人になってやってみると非常に多くの気付きが得られるでしょう。まずは、やってみてください。

まとめ

お解りいただけましたか。練習は、メインスレッドでの作業をサブスレッド化する際に非常に重要な活動ということです。練習するということは、会社で働くようになると、ほとんどやらなくなります。しかし、生命時間を上手に活用するためにも非常に重要な活動となりますので、日々の生活に組み込む。すなわち、習慣化するように心がけるとよいでしょう。

おしまい。

ブロマガ会員ならもっと楽しめる!

  • 会員限定の新着記事が読み放題!※1
  • 動画や生放送などの追加コンテンツが見放題!※2
    • ※1、入会月以降の記事が対象になります。
    • ※2、チャンネルによって、見放題になるコンテンツは異なります。

ysawa が教える「超プログラマへの爆速勉強法」

ysawa (澤 良弘)

月額:¥550 (税込)

コメント

コメントはまだありません
コメントを書き込むにはログインしてください。

いまブロマガで人気の記事

継続入会すると1ヶ月分が無料です。 条件を読む

n次元ちゃんねる

n次元ちゃんねる

月額
¥550  (税込)
このチャンネルの詳細