kidoOooOoooOOom

ゲーム開発やってます

なんでも知っている超人の神話とハードワークの神話を捨てる

9年振りに読んだ「プログラマが知るべき97のこと」から学んだことシリーズその2

シリーズ1はこっち kidooom.hatenadiary.jp

35. 超人の神話

超人の神話 | プログラマが知るべき97のこと

何も情報を与えられなくても、あらゆる質問に答え、あらゆる問題を解決できる。そんな人はいません。ソフトウェア業界にそんな「超人」がいるという神話は、そろそろ一掃すべきでしょう。どれほど優れたプログラマも人間であることには違いはないのです。彼らも他の人と同じように、論理的に考え、体系的に分析をしない限り、どんな問題も解決できないのです。経験を積んでいる分、勘がはたらくため、普通の人より早く正解にたどり付けることはありますが、基本的には他の人と同じです。

このトピックを読んだとき、以前読んだこの記事のことも思い出した。 note.mu

質問に答えるという行為は、質問者の背景に潜む膨大なコンテキストを理解した上でないとまともな回答なんてできない。

そのことを、質問者も質問に答える人も理解した上でコミュニケーションを取って、問題を解決していく姿勢が大切だなと改めて思った。

36. ハードワークは報われない

ハードワークは報われない | プログラマが知るべき97のこと

プログラマという仕事は、時に、懸命に働いても意味がない、ということかあります。長時間オフィスにいれば、プロジェクトに多大な貢献をしているような錯覚に陥ることもあゐし、同僚たちもそう思ってくれることがあります。しかし事実はまったく逆で、自分の働く時間や労力を減らせば減らすほど、プロジェクトへの貢献は大きくなると言えるのです。ときには、頑張って働くよりも、働かずに済む努力をした方が、はるかに大きな貢献ができることもあります。神経を集中させる時間、製品を産み出すのに使う時間が週に30時間を超えるようなら「自分は働き過ぎだ」と考えるべきでしょう。自分のかけている労力を減らすことを検討する必要があります。もっと効率的に働く方法、少ない労力と時間で多くを生み出す方法を探さなくてはならないということです。

この週30時間を超えるようなら「自分は働きすぎだ」と考えるべきの箇所は、先日読んだ「超時間術」にも同様の記述があったので、自分の脳内で情報が繋がってハッとなった。

ある研究では、男女7500人にアンケートを行い、いつもどれぐらい忙しくしているかを調べたうえで、認知テストの結果とくらべました。

・週の労働時間が30時間を超えたところから、認知機能にマイナスの影響が出始める

・週の労働時間が60時間より多いと、普段はまったく働いていない人と同じぐらい認知機能が下がる

週30時間労働は今までの自分の感覚だと少なく感じるが、集中して仕事の成果を出す時間が30時間と考え、残りの時間は自己研鑽や自分自身のために使うことでより良い30時間の使い方ができるようになることを日々意識すると、気づいたら強くなれているのかもしれない。

ストリートファイター3のリュウが勝利時に言うこのセリフが、個人的にはとても好きである。

f:id:gidooom:20190910150529j:plain

43. プログラミング言語は複数習得すべき

プログラミング言語は複数習得すべき | プログラマが知るべき97のこと

プログラミング技術の習熟度は、どれだけ多くのプログラミングパラダイムに親しんでいるかによって大きく変わることが知られています。「親しんでいる」とは、名前について知っている、ちょっとかじったことがある、というような程度では駄目で、その言語を使って正しくプログラムを書けるということです。

前回と同様で、関数型言語を新しく学ぶモチベーションが今高まっているので、現在メインで使用しているC#オブジェクト指向を深堀しつつ、Erlang, Haskell, Scalaのどれかを選んで学んでいこうと思う。

これは、この半期の目標「ゲーム開発」の一部に組み込んで取り組んでいきたい。場合によっては来年のガッツリ目標に入れたほうがいいかもしれない。時間は有限なので、よく考える。