プログラマーという職業の特殊性

私は約20年間プログラマーとして働いてきて、現在はうつ病闘病のために食を離れている。その離れている期間に何度も復帰しようとして、何度も失敗してきた。その失敗には病気のせいというだけではなく、プログラマーという職業の特殊性が要因としてあるのではないか?ということでこの覚書を記す。

プログラマーという仕事の特殊性、それはプログラムというものの特殊性に起因する。プログラミングというのはよく建築図面を書くことに例えられ、英語ではアーキテクト(建築家)という名称が用いられる。ただ普通の建築と異なる点は、プログラムには「時間の流れ」という要素が加わる点である。

純関数型のプログラムのような学術的用途のプログラムを除き、プログラムにはおおむね始点と終点があり、分岐があるにせよ始点から終点に向かって経時的に処理が進行する。その点では音楽の楽譜に近いものである。しかし、楽譜とも大きく異なるのが、「文脈」があるということである。ある処理が、前後の文脈によってどういう動作をするかが変わってくるのだ。

たいていのプログラム言語にある「if文」というのを見てみよう。これはif文で解釈される内容が真ならばある処理を行い、偽ならば処理を行わない、という命令である。if文より前の内容の文脈にある何らかの内容(たいていは変数の値)を見て、それが条件に当てはまるかどうかを確認し、処理するかどうかを決める。楽譜で言えばリピート記号に近く、1回目は記号内の音符演奏し2回目は別の個所に飛ぶ、というようなものに似ているが、処理の流れは楽譜よりもはるかに自由度が高く、複雑だ。

この時間的な「文脈」を追いながら次の処理を設計していく、という過程が、建築などの設計とは大きく異なるのだ。文脈を理解するには、文脈の内容をある程度まで記憶しておかなければならない。単独の処理だけを読んでも、それが何の処理であるかがわからないからだ。20代をピークにこの「短期記憶」が衰えてくることから、昔の「プログラマー35歳定年説」がささやかれるようになったのだろうと推測する。

自分のことに引き当ててみると、うつ病になり短期の記憶力の低下が顕著になるにつれて、プログラムが読めなくなっていった。単独の処理が何をしているかは経験上すぐにわかっても、前後の文脈が覚えられず、理解できないということが頻繁にあった。文章などは普通に書くことが出来ていることを鑑みると、プログラムの文脈を覚える部分は脳の中では別の機能であるようだ。

悲劇的であるのは、プログラマーという職業がそういった脳の機能を大きく使う必要があるのに対し、脳の機能を萎縮させる精神的な病気に、仕事の環境柄陥りやすいことだ。

この記事が気に入ったらサポートをしてみませんか?