プログラマが抱える3Kはなぜ起こるのか?脱するために必要なことはなにか?

エンジニア(SE)・プログラマ 課題・悩み

プログラマが抱える3Kはなぜ起こるのか?

プログラマという職業にどのようなイメージがあるでしょうか?

某掲示板では、プログラマは3Kの仕事だと揶揄されている書き込みを見かけることもあるとおり、ずっとパソコンに向き合ってカタカタとキーボードを打ち込んで、帰りは終電間際、給料も安いといったイメージではないでしょうか。

しかし、プログラマの職場環境を考えると、炎天下の中で汗をかき、寒い日には凍えながら作業をするようなこともなく、ましてや雨に打たれたりするような過酷な労働環境にはないことを考えてみたらそこまでひどい職場とはいえないのではないでしょうか。

なぜプログラマが3Kと呼ばれるのか?よくいわれる3Kに対してどうすれば快適な作業環境を手に入れられるのか考えてみましょう。

3Kとはなにか?

1

かつての3Kといえば「きつい」「汚い」「危険」の3つのイニシャルKから付けられたもので、主に建築・土木作業員や、溶接・整備作業員などの肉体的に過酷さを伴う労働を行なう現場作業員の現状をさしたものであり、若者が避ける仕事の代表格としてつけられたものでした。

しかし、先述したとおりプログラマには現場仕事のような危険な仕事ということはほぼありえず、また室内でエアコンの効いたオフィスでは「汚い」や「危険」といった労働環境はあまり該当しないでしょう。
では、なにをもってプログラマは3Kとされているのでしょうか?

それは衛生面や身体的な危険などの過酷さという点ではなく、精神的な過酷さに焦点をあてた「キツイ」「帰れない」「給料が安い」の3つのKをもって新3Kとしていることが多くいわれています。

プログラマ業界は本当に3Kなのか?

2

プログラマの3Kといわれる「キツイ」「帰れない」「給料が安い」についてひとつずつ解析していきましょう。

  • 「キツイ」について

まず、「キツイ」という点について、なにをもってキツイとするか分かり辛い点はありますが、先述したとおり重機を扱うような危険さや糞尿を扱うような衛生面でのキツさはあまりなく、プログラマのさす「キツイ」とはストレスがたまりやすい環境が精神的に「キツイ」という点があげられやすいかと思います。

特に、プロジェクトの終盤や急な仕様変更が発生すると納期までの作業量が急激に増すことがあるため、「残業続きになる」「上司から怒鳴られる回数が増える」「納期に間に合うかというプレッシャーがかかる」といった過度のストレスがかかる状況で精神的においこまれやすくなることはあるでしょう。

しかし、その一方でプロジェクト終盤でのツラさは決められた納期までであることが多いため、実は上述したような修羅場も長い期間続く可能性は高くはないのです。

そして、それに反比例するように修羅場を乗り越えた後にくる「やり遂げた」という達成感はのんびりとした平穏だけの仕事では味わえない達成感を感じるものです。
そう考えると必ずしもキツイことだけであるとはいえないのではないでしょうか。

  • 「帰れない」について

次に、「帰れない」という点について考えてみましょう。先ほど述べたとおりプロジェクトの終盤に至った場合や急な仕様変更などが入ることで急激に忙しさが増した場合は、終電ギリギリまで仕事をこなす日が続いたり、場合によっては会社に寝泊りすることもあるでしょう。

ただし、恒常的にこのような勤務が続くかというとそういうわけではありません。逆にプロジェクト開始の場合では、自分のタスクになるまでは先行の作業待ちということも多く、仕事にゆとりがあり、定時に帰れる日が続くということも考えられます。

厚生労働省の統計情報によるとプログラマの平均的な残業時間は月19.5時間とあるとおり、1ヶ月20営業日で考えると1日あたり1時間程度の残業時間にしかなりません。

確かに「帰れない」ときがあるという現実はあるかもしれませんが、平均的な残業時間で見ると他の職種と比べてプログラマが特別「帰れない」職種であるということではないようです。

  • 「給料が安い」について

最後に、「給料が安い」という点について、一般的なイメージとしてIT業界全体がITバブルの崩壊により以前のような稼げる業界ではないと思われています。

確かにIT全盛期に比べて伸び率は下がっていることはありますが、実態としてIT業界が衰退しているのかというとそういうわけではありません。

携帯電話・スマートフォンの高性能化やコンビニエンスの端末サービスで行なえる商品購入、住民票の写しの取得などのサービス向上化、クラウドサービスのように今までは高価で利用できなかった信頼性と機能性の高いサーバを誰でも気軽に利用しやすくなるなど日々進化を遂げています。

今後もIT業界がもたらす恩恵が生活の中からなくなるということはまずありえないでしょう。

では、いち作業員であるプログラマにまでその恩恵が反映されているのかという点は働く側としては気になりますよね。

実際に年収をDODAで調べたところ、プログラマの平均年収は458万と100種に厳選された職種のなかでは61位とあまり高い水準といえるものではありませんでした。

しかし、職種全体の平均年収が440万だと考えると、プログラマが決して「給料が安い」とはいえないことがわかります。

  • プログラマは3Kか?

さまざまな情報や体験談から3Kのイメージに捉われやすいプログラマですが、確かにキツイ面はあるかと思います。しかし、かつての3Kのように命の危険にさらされるような苛酷な労働環境はなく、ごく一般的なキツさを抱えた職種のひとつと考えてもよいのではないでしょうか。

