超メモ帳(Web式)@復活

小説書いたり、絵を描いたり、プログラムやったりするブログ。統失プログラマ。


SPONSORED LINK

自分なりのプログラマの勉強法を言語化する。

自分なりのプログラマの勉強法を言語化する。


今日は集中して仕事することができたな。朝は昨日のエンジニアとしてのコンプレックスみたいなもんがまだ尾を引いていて、不安な感情がグルグルしていたのだが仕事を徹底的にやることで夜の今は調子がいい。


サボり癖については最近、克服できてきたのではないかと思う。このブログのありがたい読者様であれば僕が昔から仕事のサボり癖と徹底的にやり合ってるところを知ってるかもしれないけど、やはりサボり癖の特効薬としてはSNSなどのインターネットの遮断とポモドーロテクニックらしい。


ポモドーロテクニックを使って25分働いて、5分の休憩時間はkindleを使って本を読むようにしている。これだったらまぁ、インターネットに引っ張られずに集中力を維持したままで休憩をすることができる。それに僕はブログで毎日アウトプットもしてるので、どこかで情報はインプットもしておかないとだんだんと記事の内容が痩せてくるのが怖いのである。情報収集を行う場所としてはkindleによる隙間時間の読書と、毎日通勤の時や家事の時に聞いてるポッドキャストやラジオにしていきたいなと思うところである。


最近の読書傾向としては、プログラマの勉強法に興味を持っている。昨日のブログの続きのような内容であるけど、どうも僕はこの年齢のプログラマにしては技術的な能力が低すぎるのではないかと不安を感じてるのだ。そこで「世界一流エンジニアの思考法」のような書籍を読んでるのだけど、やはり一流の技術者というのは日常的な勉強を欠かさずにやってるらしい。


僕も仕事をやる時間を集中してやって圧縮して、会社で一日1時間ぐらいは業務時間に技術の勉強を空けてやろうかなと企んでる。そういうのはサボりじゃねぇのか? とツッコまれるかもしれないけど、プログラマ界隈ではみんな大ぴらには言わないけどやってることである。Googleでも80%ルールというのがあり、業務時間の20%は業務外のプロジェクトをやることが推奨されており、その業務外のプロジェクトからGmailGoogle日本語入力のようなプロダクトが生み出されてるのである。


で、プログラマの勉強法であるけど、これは僕にとっては昔から興味がある課題であった。イラストやプログラミングのような非言語的な技術習得のための勉強法というのは、いろんなことが言われてるけど多種多様であり情報が多すぎて混乱してしまう。


ちなみに僕自身ではプログラマの勉強法としてはScrapboxではこんな風にまとめている。


scrapbox.io


いろんな勉強法のやり方を情報収集して集めてきたけど、その中から自分なりのプログラミングを勉強するための方針というのをきちんと言語化して、きっちりとルールを決めて勉強するべきだと思うんだよね。僕がよくやりがちのことであるけど、本を読んだり情報を集めただけで満足してしまい、まったくその情報を使わずに手が動かないことが良くある。これだから僕は「口じゃなくて手を動かせ、ハゲ!」という言葉も座右の銘にしてるけど、これは自戒のためである。


では、僕なりに今まで勉強してきたプログラマの勉強法というのをまとめて、どんな風にして職業プログラマは勉強していくかということをまとめておくか。僕自身が知り得た情報としては「エンジニアの知的生産術」の中で学んだ勉強のやり方が一番腹落ちした。



プログラマが何か勉強をしたいと思ったのなら、まずはゴールをしっかりと定義しておくことが肝心。勉強というのはモチベーションをエネルギーにして走り続けるマラソンのようなものなので、なんの目標もなしにモチベーションを維持するというのは普通の人には不可能である。


たとえばPythonをマスターしたいみたいな目標を持って、いきなりPythonの参考書を1ページ目から全部読破した上で全部覚えようとするのはNGである。モチベーションをうまく使って勉強をするためには、ちょくちょく達成感が感じられるぐらいにはタスクの粒度を細かく保つ必要がある。○○の書籍の××の技術を使えるようにするなどの具体的なゴールを設定してないと挫折しがち。目標を立てたのならその目標に対してプロジェクトを立てて、最初の段階でタスク分けをしてマイルストーンの日にちを決めたりしてスケジュールを立てる。


それと、本は最初から最後まで順番に全部読まないといけないという考え方は呪いなので早々に捨てた方がいい。技術書や論文のような文章というのは使うための文章であるので、索引やインデックスというのが充実してる。まずはインデックスを熟読した上で、興味がありそうな技術のページのみを読むのが正しい技術書の読み方である。本屋で技術書を探すときも、索引やインデックスを眺めてみて、自分の技術スタックで理解できそうで、勉強してみたい技術がある本を買うべきである。


後は古い概念ではあるけど、「遅延評価学習法」というのは今でも重要な考え方だ。強いエンジニアというのはなにもかも知ってるように思えるかもしれないけど、すべての万学を学習するというのは人間の能力では無理。自分が必要な時に必要な技術を勉強する時が一番モチベーションが高い。技術の勉強というのもコストが高い行動であるので、必要なリソースを必要なポイントに絞り込むという考え方は重要だ。


僕はプログラマの勉強法としてはこう考えている。ひとまず言語化してみたのでこの方法でやっていこうかなと思う。今んところ自信なくしちゃってるからねー。地道に勉強してわかることを増やすのが一番の薬だろう。

プライバシーポリシー免責事項