プログラミングと疲労と休養

2018年10月6日土曜日

システム業界問題 道徳常識 負言反抗

t f B! P L

経験的な話なのだが、プログラミングはとても疲れる仕事だ。
正確には設計、開発、テストの工程がとても疲れる。
前工程の「要求分析」「要件定義」などの仕事も大変な仕事なのだが、顧客が悪質な性格でなければそれほど疲れる仕事ではない。
「要求分析」「要件定義」などの工程は、顧客と共同で進めるため、ある程度以上の速度で仕事を進めることができない。
従って仕事は比較的ゆっくり進めることになるため、純粋に作業で疲れるということはあまりない。
その段階で疲れるとしたら、それは顧客との人間関係に伴う感情疲労であろう。
ここで話したいのは純粋にシステム開発の作業によって生じる疲労である。

こんな話をすると「仕事というものは皆疲れるモノだ」という「いかにも世の中のことが分かっている風を聞かせて、実際は目の前の仕事のことすらわかっていない、老害の詐術語」を聞かされることになる。
問題は大多数の非情技が「プログラミングは簡単で楽な仕事だ」と思っているところにある。私は情技師の仕事は一般の仕事よりも過酷な仕事だと思う。長時間労働で違法な待遇や精神虐待などが多く、過労死も多い。他の業種に比べて精神疾患の発症率も高く、経営者のモラルは低い。
仕事自体も複雑で脳に非常に負担が掛かる。
何より大きな障害になるのが関係する非情技の仕事に対する無理解だ。

SIer業界には、こう言う話をすると「お前軟弱なんじゃないの?オレは全然疲れないよ!」と蔑んで言論を踏みつぶすクソシジイがウジャウジャ湧いて出る。(オレもおっさんだが)
彼らはそれほど長時間労働はしていないしキツい仕事は人に押しつけている。だから疲れない。
彼らは情技師の能力や努力を蔑み貶めて、安く買い叩こうとしているだけだ。要するにセコく値切っているのだ。
クソジジイと表現したが実際は年齢は関係ない。多重請負の上の階層が支払いを出し惜しみするのだ。
仕様変更なんかタダでやらせようとする。

非情技(非ITエンジニア)の人達には当然分からないだろう。
しかしこのブログは「非情技の人達にITシステムを理解してもらう」ことを目的に書いている。
他の情技師(ITエンジニア)は技術情報の発信には熱心だが非情技の人達に対する説明には消極的だ。そこが一番大事なのに。

プログラミングを別の仕事に置き換えるとしたら
「連続で数学の問題集を解き続ける」
「締め切り間近で原稿が遅れている小説や漫画の執筆」
といった作業が似ているかも知れない。
要点は、
やることは決まっていて試行錯誤などで休む間は無い。
作業の方法論は確立されている。
純粋な論理的思考を行い続ける頭脳労働。
ノルマが決まっており期日までに完成させなければならない。
プログラマーの月間労働時間は通常160時間から220時間ぐらいである。
毎月これだけの時間、数学の問題集を解くことを想像して欲しい。
ちなみにブラック企業だったら300時間を超える。私は360時間以上というの長期間やって体を壊したことがある。
SIer 業界ではこういう会社は珍しくない。
精神疾患を大量生産し国民の健康保険の歳出を無駄に浪費して恥とも思わない連中だ。
普段税金の無駄遣いにうるさい国民がどうしてこの問題に関心が無いのか理解に苦しむ。

プログラミングを趣味でやってるなら疲れないと思う。
ゆっくりと試行錯誤をしながら作業を進めるからだ。
締め切りもない。
また、自由に完全な裁量権を持って行う作業は楽しいモノだ。
仕事ではそうはいかない。

疲労という概念を認めたくない企業


