プログラマーに残業が多い理由

2018年1月21日

小さいころからプログラマーになるのが夢だった、大学で一生懸命勉強したプログラムの知識を生かしたい、何となく面白そう。
プログラマーになりたいと考える人はいつの時代も一定数おられるかと思います。
が、同時に気がかりになるのが、プログラマーの仕事は残業や休日出勤が多い過酷な職業なのでは、という点。
これについては、本当に状況によって大きく変動します。
私の経験では、早い時は定時、つまり夕方6時に上がれることもありました。
同時に、遅い時は夜10時ぐらいまで作業をしていたこともありました。
今回はその内容について、自分の経験を元にまとめ、整理していこうと思います。

残業が多くなる原因

まず、私の経験則を含めて残業が多くなる原因を以下にあげてみます。

  1. 納期直前に仕様が変更される
  2. 顧客の要望と認識相違があり、後々手戻りが発生する
  3. 作業量に対して納期がシビアである

まずは1.納期直前に仕様が変更される。これは主に顧客側の問題ですね。
プログラマーの仕事は、基本的に仕様書に従ってコードを作成する、という形になります。
詳細設計書までならプログラマー自身で作成することもありますが、それより上流の基本設計書や要求定義書になると、大体顧客側が作成することが多いです。
で、納期直前になって、やっぱり、こっちの機能はこうした方が良いや~、またはこの機能あった方が便利そうだから入れといて、となるわけです。
こうなることを見越して最初からスケジュールが長めに取られているのなら良いのですが、そうでないなら増えた作業の分だけ残業することになってしまいます。

次に2.顧客の要望と認識相違があり、後々手戻りが発生する。こちらは顧客と自分達のチームの間での問題となります。
顧客から渡された仕様書の中で、何か複数通りの解釈ができる文言があったとします。
例えば、仕様書の中にスイッチOFF、スイッチONを出すよう記載があったとします。
具体的な数値については記載されていないとします。
このとき、自分達のチームではスイッチOFFのときに出力する数値を0、スイッチONのときに出力する数値を1と想定してコードを作成しました。
が、実は顧客側はスイッチOFFのときに出力する数値を1、スイッチONのときに出力する数値を0となることを想定していました。
こうなると、後々顧客にコードをレビューしてもらった時に指摘され、書いたコードをもう一度修正しなければならなくなり、作業時間が増えるわけです。

最後に3.作業量に対して納期がシビアである。メンバーの処理能力に対して作業量が多すぎる場合ですね。
これらは人員の不足や、人員の割り当てミスが主な原因になります。
だったら人員を増やせばよいという話になりそうですが、人員を増やすとその分の予算が増えてしまうため、増やしたくても増やせないことが多いんですよね。
結果、今いるメンバーだけで残業してやる、ということになります。
人員の割り当てミスに関しては、そもそもコードを書いたことしかない人に設計書を書かせる等、慣れていない仕事を回したりすると、その人がよほど頭の回転の良い人でないと時間はかかります。

残業が少なくなるとき

上記であげたパターンに嵌ってしまうと残業が多くなりがちです。
ですが、プログラマーの仕事はどこもそんなものかというとそういうわけでもありません。
プロジェクト開始時等はまだ明確にやることが決まっていないため、手が空くことが多いです。
納期が無事完了した後も割と定時で帰れることもあります。
あとは、回されてきたプロジェクトの作業ボリュームが想定より小さかった場合もそうです。

まとめ

プログラマーに限らず、残業というのは社会で暮らすうえでは殆どの人が避けて通れない問題です。
特に自分の苦手な仕事で残業ともなれば、心身共に疲労が溜まります。
同じ残業をするなら、自分の得意な分野、または好きな仕事をやる方が良いとは思いませんか?
プログラムが好きで仕事としてやっていきたい、と思っているのなら、挑戦してみる価値は十分にあります。
次回は、作業の効率を上げて個人でできる限り残業を抑える方法について考察していこうと思います。

スポンサードリンク