残業たくさんしている人っていうのはまだまだいるわけです。僕はフリーランスのエンジニアで、IT企業に行って社員の方と一緒に働く日が何日かあります。僕は残業は基本しないようにしています。毎日毎日残業している雰囲気の人もいるわけです。すごい忙しそうで大変そうに見えるのです。締切間際に手伝わないとやべーだろうなってことで、残業たくさんする人たちと働いてみたわけです。一緒に働いて感じたことは、そりゃー残業するわ!何も工夫してないもんなってことです。残業しなければいけない状況になるパターンはたくさんあります。今回のパターンは自分で自分のタスクを増やしているパターンです。自分で不具合つくってるということになります。見た目はなんとなく動いているのですが、ちょっとテストされると不具合がでまくるのです。不具合の修正に時間がかかるというのが残業という視点から見ると最大の問題になってきます。不具合が100件でても、一瞬で直せれば残業なんてする必要もなく問題になりませんが、1件直すのに4,5時間かかるとかなると絶望的になってきます。自分で自分の仕事を作ってるって人は、この現象を起こしていることになります。不具合直すのに時間がかかる状況とはどうゆうことかと適切な単位で作られていないのです。不具合が出てもすぐ直せて、影響範囲が限定できる状態で作られていないということです。一番は早く修正できて、自分を守る(残業したりしない)ためであります。これを実現するためには、仕様を決めたら実装する戦略を立てるってことになります。現状の機能、仕様、自分の実力を洗い出してどの順番で実装していくのかの戦略を練るのです。実装し始めたり、教科書や手法ありきで実装するわけではないのです。これをするには、プログラミングの知識をつけたり技術力をつけたりしても意味がない。トップダウン思考をする訓練をするわけです。目的(ゴール)からブレイクダウンしてタスク書き出す。書き出したタスクを見て重複をなくし最小化して、同じものをカテゴライズして実装順序を決めていくのです。これをしないから無駄なタスクや、同じようなタスクがたくさん増えていき仕事が増えていくのです。自分がしなくていいことをやってしまっているさらに仕事を増やす要因がこれです。アプリ開発するためにはフレームワークを利用するのが現代では一般的ですが、フレームワークを理解してないため、フレームワークがやってくることを自分で実装してしまっているのです。自分の実装が増えれば増えるほど、自分のが生み出す不具合の量は増えます。実装しなければしないだけ不具合の発生確率はさがります。自分の仕事を減らすためには、自分が頑張らない実装をすることです。フレームワークやすでにテストされているものを最大に利用してやるのです。ちなみに僕は一行たりともソースコードは書きたくない!と思ってプログラミングしてます。実装している時間よりも、フレームワークのソースコード読んだりして調査している時間のほうが長いのです。一行も書かなかったら不具合ないから無駄に不具合修正に時間を取られなくなるわけです。誰かがすでにやっているなら、僕がやる必要はないのです。自分がしなくていい実装(仕事)は無理にしなくていいのですよ。