- プログラマーの仕事がきつい時はどのような場合だろうか
- プログラマーの仕事がきついが、対策はあるのだろうか
6年半の間プログラマーとして働いてきた私が、プログラマーの仕事がきつい時ときつさから逃れるための対策について解説します。
目次
プログラマーの仕事がきつい時
プログラマーの仕事がきつい時は次の通りです。
- 自分のせいで工程遅延することがわかった時
- お客様やプロジェクトメンバーと馬が合わない時
- スキル不足である時
- バグが解決できない時
順に解説していきます。
①自分のせいで工程遅延することがわかった時
自分のせいで工程遅延をすることがわかった時、お客様に工程遅延する旨を伝えなければなりません。
この瞬間はけっこう緊張します。
なので、自分のせいで工程遅延しないように対策する必要があります。
対策は次の通りです。
- 見積もり時点で余裕をもった計画にしておく
- 見積もりと同時に設計資料作成やプログラミングを先行着手する
順に解説していきます。
見積もり時点で余裕をもった計画にしておく
まず、見積もり時点で余裕をもった計画にすることが一番重要です。
コツとしては、システム仕様が難解だったり、バグが多発しそうな難しいプログラミング作業がある場合、不確定要素(リスク要素)として別で工数を計上しておくことです。
お客様に「なぜ見積もり工数がこんなに大きいのか?」と問われた際に、「不確定要素(システム仕様の勘違いなど)が大きいため、1日はそのリカバリー用に工数を多めに確保しています」という説明ができます。
そこで、お客様が不確定要素となる問題を解決(システム仕様を細かく教えてくれるなど)してくれることもあります。
要は、「分かるものは分かるが、分からないものは分からない」と正直ベースで工数を見積もるほうがうまくいくのです。
見積もりと同時に設計資料作成やプログラミングを先行着手する
見積もりをする際は、「設計資料を何ページ作成するか確認する」「既存のソースコードの変更箇所を洗い出す」といった作業をします。
この見積もりのついでに、下記の作業を先行着手してしまいます。
- 設計資料の目次や章構成を作成する
- ソースファイルを新規作成しておく
- ソースコードを数行程度変更してしまう
- 空関数を作成しておく
先行着手という形で作業を進めておけば、見積もりが完了した時点でどこを変更しなければならないか思考が整理されるので、見積もり承認後はスムーズに作業に着手できます。
結果的に、先の計画が読みやすくなります。
注意点としては、先行着手に時間をかけすぎることはNGです。
お客様から見積もり承認を得られなかった場合、無駄な作業になるからです。
先行着手してもしなくても見積もり時間が変わらない程度にとどめておきましょう。
②お客様やプロジェクトメンバーと馬が合わない時
馬が合わないお客さんやプロジェクトメンバーは常に存在します。
パターンとしては次の通りです。
- 大きな怒鳴り声をかけられる
- お客様が忙しすぎる
- 自分のスキルが低すぎる
大きな怒鳴り声をかけられる
お客様の中には、かなり声が大きい人がいます。
そして、少しでも自分の都合通りいかないとかなり怒る方もいます。
対策は次の通りです。
- プロジェクトを抜ける
- お客様と同じくらい大きな声を出す
順に解説します。
プロジェクトを抜ける
プロジェクトを抜ける(逃げる)のが一つの戦略です。
大きな声で怒鳴られると精神的なダメージを受けることは間違いありません。
ドメスティックバイオレンスの研究では、強い相手からマウンドを取られ続けると下記の状態に陥るそうです。
- 判断力の低下
- 記憶力の低下
- 自己肯定感の低下
これらのデメリットがあるため、できるだけ早くそのプロジェクトから抜け出すように自社の責任者と調整するのが王道の対策でしょう。
お客様と同じくらい大きな声を出す
人間は似た者同士仲が良くなることがあります。
この性質を利用し、お客様と同じくらい大きな声で喋るのが一つの戦略です。
良かれと思って意図的に大きな声を出している人もいます。
私は以前声が大きい人と仲がよくなったことがありました。
なぜ大きな声を出すのかを探っていたところ、その人が難聴であることがわかりました。
元々地声が大きい人もいれば、難聴で声を大きくせざるを得ない人もいるのかなぁ、といった印象です。
最低限、滑舌良くはっきり聞き取れる声量で会話ができれば問題ないでしょう。
③スキル不足である時
スキル不足である場合、プロジェクト内での居心地が悪くなります。
対策は次の通りです。
- 仕事以外の時間も家で勉強をしてスキルアップする
- プロジェクトを抜ける
順に解説していきます。
仕事以外の時間も家で勉強をしてスキルアップする
仕事以外の時間も家で勉強をしてスキルアップし、必死になって仕事についていく戦略です。
誰でも初めは初心者なので、仕事についていけないのが基本シナリオです。
担当するシステム開発のレベルが高ければ高いほど、自分のスキルアップができるチャンスでもあります。
平日・休日問わず、無理しない程度でいいので、できる限りの時間を仕事の勉強に費やすことで、実務がかなり楽になるでしょう。
昔の職場で数人にアンケートをとったところ、意外にも仕事が終わってからは「仕事のことは考えない」「家でパソコンを開かない」といった方が多くでびっくりした思い出があります。
このため、仕事以外の時間を使って仕事の勉強をするだけで、良い実績を残せるでしょう。
プロジェクトを抜ける
スキル不足でどうしてもついていけない場合、自分のレベルに釣り合わないシステム開発を担当してしまったのかもしれません。
レベルを高めるためにスキルアップを目指すか、正直に「このような難しい仕事はできません」とアラートを出すかを考えたほうが良いでしょう。
人生は長いので、焦らずスキルアップするのも一つの戦略です。
④バグが解決できない時
バグが解決できない場合、作業が進まない状況になるのできついです。
バグが解決できないケースは2パターンあります。
- 自分のスキル不足
- 他担当者が作った機能でバグがある
順に解説していきます。
自分のスキル不足
自分のスキル不足でバグが解決できない場合は、自分で解決するしかありません。
バグを見つけてしまった場合はかなりテンパります。
テンパった場合は他の作業を優先させて工程が遅れないようにし、家に帰ってからじっくり障害調査の戦略を練ってもいいです。
または、問題点を整理してから有識者に相談しにいきましょう。
他担当者が作った機能でバグがある
他担当者が作った機能でバグがあり、自分のプログラムを動かせないような状況の時は、バグの修正を担当者に早急に依頼する必要があります。
基本的に、プロジェクトのメンバーは工程にしたがって作業をしているので、いきなり「バグ修正して」と言ってもすぐに対応してくれるとは限りません。
しかし、バグを直してもらわないと自分のプログラミング・デバッグ・単体試験を進めることができません。
できるだけ早くプロジェクトリーダーに「他担当者にバグを早く修正してもらいたい」と依頼することが最優先です。
まとめ
プログラマーの仕事がきつい時とその対策について解説しました。
我慢できないくらいきつかったら逃げるべきです。
ただし、きつい時は大きくスキルアップできるチャンスでもあります。
きつくても頑張る価値があると判断できれば、いろいろ対策を練ってスキルアップしていくのがベストな選択でしょう。