プログラマーに必要な好奇心というもの
プログラマーには「好奇心」が必要と言われますが、僕もこれには賛同します。
妻にも常々「そんなの(何かパソコンだったりガジェット)買うので悩まないでさっさと買いなさい。好奇心なくなったらエンジニアとして死ぬよ」ってたびたび怒られています。
「好奇心」ではないですが「欲しい本は悩まずに買う約束!!」とも叱られますので所持してる技術書は1000冊は超えてます。(ラノベも買ってます)
さて、僕の場合は元々好奇心旺盛なのですが、実際は下記のような行動を普段からしていて、それを殺さないように気をつけています。
あの遠くに見える変な形の建物は何だろう?
→ ×どうせ美術館か何かでしょ
→ ○行って確かめてみよう!
なんで人間は働かなきゃ行けないんだろう?
→ ×義務だから仕方ない
→ ○どうして働かなきゃ行けない社会が出来上がったんだろう?調べてみよう!
これって政府の陰謀っぽいよね
→×陰謀に決まってる
→○陰謀が実現できるか思考実験してみよう!
またこの仕事か
→×どうせ今回の仕事もこうやりゃすぐに終わるでしょ
→○なぜまたこの仕事が降ってくる?もっと良い手段はある?そもそも目的は?
「好奇心」というと色々なものに興味が湧く感じですが、実際には一度立ち止まって考えふとした疑問を適当に片付けないこと、でしょうか?
そういう意味で、大人になると備わる「自制心」「効率重視」「節約」なんて心情は「好奇心」とは真逆で害悪だと考えています。ただ生きるためにはどうしても必要なので最低限に抑えます。
無駄なんて気にせず車輪の再発明して良いですし、仕事の能率が落ちたとしても慣れた方法よりも良い方法を模索していいですし、当たり前だと思っていても仕組みを探ることも悪くありません。
これらが「この業務の本質はなんだろう?」「業務の何をサポートしたら一番効率を生むシステムになるだろう?」「全部を実現するお金も時間もないけれどどこの実装に力を入れるべきだろう?」「プロジェクトの遅延の原因はなんだろう?」などを考える下地になっています。
慣れ親しんだ今までの手法で何事もこなせば、時間は節約でき仕事は速くなるのですが、それに溺れることは危険だと思います。好奇心を殺します。