祝いのカンパナ

msms blog & diary

日記 2018/1/24

雪かき

 昨日の朝、雪かきをした後オフィスに出社して仕事しようと思ったら、キーボードを打とうとする手がずっとプルプル震えて挙動不審みたいに見えた。新しいオフィスに緊張してるのかなとか思ってたけど、家に帰ってきたら物とか握れないし腰は痛いしで、完全に雪かきのせいだった。雪かき下手だな。雪国の人とかは雪かきが上手いんだろうけど、東京だとこの規模の雪は何年かに1日しかないからなー。ここに住む限りはこの先も腰が痛くなる雪かきしか出来ないんだろう。

 2014年の豪雪の時はバスが3日間ぐらい運休になってしまって、駅まで徒歩40分の物件に住んでいるので完全に陸の孤島になってしまったんだけど、今回は翌日から時刻通りバスが動いていたので良かった。オフィスからの帰りのバスで除雪作業車みたいなのが何台か居て、2014年みたいにならないように行政で対策がされたのかなーと思った。

最近読んだ技術書

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

 

 JavaScript の入門本は他にも持ってるんだけど、オライリーの本が読めるようになりたいなあと思って読んだ(6割ぐらい)。

 プログラミングやってない人にとってはなんのこっちゃという話だと思うんだけど、オライリーっていうプログラミング専門の出版社から出てる膨大な数のシリーズがあって、とにかく厳密性と実用性を重視して書かれているのでどれもこれも初心者には本当にチンプンカンプンな本たち。「○○言語入門」とか本の題名に書かれていても、他のプログラミング言語の上級者の為の本であるという暗黙の了解の元書かれているので、決してプログラミング初心者の為の入門本では無いことに留意しないといけない。

 プログラミング上級者の人はこのシリーズを好んで買ってふむふむとかやってるので、そういうの憧れるなー、やっぱり難しいことを理解できるのって良いなーとか思って、その道への第一歩としてこの本を買ってみた(会社で買ってもらったんだけど)。

 この本はオライリー本としては本当に簡単な部類に入ると思うんだけど、それでも理解が全く追いつかない部分もたまにあったりして、あーオライリーだなーと思う。それでも本全体の大意は読み取れたので OK ということにした。わからなかった部分はいずれわかる日がくるんだろう、10年後ぐらいに。

良いプログラマになるまでにかかる時間、かける時間

優秀なプログラマーになるには非常に長い時間がかかるという現実を直視すべし


優秀なプログラマーというのは寝ている間に異世界に召喚されて無双するのとはわけが違うんですよ。

自分の例で言うとプログラミングを始めた中学生の時から優秀なプログラマだったかって、そんなわけない。みんなヘッポコからスタートしているに決まってるわけです。以来二十余年、地道に生き恥を晒し続けてきた結果として、現在いちおう業界の末席を汚すところまで来ている。このプロセスから目を背けるべきではないです。優秀なプログラマーに生まれる人間なんかいない。優秀なプログラマーに「育つ」んだし、それには時間が必要。今日から無双したいと思うな。

優秀なプログラマーになるためのコツ · GitHub

 20年かー。

 他の方の記事では10年かかると書かれていたりするけど、まぁそのぐらいの時間がかかるんだ、という理解で良いのかな。僕は29歳から始めたわけだけど(現在31歳)、世の中には14歳から始めてるというプログラマがゴロゴロいる訳で、この15年のビハインドをどう埋めるか、という問題が常につきまとう。今の会社にいる限りは安全かもしれないけど、もし違う会社に行くとかなった時は現状だと当然同年代の人達と比較されてポイな訳です。

 いろいろ考えたけど、やっぱり技術書の読書とかコードリーティングとかのインプットの割合を意図的に増やすしかないと思うんだよなー。いや、アウトプット大事だと思いますよ。自分でコードを書いてアウトプットしないと上達しない側面は当然ある。でも、例えば文筆家が良い文章で本を書くためには、その50倍とか100倍ぐらいの良い文章の読書量をこなしている訳ですよ。それと同じように、良い技術書とか良いコードをとにかく大量に読んでいかないと自分で良いコードを書けるようにはならないと思うんだよな。

いつ学ぶか


余暇の時間をメインに勉強するのはお勧めしません。 だいたい仕事の後なんてのは疲れているし、休みの日には遊びたかったり用事があったり、 勉強を習慣づけるには不適切だと言えます。 勉強するのに最も適しているのは業務時間中です。
業務時間内で実際に仕事をする時間を3割程度に抑えましょう。 それ以外の時間は、チャットに勤しみ、Twitterを眺め、Webサイトを巡回し、インプットを増やします。 仕事中になにか気づいたことがあれば、とりあえずその仕事はほっぽり出し、 ブログを書くとか、ライブラリ化するとか、すぐにアウトプットするべきです。 急がば廻れという言葉があるように、寄り道したほうが最終的に成果が出ます。 もちろん、仕事の方は見積段階で3割程度の稼働を前提にスケジュールを組まないと、 不幸な未来しか待っていないでしょう。

プログラマの生き様 · GitBook

 この方は業務時間中に仕事をするのは「3割」に抑えて、あとはインプットなり仕事に関係ないアウトプットなりをすることを推奨してるけど、僕の体感としてもそのぐらいの割合が適切だと思う。とにかく膨大な量のインプットをして、頭の中でそれらをかき混ぜまくるというプロセスを踏まない限り、良いコードは書けるようにならないという予感がしている。

 いや、14歳の頃だったら今の話は全然違うと思うんです。そのぐらい柔軟性がある年頃だったらとにかくコードを書きまくることで上達して行く人がほとんどでしょう。でも29歳から始めてその15年間のビハインドを埋めたいんだったら「理論で殴れ」という話に行き着くんじゃないかなあ。