エンジニア

プログラマーにとって納期は心が病んで精神的につらい

プログラマーは納期がつらい
初心者さん
プログラマーの仕事って納期があって大変そう。納期に間に合わないとどうするんだろう。

このような疑問をお持ちの方に向けて書いています。

システム開発は、いつまでに開発を終え、テストをして納品するというスケジュールが決まっています。そのスケジュールに対して遅れると精神的につらくなります。

こんな方におすすめ

  • プログラマーにとって納期について
  • 納期に間に合わない時の対処法
  • プログラマーが精神的に崩壊しないための対策

この後、上の3点について詳しく解説していきます。

プログラマーには納期が必ずあり、何年経験してもつらいと感じるときがあります。それでも精神的に病んでしまわないように、どのように開発していくことができるか知っておくことで少し楽になるでしょう。

未経験のエンジニアを目指す方、経験が浅いエンジニアの方を対象とした内容となっています。エンジニア10年選手のフリーランスエンジニアの僕が解説していきます。

この記事の信頼度

くろめがね
・エンジニア歴10年以上
・IT企業転職歴も3回以上
・プログラミングスクール運営側の経験あり
・単価約100万のフリーランスエンジニア

プログラマーにとって納期がつらい理由

納期がつらい理由

プログラマーという仕事には納期というものがあります。クライアントがいる場合は、納品するまでのスケジュールが計画されています。

受託開発を想定していますが、納期がどのように決まるのか簡単に説明してきます。

納期とは?どのように決まるのか。

開発工数が増えるとスケジュールが長くなるため、費用が高くなります。そのため納期までの期間をなるべく短くしたいというのがクライアントの希望になってきます。

納期はどのように決まるのか

  • 予算で開発の規模を決め、スケジュールが組まれる
  • 納期を決め、そこまでの期間にどのくらいの開発ができるか決める

他のパターンもあると思いますが、ある程度契約したときに納期が決まっているため余裕がある開発ができるということはほとんどありません。

自社開発の場合は、スケジュールを調整できることが多いため、余裕ができます。

プログラマーからすると、もう少し余裕を持ってスケジュールを計画してほしいと思いますが、開発費用やシステムの規模などを考えて計画されたので変更するのは簡単ではないということです。

納期に間に合わない理由

納期がきつくなるのは、スケジュールがギリギリという理由以外にもあります。開発を進めていくと様々な問題が発生します。そのような問題の対応で遅れることがあります。

さらに開発途中で予想しない仕様変更があったりします。仕様変更の前に仕様が確定していないために仮に進めて行き、仕様が確定した時に合わせていくといった場合もあります。

その他、プログラマーのスキル不足による開発の遅れが理由でスケジュール通りに開発が進んでいないという理由があります。

とにかくしっかりと計画していても想定外のトラブルなどで、納期が間に合わなくなるということがあります。

プログラマーが納期の影響を受けやすい

上で納期が間に合わなくなる理由について書き出しましたが、一番影響を受けるのは間違いなくプログラマーです。スケジュールの調整や交渉などはもちろん大変です。

ただ実際に手を動かし時間を使い、肉体的に精神的にきつくなるのはプログラマーです。

例えば、仕様変更があるとリスケ(スケジュール変更)されるのが普通ですが、リスケできない場合があります。そのような場合でも遅れを取り戻すためには開発を急ぐしかないのです。

  • 残業を増やし開発急ぐ
  • 休日出勤して開発を急ぐ
  • 開発する人の数を増やし開発を急ぐ

このように様々な状況で納期が厳しくなり、プログラマーたちは疲弊することなります。僕が一番きつかったのは2日連続の徹夜作業です。今では許されない働き方かもしれませんが、当時は会社からお願いされて無理な働き方をしたものです。

プログラマーが納期に間に合わすための方法

納期に遅れるプログラマーの対応

プログラマーは自分のタスクをいつまでに完了させるのかスケジュール化されていると思います。それはPMの役割ですが、明らかに無理な場合もあるでしょう。

そのような場合にどのように対応すべきか以下の点を参考にしてみてください。

自分なりに余裕を持った開発のスケジュールを立てる

プログラマーは自分に割り当てられたタスクがどのくらいかかるのかを考えてみると良いです。

例えば、PMが3日と計画しても調査してみた結果、計画通りにいかないかもしれません。逆に早く終わるのであれば、別のタスクに時間を使うことができます。

割り当てられたタスクがどのくらいかかるのかを計算するためには、どのような実装をする必要があるのかという点が頭の中で整理されている必要があります。

チェック

初心者の人はこのあたりが難しいかもしれません。難しい場合は、自分で考えた実装方法をまとめて先輩社員に開発方法が間違っていないか相談してみるとよいでしょう。

自分なりに計画を立てることができれば、その後の開発の予定も考えて、早く帰る日を作ったり、休日に出勤しないように計画立てることができます。

戻りがないような開発を心がける

上で先輩社員に相談しましょうと書きましたが、経験の浅い人が一人で考えた場合に他のエンジニアが想定していた方法と違うと計画が予定通りに進まなくなるリスクがあるためです。

実装後レビューに出すと、違う方法でやり直しになる可能性があるためです。

  • 単に実装方法が違う可能性
  • 仕様と合っていない実装になっている可能性

例えば、似たような機能が実装されていた場合、そちらに合わせて実装するのが正解に近い実装方法になると思います。明らかに元の実装がおかしいと思うのであれば、元の機能を自分の実装に合わせる必要がでてきます。

どちらが正解だとしても、先輩社員に相談して実装を進めていたら、戻りが発生しなかったかもしれません。時間がない中でやり直しは自分を苦しめることになります。

