残業するなら勉強しよう

最近チームメンバーによく言っていることがある。


さすがにタイトルの言い回しだと角が立つので、
「残業するくらいならその分の時間を勉強に当てない?」
というくらいの感触で話している。


残業を非推奨する理由

自分が残業しようと思ってしまうときは、大体次のどれかだった。

  • 技術的なことでハマって実装が進まなかったとき
  • 会議が上手く進まず、集中力がすり減った後で実装するとき
  • 精神的にやる気になれずに日中だらだら実装してしまったとき


結果は見えている。
この状態のまま続けてもうまくいかない。

やる気が出ない

photo credit: marsmet473a via photopin cc


本当は体を動かすとか全く関係ないことをやって頭を切り替えたほうが効率は良くなるんだけど、ついつい「自分のミスを取り返したい!」という気持ちが出てしまう。
その結果「残業」という選択をしてしまう。
これは「チームにとってマイナス」に違いない。


例外として、「ノッてるときに一気にやってしまいたい」ときもある。
これは全然OK。


基礎学習を推奨する理由

開発者に求められるスキルがどんどん広がっている。
毎年現れては消えていくバズワード
少なくとも以前の自分はそう感じていた。


O'Reilly Books

photo credit: Beelzebozo via photopin cc


でも少しずつ世の中の情報をキャッチアップするようにしていくと、枝葉がたくさんあるだけで根本の技術はそれほど多くないってことがわかった。
枝葉は幹からつながった技術だ。
はじめはどれが枝葉でどれが幹かの見分けがつかない。


そして企業で求められるスキルは大体枝葉の部分の集合だ。
根本を理解していなくても「どうにかなる」が、
実際はどうにかなっていなくて改修が悲惨になる。
後々この状態を非開発者に説明して、コストを払ってもらうというのはなかなか難しい。


「技術的な負債」が積み上がる速度を高めている理由がここにあると思う。
(技術の)根本を理解しないから(システムの)根本まで修正できる技量にたどり着けない。
結果、残業でカバーして(させられて)しまう。
まるで借金の利子を返済しつづける多重債務者みたいだ。


多重債務

photo credit: epSos.de via photopin cc


この状態を打開するには、借金ではなく資産が必要だ。
金持ち父さんの言葉を借りると、

資産は、私のポケットにお金を入れてくれるもの

開発者で言えば、
「資産は将来の学習コストを下げてくれるもの」
といったところだろう。


まとめ

仕事を通して身につくスキルの寿命は、そんなに長くないかもしれない。
残業ばかりしていると、年月が進むに従って相対的にスキルが低くなってしまう。


会社が開発者のことを考えて、学習コスト(時間や費用)を払ってくれるのが理想だけど、そんな恵まれた環境はあまりないだろう。
会社から信用を得ていそうな開発者が会社を説得することで、開発者が落ち着いて学習できる環境づくりをしていきたい。


Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)