はじめに
新卒で入った別業界を半年で辞め、エンジニアになってから2年が経ちます。
ありがたいことに入社してすぐプログラムを書かせていただき、
詳細設計やお客様とのやり取りも経験させていただきました。
まだまだ無限に学ぶことがあるのですが、2年経験したなりに「これのおかげで仕事がうまくいくようになったな〜」という勘所を書いていきます。
シンプル イズ ベスト
シンプルな解決策がいっちゃん良いです。
シンプルなプログラムはバグりにくく、バグっても直しやすいです。
シンプルなコミュニケーションは分かりやすく、仕事が円滑に回るようになります。
人間が関わることは放っておくとどんどん複雑になっていきます。
だからこそ、思考停止せずに常にシンプルな解決を心がけるのが大事ですよね。
ゴールから逆算する
プログラムもそれ以外のタスクも、ゴールから逆算して組み立てるのが良いです。
すべての作業はゴールを達成するためにあります。
つまりゴールから逆算すれば、適切な手段を適切な順番で組み立てられます。
僕の場合、コードを書くときは最終的に使いたい箇所(関数なら呼び出し箇所)から書くようにしていて、
こうすると手戻りなくスラスラと書き終えることができるようになりました。
あまりに未知の作業すぎてゴールからの逆算ができないときは、
ボトムアップで試行錯誤するのも大事だと思います。
ただある程度見通しの立つ作業であればゴールから逆算したほうが、質の良いアウトプットが素早く出せます。
「何をするか」よりも「何をしないか」
「やること」と同じくらい「やらないこと」を選び取る能力が大事です。
ゴールから逆算してシンプルな解決策を見出しても、
「その作業が実は重要じゃなかった・不要だった」となれば、無意味な時間を過ごしただけになります。
- 後になってみるとこのプログラム不要だった
- 意外とお客様にとって重要な作業じゃなかった(なんならやらなくてよかった)
みたいなことになると良いアウトプットも出せないし、なにより徒労感がエグいです。
作業をするときは「どうやるのが最適解か」に目がいきがちですが、
そういうときこそ「そもそもやらない」が一番の時短になることを思い出して、本当に必要な作業なのか立ち止まるのが大切だと思います。
疲れる前に休む
疲れる前に休みます。
一度疲れてしまうと、寝るまで回復しないからです。
僕の場合は、以下のようにして疲れる前に休んでいます。
・15分と1分のポモドーロ・テクニックを行う
・1時間に1回、5分ほど散歩する
・昼休みに15分昼寝する
これをやると、集中力が持続するんです。
作業にノッてるときに「休憩なんかしないでぶっ通しでやっちゃうぜ!」となる気持ちはわかります。
でも自分の感覚と実際の疲労はだいたいズレてます。
「実は体感より1.5倍疲れてる」くらいに思っておくのがちょうど良いんじゃないでしょうか。
疲れてからじゃ遅いです。疲れる前に休みましょう。
おまけ:食事管理
頭の調子が良くなる食事をします。
「おまけ」にしている理由は、同僚に聞くと「何を食べても調子が変わらん」という方もいて、個人差がありそうだなと思ったからです。
僕の場合、以下のような食事の変遷を辿ってきました。
- gi値が低いものから食べる
- 1日2食
- 1日1食
---↓再び1日2食--- - 小麦抜き
- 糖質抜き・高脂質【現在】
人によって差はあるようですが、個人的に食事の影響はとても大きくて、最近は頭が常に冴えています。
ちなみに現在の食事はこちらの本を参考にしています。
終わりに
いかがだったでしょうか。
もちろん、日々の勉強・ちゃんと寝る・チームメンバーと仲良く・作業の自動化...などが前提ですが、
今回はそれより少しニッチなトピックに絞ってみました。
ここに書いてあることがどなたかのお役に立てれば幸いです。