僕は会社員時代もフリーになってからも、自分なりに開発方法をまとめて、「こんな感じで実装しようと思ってるが問題ないですか?」と確認するようにしています。全て相談する必要はないですが、問題になりそうな部分があれば確認した方が絶対に戻りがなくなります。

スキルを上げて開発スピードをアップする

スキルが上がると開発スピードは確実に上がります。実装方法もある程度イメージできるようになります。

いつも定時で帰るエンジニアは、「頑張っていない」と勘違いされやすいですが時間内に与えられた仕事をこなして帰れるわけなので、個人的には一番優秀だと思います。

開発スピードを上げることで、仕事を楽にすることができます。(サボれるという意味ではありません)

プログラマーが納期に間に合わない時の対応

納期に間に合わない時

頑張って実装しても、開発スピードを上げても間に合わない場合もあります。そのような時に一人で悩んでいると大きな問題になる可能性があるので注意しましょう。

以下のように対応するのがよいでしょう。

PMに状況を早めに相談する

以下のような理由で、どんなに頑張っても間に合わないということはあります。

  • 思っていたより複雑な機能だった
  • 仕様に漏れがあり想定以上に工数がかかる
  • 前工程が遅れている

どのような理由があるとしても、PMに早めに相談するというのが重要です。

早めに相談することで他の開発者にその機能を手伝ってもらったり、調整してくれるので少しでも遅れそうと感じたら相談してみるとよいでしょう。

SESやフリーランスの場合は営業に相談もあり

PMに相談しても、対応してもらえないということもあります(忙しいPMも多い)。そのような時は担当営業に相談してみるというのもありです。

無理な仕事は無理と相談してみましょう。営業から常駐先の上司に連絡を入れてもらうことで対応してくれるでしょう。放置されて最悪な状況になる前に、相談しておくことで自分の身を守ることができます。

相談していたにもかかわらず、対応してもらえずに遅れてしまい、責任を押し付けられることがないように、注意しましょう。自分の身を守るというのは「状況を共有しておく」ということです。

プログラマーが納期でつらくなる時に及ぼす影響

納期でつらくなる時に及ぼす影響

プログラマーの仕事は常に納期との戦いがあり上でも書いたとおり、めちゃくちゃ納期に余裕があるという案件はほとんどありません。

遅れていると仕事が気になり、プライベートでもしっかりと休息を取るのが難しい状況になってしまいます。

プログラマーは精神的につらくなる

納期のことが気になると、休日も仕事のことを考えているという状況になります。特に責任感がある人は、タスクがスケジュール通りに終わらないことで、大きなストレスを抱えて体調を崩してしまうという人もいます。

いつまでに終わらせないといけないという状況は、かなりプレッシャーになります。特に経験の浅い人は思うように開発が進まないため病みやすいです。

プログラマーに起こりやすい病気

プログラマーがなりやすい病気は以下になります。

  • うつ病
  • 睡眠障害
  • 腰痛
  • 不規則な食事、間食が引き起こす体調不良

プログラマーは、うつ病になる人が多いと言われます。そこからの睡眠障害なども引き起こし働くことが困難になる可能性があります。

長時間のデスクワークによって運動不足になるため、腰痛になったり、不規則な食事、完食によっていろんな内蔵の病気になる可能性があります。

納期だけが原因ではないかもしれないですが、プログラマーは厳しい環境で開発していると精神的にも肉体的にもつらくなってしまいます。

残業・休日出勤が続き崩壊する

稼働が高すぎると、意識がもうろうとして自分がおかしい状態になっているのも気づかないこともあるため危険です。電車に飛び込むサラリーマンが似たような状況なのかもしれません。

無理な稼働を続けることで、命の危険があるということを理解しておきましょう。そのようにならないために対策をしましょう。

プログラマーが精神的に崩壊しないための対策

精神的に崩壊しないための対策

精神崩壊しそうと感じたら無理をしないというのが一番なのですが、「少し体調が悪いくらいだから大丈夫かも」と考えないようにしましょう。

早めにうつ病の可能性を疑う

2週間くらい気持ちが落ち込んでいる状態が続くと、うつ病を疑う方がよいそうです。体の痛みもうつ病と関連がある可能性があるとのことなので、体調が悪い場合は早めに病院にいきましょう。

医者の診断があれば、体の状況も把握できるので安心して働けます。

働く環境が良い職場に転職する

エンジニアの働く環境は年々良くなってきています。毎日終電、毎週休日出勤しているような企業は離れましょう。もっと良い環境でエンジニアを採用している企業はたくさんあります。

危険な企業、プロジェクトからは早めに身を引くのが良いでしょう。精神崩壊してからでは手遅れです。個人的にはスケジュールに余裕がある自社開発企業で開発ができると、気持ちに余裕ができると思います。

転職先を自分で探すと、中の状況を知らないために失敗する可能性が高いため、できれば転職相談できるエージェントの利用をおすすめします。メリットは以下の通りです。

特にIT求人が多めのマイナビITがおすすめです。

  • キャリアアドバイザーがサポートしてくれるためマッチする転職先を探しやすい
  • 非公開求人の紹介を受けられる
  • 企業の情報を応募前にわかる

マイナビIT AGENT

プログラマーにとって納期がつらいまとめ

まとめ

今回は、プログラマーの納期について考えてきました。プログラマーにとって納期は、精神的な影響を与えるものです。自分一人で考えすぎず、早めに相談することでかなりストレスは軽減されます。

会社が慢性的に納期が厳しい状況が続いているのであれば、スケジュールや会社に問題があると考えましょう。その場合は転職も視野に入れておく方がよいと思います。

SESという働き方
SESという働き方が未経験エンジニアにとっておすすめできない理由

続きを見る

-エンジニア
-,