企業社会では「長時間労働で疲れた」と言うと「怠けるな!気合いを入れろ」と叱責を受ける。
働けば働くほど疲れるので、当然に体調を崩したり生産性が落ちたりする。
すると益々叱責がエスカレートしてやがて精神虐待まで発展する。
私は一年程月360時間の超過労働で体調崩して欠勤の連絡入れたら上司が家まで来てドアをガンガ叩いて会社に連れて行こうとした。
健康状態が限界に達して貯まっている有給を使おうとしたら営業に「もう対馬さん!もういい加減疲れたって言うの止めましょうよ!」とまるで怠け者を諭すように言われ、常務には「お前はダメなヤツだ!」と暴言を吐かれた。
この会社はもちろん辞めた。

これぐらい企業では「疲労」という概念は存在してはならない概念になっている。
もちろんこんな会社ばかりではないが、決してレアケースではない。
私が20代から30代までに出会った会社は大体似たような価値観の会社ばかりだった。
40代では残業を全面拒否している。

疲労とは何か


「梶本修身」という「疲労」の研究をしている医学博士が居る。
以下のように一般向けの書籍を何冊も出版している。

梶本修身博士によれば、人間の疲労はほとんどが脳の中枢部である「自立神経」の疲労だという。
運動のによる疲労も筋肉が疲れているように感じるが、実は自立神経が疲労しているそうだ。
肉体というのはかなり頑丈で簡単に疲れたり壊れたりしない。
病気になるのは相当な生活の不摂生があるからだそうな。(遺伝的欠陥を除く)
運動による疲れも肉体的にはもっと活動する余裕があるそうだ。
しかし身体を制御する脳幹の自律神経が処理能力の限界で機能低下したのが「疲労」だ。
仕事による疲労も自立神経の疲労で、その他の環境変化や感情労働などの疲労も自律神経の疲労だということになる。
つまり人体の中で最も負担が大きく疲れやすい器官は「自律神経」なのだ。

従って疲労の回復は自律神経を整えて休ませなければならない。
疲労の回復に規則正しい生活が必要とされるのは自律神経を構成する交感神経と副交感神経を昼夜交代で休ませる必要があるからだろう。

超過労働による疲労もパワハラやセクハラによる感情から来る疲労も、運動による身体の疲労も全て脳の自律神経の疲労だと説明されると過去の疲労経験を全て説明できる。

疲労の要素

全ての疲労が脳疲労(自律神経の疲労)だと説明出来るのなら、プログラミングの疲労も説明し易くなる。

同じ思考の連続による純粋な大脳前頭葉の疲労

先にプログラミングの負担を数学の計算問題を長時間解き続けるのに似ていると説明したが、同じような論理的思考を続けていれば、脳の一部分が疲れるのは当たり前だ。
こちらは恐らく大脳の前頭葉の疲労だと思う。
自律神経は全身の制御を行うので最も疲れるのだろうが、前頭葉も一日中使えば疲れるだろう。
学生時代数学や物理の勉強しているとき額が暑くなったことを思い出す。
私は北海道出身で、当時は北海道にエアコンは普及していなかった。
当時は濡れタオルなどで冷やしながら勉強した覚えがある。

辺縁系と前頭葉の葛藤による脳疲労

現生人類は前頭葉が発達し、その機能により物語(因果記憶)を共有することにより組織行動をすることが可能になり自然界の生存競争を勝ち残り繁栄した。

大脳の内側には「大脳辺縁系」という感情や欲求を司る器官がある。
大脳辺縁系の更に内側には「脳幹」があり食欲や性欲、生存本能など生物として基本的な欲求を司る。
大脳の前頭葉はこれらの個体としての欲求を社会や組織の都合に合わせて抑制する働きがある。いわゆる「理性」である。
辺縁系は「怒り」や「割愛」などの欲求を発するが、それが所属する組織や社会にとって有害であれば、前頭葉が抑制する。
前頭葉の働きが鈍った高齢者などが怒りっぽくなるのは脳の仕組みから考えて理に適っている。

