やる気がストロングZERO

やる気のストロングスタイル

プログラマー的厨二病の症状と処方箋

僕がそうだったのだが、プログラマーって厨二病を患っている時期があると思う。
厨二病の怖い所は、厨二病に侵されていると自分では気がつけない所だ。
だから、もしかしたら今も僕は厨二病なのかもしれないが、自分の過去を振り返って厨二病の症状とそうならないための対策を書く。

発生時期

いわゆる「完全に理解した」時期に発症しやすい。

プログラマを目指して独学を始めると最初は何も理解できずもがき苦しむが、急に理解できるようになるタイミングが来る。
この時点での理解できた事とはプログラミングを行う上での最低限のルールに過ぎないのだが、何か一般人が理解できないものを理解できた気がして気が大きくなる。
最新のフレームワークやライブラリに興味があり、色々チュートリアルをやってみたり、Todoリストなど簡単なアプリを作ってみたりしている。

症状

より新しい技術を善とし、古い技術を悪とする

より新しい言語・フレームワーク・ライブラリが善でそれ以外は悪であると認識している。
古い言語やフレームワーク・ライブラリは学ぶ価値がないと思っており、それらを使ったシステムの保守開発に携わることを嫌がる。 「○○はオワコン」「○○はダサい」「○○はイケてる・モダン」という感じの発言が多め。

周りの意見(主にネット)を自分の意見とする

上記の原因の一つにもなっているのだが、twitterや技術記事の意見を鵜呑みにし、自分の意見と勘違いしてしまう。

新しい技術が出てきた時は、その技術の良い点が持ち上げられたような記事が多くなるため、それらを読んでいる内に「○○(新しい技術)を使うべき」とかなり強い意見を持つようになる。

ただし理由を突っ込まれると「新しいから」以外の理由があまり出てこない。

また、ネット上で見られる過度な意見「今どき○○を使っている会社はヤバい」に対しても同じ症状を発揮し、不必要に会社をディスったりする。

原因

周りが見えてない

世の中はさまざまな要素が影響しあっていて複雑で、エンジニアリングもこれらの要素の影響を受ける。 それに対し厨二病患者の意識はサンドボックス環境のようにエンジニアリングの世界で閉じていて、他の影響を受けない前提になっている。

例えば「古い技術を刷新せずに使っている」のは新しい技術に置き換える際、業務の見直しや関連メンバーの教育等のコストが発生しそれを払ってまで乗り換えるメリットが無いと判断されている場合が多いが、厨二病患者はここが全く認識できておらず単に「知識や実行力が不足しているから古い技術を使い続けている」と見えてしまっている。

自分で考えた意見を持ってない

有名な人の発言や、記事に書かれていることをそのまま取り込み自分の意見としてしまっている。
自分で考えた意見ではないので根拠が不足しており、状況が異なっていてもそれに沿った柔軟な考え方が出来ない。

対策

常に自分が厨二病である可能性を疑う

厨二病の症状は自分では気が付けないので常に自分を疑う必要がある。
ただし自分の知識を全く信用しなければ何も仕事を進められないので「今、自分が持っている知識」で仕事を進めるが「まだ得ぬ知識が存在し、それによっては自分の意見や考え方が変わる可能性がある」と常に思っておく。

自分で考える

例えば新しいフレームワークが人気だったとして、なぜ人気なのか?何が優れているのか?等を自分で考え、自分なりの答えを持つようにする。
もちろん技術記事などをから得られる情報を参考にもするが、大事なのはそこから得た情報を自分なりに解釈し検証して自分の意見にする事。

言語やフレームワークはちょっと本腰を入れて深く触ってみないとなかなか真髄が見えてこないので難しいが、継続的に自分で考えるようにしていればたまに軌道修正をしながら徐々にそれなりの考えに収束していく。