こんにちは。株式会社8bitの高本です。
ここ最近ずっとプログラムを作り続けています。
やっぱり作って動かすのは面白いですね。
プログラムを作っていると、ロジックを考えていて行き詰ることは結構あると思います。
開発はやってみないとわからない部分も結構あり、開発前にスケジューリングしても、実際にやってみたら技術的に躓いたりして、進捗が遅れたり、なかなか思い通りにいかないこともあります。
(エンジニアが多めに工数を出すのはこういう不測の事態へのリスクヘッジなのです。)
焦ると逆にロジックが重い浮かばなくなったり、それでさらに進捗が遅れて精神的に追い詰められるとろくなことがありません。
たとえばWebサービスを作っていたりしても工程上一番最後にしわ寄せがくるのは開発だったりもします。
しかしながら、業務で開発している場合は、期日もありますので、やらざるを得ないことも沢山あります。
そこでロジックに詰まった時、進捗が遅れて焦っている時、気持ちが折れそうになった時にやってみると良いことを挙げてみました。
開発している会社の環境やプロジェクトの状況によって、必ずしも挙げたことが実行できるわけではありませんし、精神的なものは個人差もありますので、あくまで参考までに。
1. 簡単に着手できる別の機能を先にやる。
ひとつのロジックに詰まると抜け出せなくなってしまうことがよくあるので、そういう時は自分の中で開発可能なもの、もしくは簡単な機能を先に終わらせてしまうと精神的なゆとりが出てきます。
沢山のタスクが控えている時は一番難しいところを後回しにして、じっくり考えた方が落ち着いて開発することができます。
2. やらないといけないことを箇条書きにしてチェックする。
1にもかかってきますが、進捗が遅れているときこそ、一つ一つやるべきことを箇条書きにして、終わったらチェックを入れていくと気持ち的に落ち着いてきます。
自分の中でタスクを消化するのに、何時までに挑戦、と自分ルールの中でひとつひとつこなしてチェックしていくと自分の中でゴールをイメージしやすくなります。
書くときはPCではなく、紙に書き出すと個人的には効果があると思います。
3. いつかは終わると考える。
今が辛いとそんなことは考えられないと思いますが、ゴールのない開発はありません。
(改善や運用なども含めると終わりはないともいえますが、まずは完成させることがゴールです。)
会社でやっていれば、作り終わらないとみんな困るので、いつかはゴールが来ます。
4. 徹夜はしない。
状況によるかとは思いますが、個人的に徹夜してよかった試しがなかったので、徹夜は極力しないほうがよいと思います。
一旦は必ず家に帰ってシャワーを浴びて、仮眠を取ってから早めに出社したほうが、頭がすっきりします。
仮眠と取ったとしても同じ場所にずっといるのは精神衛生上、個人的にはよろしくないですね。
気持ちの切り替えが付かない。
5. 雑談をする。
忙しいときに迷惑かも知れませんが、短い時間でも全然仕事と関係ない雑談をすると気持ちが切り替わります。
(これは空気を読んでやらないと、叱られるかも知れません。。)
仕事と関係ないネットサーフィンなどで気分転換している方もいらっしゃると思いますが、PCに向かっている以上あんまり気分展開にならないように思います。
(ネット見ているともっと気持ちが落ち込む情報も結構ありますので。。)
やっぱり声を出すと全然違います。
昼休みや休憩時間で声出して人と話をすると結構気分転換になります。
長い雑談でなければ、全然関係ないネットサーフィンしているよりサボっている感じもしないですし。。
=========
追い込まれた時こそ注意したいこと。
報告連絡相談は早めに。報告連絡相談は早めに進捗遅れで上司に怒られたり、咎められたりしますと焦りますし、精神衛生上もよろしくありません。
そこで注意したいのが、なんでも早めにプロジェクト管理者や上司に報告をすることです。
当たり前のことですが、開発に集中していると直前までがんばって何とか終わらせようと思ってしまい、報告がおろそかになってしまうことがあります。
「できます!」と言って、期日になってみて出来なかったというのが、一番良くないです。
(経験上一番怒られました。)
自分へのリスクヘッジとして、どうしても難しいようであれば早めに報告といつまでなら出来るなど、マメに報告を入れたほうがよいです。
(ただ報告にしても、建設的に話しをしないとただ「できない」と言っているだけに聞こえてしまうので注意が必要です。)
この辺は管理している方がきちんと定期的にヒアリングしてあげたほうが良いですね。
深酒をしない。
ストレス発散を酒でするのは良いと思いますが、あまり深酒すると二日酔いや軽い鬱のような状態になったりするので、注意したほうが良いです。