ITエンジニアが超忙しい時に考えなくてはいけないこと
コラビットの川原です。
今回は、「ITエンジニアが超忙しい時に考えなくてはいけないこと」について、自分が思っていることを書きます。
エンジニアは多忙
ITエンジニアの方であれば、複数のプロジェクトをかけもつ経験は何度かあるはずです。
私も下記のようなプロジェクトを現在かけもっています。
- Rails案件 * 3アプリ
- iOSアプリ
- Androidアプリ
- 機械学習による分析およびモデルのデプロイ
各プロジェクトにおける日々のタスクはもちろんのこと、不具合がでたときのバグ対応など、すべて一人で対応しなくてはなりません。
また、1日の間に2~3のプロジェクトを同時並行で進めざるを得ない場合もあります。
これはなにを言い換えると、RubyMineを開きながら、XCodeをひらき、ブラウザではZeppelinを開いているという状況です。
自分の頭の中も大変ですが、開発マシンのMacもフリーズするほどです。
そんな忙しいことなんてないだろう?と疑問に思う方もいるかもしれません。
でも、実際私は最近上記のような状態になりました。
故に、「なんとかしないといけない」と思い、整理のためこのようなブログを書いている次第です。
多忙な時はどうするべきか
忙しい時はどうしてもあります。そんな時はどのように仕事をすすめるべきでしょうか。
複数の案件を同時に対応しない
基本的には、並行に対応するのではなく、一つずつ案件をクリアしていくことが大切です。
A案件とB案件があるとします。
Aの作業1 => Bの作業1 => Aの作業2 => Aの作業3 => Bの作業2
上記のように案件を並行して対応すると、頭の切り替えにどうしても時間的なロスが発生し、また、集中力も散漫になりミスが増えます。
結果、一つずつ作業をするのに比べて質もスピードもわるくなってしまうのです。
一方、同時に作業を行うのに適しているケースもあります。
A案件の実装が落ち着き、処理が待ち状態の場合です。プログラミングでバッチ処理を書いた後それを実行するのに1時間以上かかる場合などです。
この場合は、B案件の内容にもよりますが並行して作業を行なっても差し支えないと思います。
A案件に関してはなにもすることがないのですがから、空いている手は別の案件で働かせた方が効率がよいです。
ただし、B案件の要件としては、A案件の待ち時間の中で終わらせられるものがよいです。
なぜなら再びA案件に戻った時、B案件が途中の状態だと、B案件を再開するときにまたロスやミスが発生するからです。
たとえうまく並行に対応できたとしてもうまくいっているとは思わない
仮に、A案件とB案件を分散的にかつ並列で実行できたとします。
それで「自分はマルチタスクが得意な人間だ」と思う人もいると思います。
しかし、それはうまくいっているとはいえません。
うまくいっているように見えるだけで、一つ一つクリアすることに比べると質は劣ります。
質が劣ると、別のトラブルの発生率があがり、(バグ対応など)結果時間も多くかかりがちです。
複数案件を抱える
一方、「自分はマルチタスクに向いていない人間だ。」と複数案件を抱え込むことを極端に嫌う人もいると思います。
私は、それも違うと思います。
バランスの良さを考えて行動することが大切です。
複数の案件を自分のペースで対応できる人。
それが優秀なエンジニアであり、目指すべき姿です。
案件をもらったら喜んでコミットしていきましょう。(できれば正確なスケジュールの見積もりをおこなって)
スケジュールを伸ばしてもらう(できないことをしっかり伝える)
メンバーに対して、自分が複数の案件を上記のように一つ一つ進めることを納得してもらうことも大切です。
よほど信頼関係がない場合をのぞき、メンバーは快く納得してくれるはずです。
できないとわかった時は、それをしっかり伝えましょう。
働きすぎない
働きすぎも要注意です。自分のパフォーマンスが最大化できる勤務時間に調整することが大切です。
ただしこれは、個人差があるかもしれません。
残業が大丈夫な人は大丈夫だし、無理な人は無理です。
しかし、翌日や週末に疲労が残る働き方をしている場合は何らかの調整が必要だと思います。
週末や、1日の終わり(もしくは始まり)に技術書を読んだり、なにか別の目指していることに対しての努力ができるくらいの余裕がある働き方がベストだと思います。
ネガティヴにならない
忙しい時は、ネガティヴになりがちです。だからこそポジティブに向き合うことが大切です。
深呼吸して落ち着きを取り戻し、何かミスなどがあっても、気にしすぎないことです。
前に向くことに集中して、一歩ずつ進むことが大切です。
気分転換をする
僕はよく仕事で煮詰まった時には、気分転換をします。
具体的には、バスケットボールをしたり、昼寝をしたりです。
頭の中を一度クリアーにすることで、再開後の効率がUPされます。
コードを書いていると、無性に眠くなる時もあります。そんな時は10分ほどねます。
(コラビットではオフィスにハンモックがあります。)
最後に
偉そうなことを書いてしまいました。
正直恥ずかしい気持ちがいっぱいなのですが、たまにはこのような記事もありかと思い、公開してみます。
コラビットのエンジニアがどんな感じなのか、想像していただけると記事を書いた甲斐があります。
忙しいけど充実の毎日です。
コラビットでは新メンバーを募集中!働きたい環境だと思った方はぜひ、ご連絡おまちしてます!