ITエンジニアが残業すべきでない、いくつかの理由

 エンジニアは、優秀であればあるほど、早く帰らなければなりません。もし力が有り余っているなら、その時間で副業をするかコミュニティに貢献しましょう。

 もしそうでなく、あなたに過剰なタスクが割り振られ、やりたくもない残業をこなしているのなら、仕事を断る能力を身に着けるべきです。あなたのリソースが無尽蔵でないことを、仕事の発注者に知らせる必要があります。

 過重労働は、プロジェクトにとっていずれ不幸な結果を招きます。あなたが倒れれば、プロジェクトは容易に破綻するでしょう。あなたが担当していた作業は俗人化という名のブラックボックスに収納され、しわ寄せが他のプロジェクトメンバーに行き、離脱や退職を招きます。見て見ぬ振りをしたプロジェクトマネージャーにも当然責任はありますが、容易に残業を引き受けるプロジェクトメンバーにも同様に責任はあります。

 愚かなマネージャーは、プロジェクトが遅延するまで計画に問題はないと判断します。遅延して初めて、計画を修正し、人員の投入を計画します。あなたが頑張れば頑張るほど、あなたは満足かもしれません。しかし、上述したように、あなたの残業によって、人員計画の見直しは遅れ、プロジェクトは悪い方向に進みます。

 プロジェクトのために頑張るのは良いことです。それがあなただけのチームであるならば。

Noと言えるようにする

 プロジェクトには期限があります。期限は主に、経営計画、損益分岐点、営業やPMのプレゼンなどで決まります。

 しかし、それが守られるかは別の話です。最初は見通しの明るいプロジェクトで、計画どおりに進んでいたとしても、仕様変更などの無視できない横槍によって、プロジェクトは大きく軋みます。

 顧客がいる仕事で契約がしっかりしていれば、仕様を変更することによる追加料金の請求や、期限伸長の交渉ができます。遠慮なく増員または期限の伸長を主張してください。それが受け入れられない場合はプロジェクトが破綻することも説明しましょう。

 どうしても期限の伸長や増員が出来ない場合は、トレードオフとして他の機能の縮小を提案します。「お前が残業すればいいじゃないか」を決して受け入れてはなりません。それはいずれ常態化し、プロジェクトを不健全な方向に導きます。

 無制限に繰り返される仕様変更は、プロジェクトの体力を奪います。一度受け入れられた「前例」は「文化」となり、プロジェクトを蝕み、プロジェクトはいずれ死を迎えます。それを治療することは、多くの人が思っている以上に困難なことだということを、手遅れにならないうちから認識しておく必要があります。

 プロフェッショナルは、自己の能力を現実的かつ客観的に正しく認識し、能力以上の仕事は引き受けないようにするものです。一度引き受けた仕事を途中で放棄することが、今後にどういった影響を及ぼすかをよく理解しているからです。

頑張らないのは難しい

 頑張るのは簡単です。しかし、頑張らないのは難しいことです。自分にはまだ出来る余力があるのにも関わらず、あえてやらないことを選択するのは大きな罪悪感を伴います。

 あなたがとても優秀なプログラマなら、頑張りすぎないことに全力を注いでください。そうでなければ、チームのハードルは上がり続けます。

 「あの人は毎日残業して、すごいアウトプットを出しているのに、君は定時で帰るんだね」といった空気が出てしまうとそのチームの平和な時間は終わりです。後に残るのは、チームメンバがマウントを取り合うためだけの荒廃したリングだけです。

 チームは一蓮托生です。上述したようなチームビルディングの方法も殊更に否定はしませんし、場合によっては有効な場合もあるでしょう。しかし、プロジェクトにとってそれが最も幸せかどうかは、また別の話になります。

価値は労働時間ではない

 プログラミングは人によって生産性が大きく異なる仕事です。例えば、ひとつ完了させるのに平均8時間かかる仕事を1時間で完了させてしまう人もいます。これはその人が特別優れている、というわけではなく、プログラマにとっては非常にありふれた話です。

 プロジェクトに貢献する最も効果的な方法は、その場しのぎの残業などではなく、残業をする時間で勉強をして、いち早く自分の技術力を向上させ、通常の人の8倍の生産性を持つことです。

 もし、あなたが既に8倍の生産性を持つ人材であるならば、自己の生産性を少し落としてでも他のチームメンバーを育成し、個々の生産性を3倍に引き上げることがミッションです。そうすれば、あなたが残業することの数倍の生産性を得ることが出来ます。

 残業によって得た生産性は、その場しのぎでしかないということを認識しておく必要があります。

残業が必要な場合

 生産性云々よりもスピードが重視される場合。障害対応や、バグ対応など、収益に影響を与えかねない想定外の事象が発生した場合です。

 この場合、残業しないなどと言っている場合ではありません。全力をもって対応にあたらなければ、あなたとチームメンバーを支えている基盤さえ危うくなるわけです。

 対応が無事に完了したら、打ち上げにでも行きましょう。スケジュールに問題がなければ休みを取るのも良いことです。あなたが働いた分、身体や脳はダメージを負っていますから、十分休ませてあげてください。

まとめ

 仕事は、時間分働けばそれで終わりではありません。プラス結果というコミットを求められます。残業は、結果を出すための手段のひとつでしかありませんし、残業を頑張るよりも優先すべきことがある、ということは上述したとおりです。

 優秀な人は、当然、比例して労働時間が短くなっていかなければなりません。その時間で他のメンバーを育成することで、チームの生産性は何倍にもなります。

 目先の事象に囚われ、目的を見失うことのないようにしたいものです。