プログラミングの仕事がきついと言われる理由は何か?
プログラミングの仕事というと体力的にも精神的にもきつい、というイメージが多いのではないでしょうか?
体力の限界やモチベーションの問題でプログラマーを辞めてしまう人はおります。
今回は、プログラマーの仕事のきつい理由と、それを改善するためにどうすればいいかを解説いたします。
プログラマーがきつい理由
労働時間が長い
よく言われがちですが、実際にプログラマーは労働時間が長いです。しかし、1年中常に忙しいわけではなく、忙しい時期とそうでない時の落差が激しいです。
忙しくなりがちな時期は?
どのプロジェクトにも共通する忙しい時期は以下のとおりです。
1. 月末月初
2. 四半期末
3. 年度末
これは契約が上記の締めに行われているため、その締め日が近づくと忙しくなる傾向があります。月初は勤怠の締めを入力する時間が月初に決められているため、その作業時間があります。
業界ごとにも忙しい時期が異なっており、学校関係の場合は長期休暇前(休暇中にシステムを入れ替えるため)、銀行系の場合は年末やGW前(そのタイミングでシステム更改をするため)と様々です。休日にシステムリリースをする、といったことも多いです。
忙しい時期は苦しいですが、ピークが過ぎれば定時で帰ることが多くなります。年休もヒマなときを見計らって計画的に消化しておくと良いでしょう。
給与が上がらない
プログラマーは年功序列で給与があることが少ないです。経験やスキルによって給与が上がることはありますが、ある程度プログラマーを続けていると頭打ちになりやすいです。
そうなると、残業時間が多いほど給与が多くなりますが、できるプログラマーほど早く終わって残業をしません。この矛盾がプログラマーを続けていく上で、モチベーションを維持するのが難しいところです。
(※業界・業種によってよって異なります)
顧客先での常駐を余儀なくされる
客先で常駐する場合、通勤時間が伸びることがある
プログラマーは外注した企業先で常駐することが多く、自宅からの通勤時間が思ったよりも伸びてしまうことがあります。担当するプロジェクトが完了すると次の現場に向かうことが多く、早くなったり遅くなったりと「会社に振り回される」感じがした人は多いでしょう。
「帰社日」を設けている企業もある
外注でプログラマーが多い企業だと、月に1度ほどのペースで帰社日と設けているケースがあります。
帰社日とは「常駐しているプロジェクトはどう?」や「やってみたい案件があるか?」など、プログラマーの現状をヒアリングする面談をします。この時に月締めの勤怠をつけることもやることが多いです。
また、普段は集まらない社内のプログラマーを集めて懇親会を開催して、意見交換をする場を設けます。
どちらにせよ、定時後常駐先から本社へ向かいその後の場合は多いです。そのため、そういった部分が辛い人には「拘束時間が長い!」と思われがちです。
仕様変更があったら対応する羽目になる
プログラミングをしていると、システムエンジニア(以下SE)から仕様変更が伝えられて対応してくれと言われることがあります。
すぐに修正できる内容ならまだ気が楽なのですが、たくさんの仕様変更や、今作っていた機能がいらなくなった、という仕様変更もあります。
特に今作っているものがいらなくなった、というのはものづくりをしていてかなりモチベーションが落ちます。
仕方のないことですが、この場合は前向きに「作業が減った!」と捉えていくしかないでしょう。
テストが多い
プログラマーの業務時間で一番多いのはテスト工程ではないか?と思うほど、テスト工程は時間がかかります。テストはテスト仕様書に基づいて行いますが、挙げられていない項目についてもテストすることは、バグを見つけるために大切なことです。
関数やメソッドごとにテストする単体テストや、会員登録といった機能ごとにテストする結合テストがありますが、共通してエビデンスを用意することが要求されます。
テストした証拠を残すエビデンス
エビデンスとは、プログラムを動かした結果を記録として残すことをいいます。プログラムを動かしたときの画面のスクリーンショットや、ログファイルの抽出などが該当します。
なぜエビデンスが必要かというと、そのテストを行った結果を客観的に残しておくためです。テスト仕様書にエビデンスの記載がない場合でも、暗黙のルールとしてエビデンスをつけることは多いです。
このエビデンスの添付がテスト時間を伸ばす要因でもあります。
納品用ドキュメントを作る
開発したシステムの結合テストが終わると、いよいよ最終的なシステムテストを経てクライアントに納品します。
納品物がシステム本体だけのことはまずありません。ほとんどの場合はシステムの操作マニュアル作成があり、テスト仕様書の納品も求められるケースもあります。
SEだけでは手がまわらない場合、プログラマーにお願いすることがあります。
ExcelやWordで作成されたものが多い
納品物として納めるドキュメントはExcelまたはWordで作成することが多いです。プログラマーが一から作ることはなく、フォーマットに沿って作成します。
そのため、ExcelやWordでの基本的な使い方はマスターしておきましょう。
どのプロジェクトにも人が足りない
SEが線表(スケジュール)を組んでいますが、基本的にどのプロジェクトでも人が足りません。
そのため、プログラマーとしてプロジェクトに入ったのに、他のプログラマーが使ったものを順次テストするテスター要員になったり、仕様書の作成をお願いされたりと、プログラミング以外の作業は当たり前のように振られます。
将来的をステップアップしたいと思っているなら前向きに作業しよう
将来的にSEになりたいと思っている人や、もっとステップアップしたいと考えている人は、各工程の作業内容は「経験」することは有利になります。
何故なら経験することで未経験から経験者となり、自分のアピールポイントを増やすことができるからです。
前任者の引き継ぎがなくフォローも少ない
完全に新規開発のプロジェクトは多くありません。ほとんどのプロジェクトは既存システムに対して機能追加や修正をすることになります。
今までの開発したプログラマーやSEがいれば、話をするときにスムーズです。しかし、SEは他のプロジェクトを掛け持ちしていたり、プログラミングをしたプログラマーは既にいない、といったことはよくある話です。
ドキュメントやコードを読み解く作業が必要
上記のようにSEが忙しかったり、前任者のプログラマーがいなかったりすると、残されたドキュメントやコードから読み解く作業が必要です。
これは前任者がきちんとしているか、と自分の読解力に大きく左右されます。最初の頃は難しいと感じるかもしれませんが、ある程度慣れてくるとそこまで負荷を感じなくなります。
以上がプログラミングの仕事について、きつい理由について紹介いたしました。忙しさや仕事の内容については、慣れてしまえば大丈夫です。
しかし、給与や待遇といった部分は我慢の限界が訪れます。そのため、ある程度経験を積んだなら自分から改善するために動いてみましょう
✔プログラマーへの転職成功率98%!プログラミングスクール【DMM WEBCAMP】
✔受講者の97%が未経験者!独自開発の教材と徹底した転職支援で安心サポート!
✔万が一転職できない場合は、全額返金の転職保証付き!
\生活スタイルに合わせた3パターン/
受講内容はこちら!
自分の希望を会社に伝え、希望を明確にしよう
自分から何も動かないで現状が改善されることはありません。給与や待遇について不満を感じ始めた場合は、転職を視野に入れましょう。
幸いIT業界は転職することが多く、自分のスキルに合った企業を探しやすい業界です。
まずは上司や会社に自分の希望を伝える
転職を決める前に上司や会社に対して、改善して欲しい部分を伝えましょう。例えば「常駐先のプロジェクトを横浜圏内にしてほしい」や「Webサイトの立ち上げに携わりたい」といった感じで具体的に伝えることが重要です。
「給与を1.5倍にしてほしい」など、極端に非現実的な要求でなければ会社も検討してくれます。
いつまでに実行してくれるか必ず確認する
会社が前向きに検討すると回答してくれた場合は、必ずいつまでにやってくれるか期限を聞きましょう。期限が決まっていれば、自分のモチベーションも保ちやすく今の仕事を頑張ることができます。それでも改善されなかった場合は、転職を視野に入れて本格的な活動を始めましょう。
不満のない職場はない!そのため優先順位を考える
その業界でも言えることですが、不満のない職場はありません。しかし、自分の中で我慢できる部分とできない部分があると思います。
その内容と優先順位については、自分で改めてよく考えてみてください。参考までに優先順位をつけやすい項目を挙げておきます。
1. 年収
2. 休暇
3. 労働時間
4. 勤務地
5. 開発言語
6. 開発システムの種類
自分の中で優先順位を決め、方向性を明確にすること
例えば「勤務地が遠いことは我慢できないが、年収は満足している」場合は「年収を下げてでも近い勤務地の場所がいいのか?」と自分に問いかけてみることです。
年収を下げてもいいと思った場合は、具体的にいくらまで下げていいのか考えてみましょう。合わせて通勤時間も検討すると、自分がどのように働きたいが方向性が明確になります。
今の会社にいるままにせよ、転職を考えるにせよ、方向性が決まれば後は行動するだけです。
スキルを磨くことで別のプロジェクトに参加してみるのもアリ
プログラマーが転職を考える場合、未経験の分野より経験のある方が有利になります。そのため、社内のプロジェクトで将来的なステップアップのために必要な分野を経験しておきましょう。
Androidアプリの開発をしたいと考えた場合は、Javaのプロジェクトに参加してJavaの開発経験を積む、といった感じです。他にも広告業界向けのWebサイトのプログラマーになりたいと思ったら、広告業界のプロジェクトに参加する、といった業界知識を覚えておくというのもアリです。
準備が整ったら転職活動を開始
上記の内容に沿って転職活動を始めた場合は、すんなりといくことが多いです。希望も明確で経験もあり、自分の意思を伝える能力があると思われれば他の企業に行っても十分通用します。
うまく行かなかった場合は希望条件が適正でないことがほとんどのため、うまく転職できなかったときは、転職サイトにいる転職エージェントに相談してみましょう。
まとめ
今回はプログラマーの仕事がきついと言われている理由と、それを改善するためにどうすればいいか、といった内容を書かせていただきました。
プログラマーはきつい仕事です。しかし、自分でプログラミングをしてシステムが無事リリースした時の達成感は「やりがい」を感じられる素晴らしい瞬間です。
悪い面ばかり挙げられるプログラマーですが、それを改善するために自分から動き「楽しく」プログラミングができるようになってくれれば、と思っております。
✔経産省認定の転職支援型プログラミングスクール【DMM WEBCAMP】
✔プログラマーへの転職成功率98%! 最短3か月で正社員へ!
✔オンラインだけでなく教室受講も可能!
\生活スタイルに合わせた3パターン/
受講内容はこちら!