うつ病なども前頭葉と辺縁系の葛藤による脳疲労で起きるとも言われる。
辺縁系は「こんな仕事したくない。この場から逃げたい」と欲しているのに、前頭葉が「仕事はやらなければならない。逃げちゃ駄目だ」と欲求を抑制する。
アクセルとブレーキを同時に全力で踏み込むようなものなので脳が疲労してしまうのだ。
つまり「うつ病」とは極端な脳の疲労により脳機能が一時的に低下したものだ。
疲労なので、休めば治るし、休まなければ治らない。

プログラミングの現場には「矛盾した要求」が頻繁に発生する。
業界の計画や管理があまりに杜撰なので「同じ機能の設計と開発が同時進行する計画」や「テータ構造の設計が始まっていないのに開発の納期が来る」というバカな計画や管理がまかり通っている。
日本特有の非現実的忠誠心や真面目や謙虚の美徳により「こんなバカな計画で作れるか! アホか」とケンカすることなく計画の矛盾を情技師が内面化し、出来るはずの無い計画を実行しようとして脳疲労になってしまう。
恐らく海外には無いだろう。こんなバカな体制。

割り込み作業の多発による脳疲労(海馬の疲労)

人間の記憶は長期記憶と短期記憶に分かれる。
長期記憶は大脳全体に分散して情報を記憶すると言われている。
短期記憶は大脳辺縁系の海馬と呼ばれる小さな器官に情報を記録する。
長期記憶の容量は1ペタバイトと言われている。
海馬の容量は数メガバイトぐらいしか無い。
海馬はワーキングメモリと呼ばれており人間が生活や作業をする上で発生する事象を随時記憶しておく最初の記憶装置である。
仕事をするとき「今何をやっているか」を記憶しているのは海馬である。
プログラミングの作業記憶は海馬が中心だろう。
海馬が損傷すると5分ほどで「今何をやっていたか」を忘れてしまう。
最近はやりの「一定時間過ぎるとそれまでの記憶を忘れてしまう」タイプの物語の主人公は海馬を損傷しているのだ。

海馬の容量は数メガバイトと小さく、精々一つの作業分の情報しか記憶できない。
オフィスでプログラミング中に同僚や上司に呼びつけられ、別の作業の話をされると海馬の記憶は消去され、新しい作業の情報に書き換えられる。
脳は全身の20%のカロリーを消費し25%の酸素を消費する。
カロリーを消費するということはそれだけ疲れるということだ。
海馬の情報の書き換えもカロリーを消費して疲れる。
オフィスでは作業の途中で何度も割り込み作業が入り海馬の書き換えが行われる。プログラミングにとって最悪の環境と言える。
私は会話は「非同期通信」が良いと思っている。
相手の時間に割り込まないからだ。
受け手が能動的に情報を取りに行くのだから、作業中に割り込まれることも無い。海馬の情報は既に終わった作業のものだから捨てて良いことになる。
脳の負担が大幅に軽くなるのだ。

ヘタクソなマネジメントによる疲労

SIer業界の多重請負体制の開発体制はどうしてこうマネジメントがルーズなのだろうと思う。
まあ、原因はある程度分かっているのだが。
原因は以前のブログに書いたのでこの記事では書かない。

例えば仕様変更の管理などマトモにやっている会社を見たことが無い。
ウォーターフォールの仕様変更にもアジャイルの仕様変更にもそれぞれマネジメントの常識があるのだが全く守られていない。
ウォーターフォールでは後工程になるほど仕様変更によるコストが増大する。
後工程では仕様変更が高く付き、時間も掛かるのだが、そのことを理解していない人間が非常に多い。情技師とは思えない素人かと思うようなのがゴロゴロ居る。
この非常識な仕様変更により本来の計画は乱れ無用な長時間労働が発生する。この責任は明らかにPMの責任なのだが、日本の慣習では上の立場の人間は失敗の責任を取らないので、まったく訂正されない。
同じ間違いを何度も無限に繰り返す。
この状況は「どうせどんなに努力してもPMがまた失敗するんだろうな」という諦めに結びついてしまう。
この精神状態が何年も続いたら恒常的に精神が活動停止してしまう。
「心が折れる」という状態に近い。
業界にはこんな会社が山ほどある。
情技師に精神疾患が多いのは複数の理由があるのだ。