しかし、残業や精神的に追いこまれるような状況が一時的のものでなく、もし恒常的に続いてしまうようなことがあるとその状況はかなり過酷なものになりえるでしょう。

このような状況にならないようにして、プログラマ業を生涯に渡って働き続けられる仕事にするためにはどうしたらよいでしょうか?

一般的なプログラマの一日の使い方

まず一般的なプログラマとしての勤務体系がどのようになっているのか考えてみましょう。

プログラマの作業環境は上述したとおり、繁忙期と余裕のあるときの差が激しい職場環境です。

例えば、繁忙期となる納期間際の一般的な勤務状況を見てみると、9:00に業務開始して、途中会議などをはさみつつ終電間際まで延々とプログラミングを書き続けることもありえるでしょう。

作り上げた納品物にさまざまなアプローチから何度も何度もテストを行ない、その度に発生した問題点に対して修正を繰り返すこととなります。

納期までに問題点が解決することができなければ、終電を超えようが睡眠時間がなくなろうが作業を続ける必要がある過酷な勤務になることもあるでしょう。

では、その一方でプロジェクトの開始時期となるとどうでしょう。

実は、この時プログラマにはあまり仕事がありません。

要件定義が固まるまではプログラミングは始められないため、プログラマの専門的な仕事は発生しないのです。

この時期に溜まっていた細かい作業を片付けたり、前回の問題点に対する対策を講じてスキルアップをはかるなどの余裕を持って業務にあたれることも多くあります。

もちろん仕事が片付いてしまっていれば定時での退勤も可能でしょう。

プログラマなのに仕事を早くこなしている人、その秘密とは?

納品間際になると時間に追われやすくなるプログミング業ですが、仕事の早いプログラマはさまざまなテクニックを上手に活用し、繁忙期でも余裕を持って仕事をこなしています。

では、そのテクニックとはどのようなものでしょうか?

ものすごく端的にポイントを説明すると作業は効率的に行なうということです。
では、具体的に作業を効率的に行なうにはどうすればいいのでしょうか?

1.業務はテンプレ化しておく

テンプレ化とは決まった型をあらかじめ作っておき、可変する部分だけを変更をする手段で、決まった型については同じ作業を繰り返さなくてすむというメリットがあります。

例えば、メールに入れる署名を登録しておく、案内のメールを送る際は日付や内容などの可変する部分だけを書き変えればよいように文章の雛型を作っておくなどの手段があります。
プログラミングであれば、コードをテンプレ化しておくことで無駄な作りこみを省くことも可能でしょう。

2.過去のやり方を参考にする

過去のやり方というのは以前に認知された正当なノウハウを継承するという点でも非常に使えるテクニックといえるでしょう。

例えば、自分が初めて飲み会の幹事業務を行なう必要があった場合、あいさつの文面であったり日時や店の場所、会費などの必要な情報のフォーマットなど意外と作り込んでいく必要があります。このように作りこんでいく手間を過去に自分が送られた飲み会の案内メールを丸々コピーして必要な点だけを変更して送るという手段もあります。

ただし、プログラミングのコードを解析して丸々コピーして使用するというような行為は著作権の侵害にも当たる可能性が高いので、業務上問題ない範囲でのみ活用してください。

3.上司や顧客とのビジョンは常に一致させる

作業の効率性を下げる一番の要因は作り上げた納品物の修正にかける時間が無駄にかかってしまうことにあるかと思います。

例えば、一生懸命時間をかけた納品物を顧客に見せたところ、イメージしていた物と全く違うから直して欲しいといわれたらどうでしょう?軽微な修正であればあまり時間をかける必要はありませんが、納品物の根幹となる点に指摘を受けると下手をすると一から作りあげなければならないほどの労力がかかる恐れがあります。

人と人が話しあう以上、お互いの認識の違いからこのようなリスクは必ず発生してしまうものです。

上記のようなリスクを避けるためにもプログラミングに取り掛かってしまう前に顧客や上司とコンタクトをとり認識あわせは十二分に行なっておく必要があります。

仕事が早い人はこのコンタクトのとり方が非常に上手く、会議の場だけでなくエレベータの待ち時間などの隙間時間を狙ってさりげなく確認しながら認識のすり合わせをこなしているのです。

3Kに陥らないためには

3Kの根幹にあるのは結局のところ、非効率な作業により無駄な残業(場合によってはサービス残業にもなることもあるでしょう)が発生してしまい、「帰れない」「給料が安い」「キツイ」といった状況を生み出すことではないでしょうか。

上述したように「過去のやり方を参考にする」「上司や顧客とのビジョンを一致させる」という効率的な作業方法のノウハウが身に付けば無駄な作業を省くことができ、手早い仕事の実現に役立てることが出来るでしょう。

また、面白い意見のひとつとして、適度にサボったり昼寝をするという意見も見られました。1日のうち常に全力で働き続けるとどこかで集中力が切れて頭の回転が悪いなと感じるときもあるかと思います。

そういった時にはいっそのこと手を抜いてしまい、適度に心身を休めたあとに短期間で集中的に仕事をこなすというやり方もひとつのテクニックでしょう。

今回は一例として挙げたテクニックばかりですが、業務に応用することで驚くほど作業の進捗状況に変化が見られるはずです。

会社や職場のやり方に確かに文句が出ることはあるでしょう。しかし、そのような逆境に飲み込まれてしまうのではなく、効率的な仕事のテクニックを用いて可能な限り残業を減らすことで自分の力でプログラマ3Kから脱することも可能なのではないでしょうか?

関連記事

あなたはプログラマーに向いている?仕事内容と適性をチェック!

関連記事