未成熟プログラマー症候群

2021-07-15

長年入り浸ってきた組み込み業界に一旦見切りをつけ、思い切ってWeb業界に飛び込んだのが2年前。年齢を考えると遅すぎる転身に当初は不安しかなかったが、やってみれば案外何とかなるもので、それどころか業界の壁などなかったかのように、今でも私は生産的なプログラマーであり続けることができている。

勝因は何だろう。業界知識の面では、いまだに私は大半の人に敵わない。そこから突き詰めて考えていくと、実は社会性こそが私をプログラマーとして優位たらしめている要素なのだといつしか思うようになった。若い頃は、社会性なんて私に最も欠落しているものだと思い込んでいたのに。

周囲のプログラマーを観察していると、尊敬に値するほどの知見を持つ割に著しく生産性の低い群があり、そこに属する人は最新の技術動向に敏感であるという共通点がある一方、押し並べて次のような特徴を持つことに気が付いた。これを未成熟プログラマー症候群と呼んでおく。

  • 職務において必要な他者との交流を嫌う。特に、部外の人間との交流を極度に恐れる
  • その社交嫌いとは裏腹に、コードレビューでは水を得た魚のようになる
  • 相手に敬意を払わない発言・指摘が多い
  • 自分の中に絶対的な美の基準があり、それに関わることでは相手が誰だろうと意地でも譲らない
  • リリースを何日もせき止めておいて平然としている
  • 過去のコードや、それを書いた人への悪口が多い
  • 自分の書いたコードが世に出ていくことを無意識的に避ける

それも一人や二人ではなく、これらの症状をすべて兼ね備えた人が次から次へと現れるのだ。偶然とは思えない。この手合いに私は正直うんざりしていて、Web業界に来てからは、技術的な壁よりもむしろこっちに手を焼いていると言っても過言ではない。つまり彼らは、自身が非生産的なだけでは飽き足らず、他人の足を引っ張ることさえあるのだ。原因は何だろうか。

これらの症状はすべて、社会性の欠如という仮説で捉えると辻褄が合う。というのもこの業界は、フリーランスが幅を利かせているせいもあってか、上司や先輩の有形無形の指導を通じて若者の社会性を育むという、組織に本来あるべき役割が機能していないケースが多いのだ。しかも、その代わりであるかのようにコードレビューなるものが中途半端に存在するせいで、それがコミュニケーションの場だと誤って解釈され、社会人として忌むべき態度だけが自己増殖的に伝播していっているように私の目には映る。だから私は、日本の「縦社会」と呼ばれるサラリーマン文化を、かつては馬鹿にする側の人間だったのに、今では少し認めつつある自分がいる。今さら戻りたいとは思わないが、少なくとも、自分もその恩恵を少しは受けていたのだ。

社会性とは言ってしまえば、「他者を慮る心」と「社会との繋がりに対する意識」、この二つに尽きる。これらの視点を欠いた技術はただの独りよがりであり、有り体に言うと妄想であり、何の利益も生まない。このことはまた別の記事で議論したいが、とにかく若い人にはこの二つの視点を忘れないでほしい。そして、たとえ相手の技術力が優れているように見えたとしても、未成熟プログラマー症候群に該当する言動は決して見習わないでほしい。

社会に出て間もない人にとっては、技術者の真贋を見分けるのは難しいかもしれない。そんな時は、「口より手を動かす人」を信用するようにしよう。たとえばその人がプログラマーなら、今日までにリリースされたコードの量を見ればいいのだ。それがその人の社会性そのものを表すわけではもちろんないが、「成し遂げた仕事の量」と「技術的なこだわり」のバランスが変な人は、明らかに危険だ。それだけは私の経験上、確信を持って言える。