無駄な疲労は生産性を落とす

現在の業界の情技師(ITエンジニア)の待遇は、情技師を無駄に疲れさせる体制と管理で運営している。
単純に考えても計画や管理が下手だ。
この無駄に疲労させ、「疲労」という概念の存在すら認めないことにより、一切の改善が行われない。
SIer業界の体制問題は簡単には解決できない重層的な問題だが、一つ一つの課題を解決していかなければ永遠に問題は解消されない。
せめて「疲労は存在する」という事実だけでも認めて、「無駄に疲労を生み出す原因の排除」と「必要な疲労であっても出来るだけ緩和する」努力だけでも行ってはどうだろう。

疲労は確実に従業員の生産性を落とし、会社の利益を損ない、損害を拡大する。
会社は利益を追求する集団なのだから利益に対して合理的であるはずだ。
「利益に対して合理的」といっても企業が従属している国家は国民の生命と財産を守るので、国民から利益を収奪するすることは許さないだろう。
最近の「働き方改革」のように。

生産性が落ちるような働かせ方をするのは企業にとって合理的では無い。
特に人手不足ではなおさらだ。
生産性が上がるような働かせ方をすべきだろう。
会社の利益の為に。

疲労が発生し難い体制へ

生産性を上げる為に「無駄に疲労を生み出す原因の排除」と「必要な疲労であっても出来るだけ緩和する」工夫を行うべきだ。

自律神経の負担を軽減する

自律神経は身体が健康な状態と活動しやすい状態を維持する為に機能する。
暑ければ汗をかいて体温を下げ、寒ければ震えて体温を引き上げる。
体調に合わせて食欲が発生する。
疲れれば眠くなったり飽きたりする。

自立神経は全身の制御を行っているので白昼休む暇は無い。
そのせいかどうかは知らないが自立神経は交感神経と副交感神経の二重回線になっており昼間活動中は交感神経が、休んだり眠ったりしている時は副交感神経が、働くようになっている。
片方が働いている時は、もう片方は休んでいる。

会社は徹夜や休日出勤などで、交感神経と副交感神経の交代を妨げる。
交換神経と副交感神経の交代サイクルを何度も妨げていると、そのうち交代が出来なくなり不眠症や「うつ状態」を発症する。
自律神経失調症だ。
この状態が長期間続くと重度の「うつ病」になる。
「うつ病」は脳中枢(大脳辺縁系)の疲労だ。

徹夜仕事や休日出勤など生活のリズムを壊すような働き方を強制するのは止めろ。
長期的に続くと辺縁系と自律神経の疲労は解消するのに十年単位の時間がかかる。
もう少し従業員や派遣や違法常駐契約者の健康に配慮すべきだろう。

あとは細かいところではオフィスのエアコンの設定温度が適切か、トイレは人数分あるかなど、人間の扱いとして当たり前のことが出来ていない会社が多い。
狭いオフィスに情技師をすし詰めにして、夏場はエアコンが十分に機能せず、トイレも不足するなどという現場は珍しくない。
基本的な人間の扱いから改善すべきだろう。

作業中の「割り込み」の排除(非同期通信の勧め)


作業中に割り込み作業を入れることは、海馬の短期記憶を更新するため無駄にカロリーを消費するので避けた方が良い。
消費したカロリーの分だけ疲労が溜まる。
従業員同士の対話は非同期通信を使用するのが良い。
電話や口頭伝達は同期通信だ。
非同期通信はメールやSlackなどのメッセンジャーのことだ。
これなら相手の時間に割り込まないので、無駄に疲労をため込むことが無くなる。
生産性にも長期的に良い影響があるだろう。

さらに通勤などの負担を無くしリモートワークを導入すると更に自律神経の負担は減る。
その分、仕事の負担を引き受けられるということだ。
リモートワークを導入するには自己管理を導入する必要があるので簡単では無い。
従来マネジメントを改革しなければならない。

