KaQiita

新米 Web エンジニアが適当なことを書いてます。温かく見守ってやってください。

楽をするために努力する〜プログラマが知るべき 97 のこと 36. ハードワークは報われない〜

はじめに

「プログラマが知るべき 97 のこと」の「36. ハードワークは報われない」を読んで考えたことについて書きたいと思います。

プログラマが知るべき97のこと [ ケブリン・ヘニー ]
価格:2090円(税込、送料無料) (2020/7/14時点)


昨年の反省として、ハードワーク気味に働いていたために休日は寝てばかりで勉強もあまりできておらず、なんとかしないといけないなと思っていました。

そんな中でこの「ハードワークは報われない」という章を読みました。

最も印象に残ったのが以下の部分です。

プログラミングのプロの仕事は「舗装された道路を、あらかじめ定められたゴール地点めざして猛烈に走る」というようなものではありません。ソフトウェア開発プロジェクトは通常、オリエンテーリングをしながらマラソンをするようなものです。しかも走るのは暗闇で、頼みにするのは、大雑把な地図だけです。一方向に闇雲に、しかもすごいスピードで走れば、感心してくれる人はいるでしょう。しかしそれでプロジェクトが成功するわけではありません。第一、後先を考えずに走って途中でペースが極端に落ちることがあっては困ります。一定のペースで走りながら、自分の現在地と向かっている方向を常に確認し、コースを絶えず微調整していくことが大事なのです。

ハードワークに働く方が簡単

ハードワークは良くないと分かりつつもそれに陥ってしまう原因は、がむしゃらに頑張って働く方が簡単だからです。

毎日遅くまで頑張ることは一見すると難しいことのように思えますが、全く逆だと思っています。

量をこなせば一定成果は出るし、周りからも「頑張っている」と思ってもらえ、達成感もあります。

しかし、単なるハードワークでは普通の人間の一人分の頑張りの成果しか出せない上に、仕事の後や休みの日に自分のスキルを高めるために時間を投資するなどを考えることがとても難しくなるため、どうにかしてこのハードワークの誘惑に勝たなければなりません。

自分のため、未来のチームのために周りとコミュニケーションを取る

ハードワークを脱するために一番のポイントになるのは周りとのコミュニケーションだと考えます。

自分のタスクの処理スピードを少し上げたところで、次から次へとタスクが降ってくる環境であればハードワークからは脱せません。

それよりも、開発依頼に対して「この機能のユーザーにとっての価値は何なのか」「こっちの代替手段の方が良いのではないか」「そもそも今開発する必要はないのではないか」と、自分やチームが取り組むタスクをしっかり取捨選択する必要があります。

周りからの依頼をどんどん受けて頑張ってこなした方が有難がってもらえますが、自分のスキルに対して投資する時間を作るため、つまり未来のチームのために、周りと時にはタフなコミュニケーションを取りながら本当にやるべきことだけに取り組むことが大事だと思います。

自分の分身を作る

簡単なタスクを自分がやらなくても良いように「自分の分身を作る」というアプローチも良いアプローチであることが多いです。

たとえばよく「ここのアクセスログを集計してください」などの依頼がプログラマに飛んでくることがありますが、こういった依頼を受けたときはただ集計するだけでなく次回以降は Biz 職でも誰でも任意の期間を集計できるような仕組みを作ったり、自動で集計できるようにしたりしてアウトプットを渡すようにすれば次回以降はそのタスクを引き受けなくて良くなります。

また、今まで自分しかできなかったことをチームメンバーにしっかり教えていくことで次以降は自分でなくてもできるようにするなどすれば少しずつ時間を確保できるようになってきます。

終わりに

ハードワークについて考えたことを言語化してみました。

自身の頭の整理のために書いているものですが、誰かの参考になれば幸いです。

プログラマが知るべき97のこと [ ケブリン・ヘニー ]
価格:2090円(税込、送料無料) (2020/7/14時点)