曖昧さと矛盾の排除


SIer業界では要件定義や説明、設計書、指揮命令の曖昧さと矛盾が跋扈している。
曖昧さは「組み合わせの爆発」を生み、予想を遙かに超えて、担当者の脳を浪費する。
矛盾は内面化すると前頭葉と辺縁系の葛藤に発展し脳中枢の疲労を生む。
ダブルバインドはうつ病経験者の間では割と常識的な病気の原因である。
健康な人間が知らないだけでうつ病経験者はうつ病の回避手段を知っている。

ダブルバインドというのは
「分からないことは何でも聞いてくださいね」
と言いつつ、実際に聞くと
「仕事の邪魔をしないでくれ」
と言われる、まあ良くある話だ。
良くあるからといって、しても良いわけでは無い。
ルーズな人や職場ほどダブルバインドは多い。
自分でダブルバインドであることに気付かないからだろう。
ダブルバインドは解消すべきだが、実際は無理かも知れない。
ダブルバインドはバカだから行うのだ。
「バカに付ける薬は無い」と言うだろう。

流れ作業型ルーチンワークの排除


ヘンリーフォード以来「流れ作業」というと生産性の高い働き方に聞こえるかも知れないが、これは工場の話でありソフトウェア開発には当てはまらない。
前工程と後工程を別の人間が行っている時点で「前工程から後工程への説明作業」が生じる。これは「無駄」以外の何者でもない。同じ人間がやれば説明しなくて良いのだから。
工場の考え方をソフトウェア開発に持ち込むのは止めて欲しい。
ソフトウェアでは前工程と後工程で役割分担するのでは無く、機能ごとに担当者を分けて、前工程と後工程は同じ人間がやるのが良い。
機能と機能の関係性を最小減にする開発手法は確立されている。(疎結合と呼ぶ)
情技師にルーチンワークをやらせようとしてはならない。
開発をルーチンワークになど出来る訳がない。必ず試行錯誤を必要とする。
現場では計画者や管理者が立てたバカな体制の不備を解消する為、創造的に情技師が行動しているものなのだ。
例えば前工程と後工程を分業すると前工程のミスを後工程担当者が解消しなければならないので、後工程が前工程の作業をやり直して修正することになる。
だったら初めから後工程担当者に前工程からやらせれば良いではないか。
ハッキリ言って人的資源の無駄使いだ。

ルーチンワークは脳の同じ部分だけを酷使するので疲労が溜まりやすい。
設計開発作業はある程度まとまった単位で前工程から後工程まで任せるべきだ。

無限に疲労を蓄積する不幸な社会は終わらせるべきだ


日本社会は「休養を取る」ことをまるで悪いことのように扱い異常に嫌悪する社会だ。
職歴などに空白期間などがあれば敬遠するし、
社員が「疲れたので休養の為に有給休暇を使用したい」と言えば、
「甘ったれるな」
「休養なんかの為に有給休暇を使って良いわけ無いだろ」
と罵声が飛ぶ社会だ。

だが実際は定期的にまとまった休暇を取り、疲労を解消した方が、人生の生産性は高くなる。
プロクラマーなら時々、会社を辞めて「無職」になり半年ぐらい部屋にこもって技術の勉強していた方が付加価値が上がる。
この場合職歴ブランクは否定しない方が良いのだが、休養を憎み蔑む悪しき日本企業は受け付けないだろう。

最近フリーランスが増えているのは単に単価が高いからだけでは無いと思う。

日本企業は今一度、「疲労と休養」について考え直すべきできはないか。

このブログを検索

Translate

人気の投稿

自己紹介

自分の写真
オッサンです。実務経験は Windows環境にて C#,VB.NET ,SQL Server T-SQL,Oracle PL/SQL,PostgreSQL,MariaDB。昔はDelphi,C,C++ など。 趣味はUbuntu,PHP,PostgreSQL,MariaDBかな ?基本無料のやつ。

QooQ