Ryukalice

仕事の流儀

2018-07-06

個人的な仕事の流儀メモ。営業職の強い会社に所属しているとソフトウェアエンジニアとして忘れてはならない(と思っている)、技術職特有の仕事に関する向き合い方を忘れそうになってしまうので、ここにポエムとして文書化する。あくまで個人的な思想である。

優先順位は下記の通りで、仕事における全ての選択において前後してはならない。例外はない。

  • 健康と家庭
  • 業界の健全性
  • 自らの市場価値
  • 所属する組織

環境

在宅勤務であること

必要に応じての出社や出張は行うが、基本の勤務場所は自宅であること。家庭充実は勿論のこと、デスク、椅子、キーボード、食事、空調、服装、部屋の明るさ、といった生産性に関わる多くの要素の自由度を保つためには自宅であることが望ましい。また、通勤時間、髪のセット、髭剃り、私服選択、といった時間の無駄と体力の消耗やストレスを抑える。

在宅勤務の議論において「自分だったらサボりそう」という意見をよく聞くが、在宅勤務だからといって目の前の仕事が消滅するわけでも納期がなくなるわけでもないし、サボっていたら自分の社会的評価が下がってしまうので、個人的なビジネスをやっているのでなければサボることは不可能のはずだ。逆に給料を貰いながらサボることが可能なのであれば、在宅勤務かどうかに関わらず、自らに求められていた仕事量がその程度だったのか、上長がマネジメントをサボっているということだろう。

労働時間の制約がないこと

フリーランスになって8時間労働の世界から抜け出して最初に気付いたのは、「8時間働かなければならない」という制約があると、どうしても8時間働くことが前提の働き方になってしまうということだ。雑談、無駄な会議、slack の未読処理、何となくTwitterを開く、調べ物をしていたら脱線する、といった仕事の本質と関係のない時間を完全に消滅させるためには、労働時間を自由にして「早く片付けば早く遊べる」という環境を作る必要がある。残業が状態化した会社の生産性と、そうでない会社の生産性を比べれば分かるように、労働時間は短ければ短いほど生産性が上がる。

人間が最大の集中力と生産力を持って仕事に取り組める時間とタイミングには個人差があり、同じ人物でも日によって違うだろう。眠たいと思ったら昼寝をするべきだし、気分が乗らないと思ったら息抜きをするべきだし、肩が凝ったら体操すべきだ。それでも求められた生産量を提供できるようにするのがセルフマネジメントであって、定時内を常にフルパワーで稼働するという無理難題と格闘することや、自らのコンディションに目を背けて自分に鞭を打って働くことを美徳と捉えてはならない。

長く使うものに投資すること

生涯の多くの時間を労働に費やす訳なので、その労働に用いる環境機器にはこだわるべきだ。特に椅子やディスプレイ、キーボード、眼鏡といった健康に関わるものから投資していくと良い。これらを揃えたら生産性を向上するためのツールや、マグカップやコースター等の自らのモチベーションに関わるものに投資する。毎日何時間も使用し、健康や生産性やモチベーションに影響を与えるものは、積もっていくと大きな効果となるので基本的にコスパが良い。自分のデスクを最高に快適な空間にするのだ。

1つのコミュニティに依存しないこと

プログラミング言語のコミュニティも、会社の仲良しグループも、所属会社そのものもそうだが、1つのコミュニティに依存してはならない。そのコミュニティが破綻したり追い出されたり抜けたくなったりした時に拠り所がなくなるためだ。また、コミュニティに強く依存していると、そのコミュニティに反する強気なチャレンジができなくなる。例えば所属する会社であれば、その会社への依存度が強ければ強いほど、その会社をクビになっても良いと思えるほどのリスキーな挑戦ができなくなるし、「退職」という最強のカードが切れなくなる。聞こえは悪いが「最悪抜ければいいし」という考えが持てなければアグレッシブな挑戦ができないので「抜けても何とかなるか」と思えるだけの別コミュニティとの繋がりや自身の市場価値は常に保ち続けなければならない。

具体的な目標を立てないこと

具体的な目標は足枷になり、視野を狭くさせる。特に変化の激しい場所に身を置いているなら尚更だ。目標に向かうのは楽だし正解があるので取り組むのは楽しい。その目標の位置が長期的に見ても正しければ(正しいかどうかは最後まで分からないが)指針として役にも立つが、本当に自分が目指さなければならない場所は最低でも月単位で変動するので、具体的な目標は立てない方が良い。それよりも、毎日必ず「自分が今やっていることは正しいんだっけ」ということを見直す習慣を身につけた方が良い。立てた目標が、半年後に社会や自分に求められているかは誰にも分からないので、中心軸の抽象的な指針だけ定めておいて、毎日方向確認するぐらいが丁度いい。例えば「今年中に xxx を習得する」だと来月には既に xxx が求められていないかもしれないし、毎日の振り返りも xxx の習得に尽力したか否かという視野の狭い判断をしがちになってしまう。そうではなく「エンジニアとしての市場価値を失わない」といった抽象的な指針だけ定めて「今やってる仕事って俺の市場価値を高めてくれてるっけ」というのを常日頃から考える習慣を付けた方が最終的に努力のベクトルがズレにくくなる。

対人

優秀だと思われること

外から見れば、在宅勤務かつ勤務時間に縛られない人間は明らかに楽をしているように見えている。(実際に楽をしているし、楽をすることは悪いことではない)「神様にでもなったつもりか」という感想を抱く人もいるだろう。それは当然のことで、世の中にはセキュリティや顧客と対面することで価値を生む業務(営業、接客等)で在宅勤務ができない人もいるし、その場に物理的に存在することで価値を生む業務(受付や販売員等)で8時間労働が絶対の人の方が多い社会なので、在宅勤務やフレックスにどのようなメリットがあるか想像されにくいし、単純に妬まれることもあるだろう。

唯一の解決策は成果を出すことだ。誰よりも優秀であれば、「生産性が上がります」の一言に説得力が生まれるし、社内的価値が高ければ咎められにくくなる。特に在宅勤務の人間に求められるのは発言力だ。例えば会議では、オフィスで実際に対面している参加者の意見より、リモートで接続している人間の発言の方が少なく弱くなりがちなので、仕事に取り残されたり誤った(あるいは好ましくない)結論で仕事が進まないためには発言力が高い方が良く、そのためには普段から優秀な人間であることが必要となる。

暇そうだと思われること

優秀だと思われることと、暇そうだと思われることの両立は難しいが、実際にサボっていようが、本当は忙殺していようが、どちらの時でも暇していると思われていた方が良い。「あの人いつも余裕そうだけど優秀だよね」という一番格好いいやつだ。忙しいと、話しかけられたくないし、自分が大変な思いをしていることを周りに知ってほしくなるしで、どうしても忙しさをアピールしたくなってしまうのが心情だ。しかし、そこをグッとこらえて暇そうに装うのだ。

いつも暇そうにしていれば、本当にサボっていてもバレないし、何より魅力的な仕事は手が空いている人に声がかかりやすい。いつも忙しい忙しいと言っている人には声をかけにくいし、そういう人が1人いると組織そのものに余裕がなくなって皆で疲弊する負の連鎖が生まれてしまう。常に余裕がないというのは、自己管理に失敗しているということなので、そういった姿を自分から周りにアピールするのは避ける。

他人の時間を尊重すること

江戸時代の言葉で「時泥棒は弁済不能の十両の罪」というものがある。人の都合を考えずに押しかけてきたり、約束の時間を守れない人等、人の時間を奪う人は「十両の罪」だと言われていた。江戸時代では十両を盗んだら死罪だったので、時泥棒は死罪にも値すると考えられていた訳だ。時間は命の断片なので無理もない話だ。金銭であれば返済することができるが、時間は返済することができないため「弁済不能」というわけだ。

現代においてもこの罪を犯してはならない。自分の時間を尊重してもらうためには、まず人に無駄な時間を取らせないことだ。チャットの文章は短くするといった小さなことでも、積もれば大量の時間となる。1を聞いて10を理解して動いて「こいつは話が早くて楽だな」と思ってもらえれば勝ちだ。仕事上の信頼関係は、コミュニケーションの多さよりも、コミュニケーションの少なさから生まれることが多いのだ。

謙遜しないこと

日本人にとって謙遜は美徳である。しかし、空手をやっていた少年時代に教えられたことがある。例え自分の現状に満足していなくても自分を卑下してはならず、勝敗によって優劣が視覚化される世界において自身を下に見ることは今まで勝利してきた人々に失礼だということだ。エンジニアリングの世界において優劣が視覚化されることは少ないかもしれないが、自分のことを上だと見てくれている人がいるかもしれないので、不必要な謙遜の言葉を発することは控える。

論破しないこと

プログラマーは職業柄、論理的思考に長けているので議論において無類の強さを発揮することがある。つまり自分の意見をとても通しやすい適正を持っている。ただ、ロジカルハラスメントなんて言葉があるように、相手を不快にさせるような論理を展開してはならない。相手を怒らせてしまったら論理的に納得させて議論を終えることは不可能だ。怒っている人というのは「自分の意見の正しさを証明すること」が目的ではなくなり「負けないこと」や「自分の意見を押し通すこと」や「相手を黙らせること」が目的になってしまう。どんなに自分が正しいことを言っていたとしても、怒ってしまった側は何かしらの粗探しをして「でも少なくとも、ここは間違っているよね」みたいな別に議論に持っていこうとしたり等、誰も得をしない形になってしまう。何度話をすり替えられても、その度論破するのはバーサーカー状態の相手には容易いことだが、議論の目的は相手を完膚なきまでに叩きのめすことではない。

相手に不快感を与えずに自分の意見を通すための基本は、相手の逃げ道を用意しておくことだ。孫子の兵法に「囲師には必ず闕き、窮寇には迫ることなかれ」というものがある。敵兵を取り囲む際には必ず逃げ道を作っておき、敵兵を窮地に追い込んではならないということだ。窮地に追い込んだ敵兵を追えば、死に物狂いの逆襲を受けてしまう可能性があるためだ。

議論においても同様で、相手の「折れてもいいかな」という逃げ道を用意する。例えば「IT業界ではよくあるんですが」と他業界なら知らなくても当然であることをアピールしたり、「私も最近知ったんですが」と「あ、こいつも元々知らなかったんだ」と思えるようにしたり、「最近はこういうのが主流みたいですね」と発信者をブラしたり等の方法がある。議論1つも思いやりだ。

報酬

サービス残業をしないこと

残業については後述するが、特にサービス残業は絶対に絶対にしてはならない。「労働力ダンピング」という考え方がある。「ダンピング(不当廉売)」とは市場の健全な競争を阻害するほど不当に安い価格で商品を販売することだ。サービス残業とは労働力をタダで市場に流すことなので、ダンピングにあたる反社会的行為だとされている。

労働力のダンピングによって誰が損をするのだろうか。まず直接的には、本人は働いたのに報酬が貰えない訳なので損していると言えるだろう。ただ、「勉強になっているので」「会社の利益になるので」と自分に言い聞かせている人もいるのが厄介なところだ。実際には、労働力のタダ売りは社会そのものを悪くしている。

サービス残業で行った仕事はタダ売りである。林檎をタダで売る奴がいると林檎の市場価値が下がるように、仕事をタダで売る奴がいるとその仕事の市場価値が下がる。林檎の市場価値が下がると正当な価格で売っている人の市場価値が下がるように、仕事の市場価値が下がると正当な価格で働いている人の市場価値が下がる。つまり、サービス残業は自分で自分の仕事の価値と自身の市場価値を下げ、同じ仕事をしている人々の市場価値を下げている。

冒頭の優先順位で「自らの市場価値」より「業界の健全性」を高く定義しているのはこのためだ。業界の市場が不安定になると、自らの市場価値も不安定になる。サービス残業により一見「できる男」の座を手に入れて市場価値が上がったように見えても、仕事そのものの価値を下げて放流することで業界の健全性は損なわれることになり、結局は将来自分が安い値段で働かされる羽目になる訳だ。

報酬以上の働きをしないこと

上記の話と同様である。年収300万円しか貰っていないのに、年収1,000万円の人々がやっている仕事をやってはならない。これはタダ売りではなく安売りであるし、特に反社会的行為だとは思わない。「質の良い仕事を安い価格でやるのが俺の価値だから」というのは1つのやり方として有りだ。ただ、私は個人的にこれをしないことにしている。普通100万の仕事を自分が80万で請けたことによって、普段100万で請けている人が「前の人は80万で請けてくれたよ」なんて言われていたら悲しいからだ。「じゃあそいつに頼めば?」と答えられれば良いのだが、これで「じゃあ80万で頑張ります」なんて話になって仕事の価値が下がっていく光景を何度も見たことがある。私はソフトウェアエンジニアの待遇を上げることを人生の目標としているので、その目標に反する行為は避けるようにしている。

この考え方は普通の会社の評価システムと相性が悪い。「給料を上げるから良い仕事をしてくれ」という会社は少なく「良い仕事をしているから給料を上げよう」という会社がほとんどだからだ。このモデルだとどうしても良い仕事をしているが安い給料で働いていた期間が生まれてしまう訳なのでバランスの取り方が難しいが、最低限極端に市場とズレた働きをしないことにする。

時間

残業をしないこと

残業代が正当に支払われるとしても残業はしない。夜でも早朝でも割と対応するけど平日の昼間にいない日もあってごめんね、ぐらいのスタンスでやっているが、1日8時間を超える労働はしない。1日9時間以上働くと正常な判断能力が損なわれるためだ。元ブラック企業に勤めていた経験から言うと、ブラック企業に勤めている人間が何故か辞めない原因は正常な判断能力を失っているからだ。労働にいっぱいいっぱいで単純に考える余裕がないことや視野が狭くなるためだ。残業はその始まりであり、知的労働者として判断能力の欠如は致命的なダメージとなるので、健全な生活を送ることを心がける。

「かもしれない」に対応しないこと

エクストリーム・プログラミングにおける原則に YAGNI(You ain't gonna need it) と言うものがある。「どうせ必要ないって」という意味でプログラミングにおける文脈では「もしかしたらこういう要望が後から出てくるかもしれないから実装しておこう」といった行為を避けろと言う意味で使われる。仕事においても同様の考えを持つ。

プログラムと同様、仕事は予期せぬ変更に即座に対応できることが重要だ。「いざ問題が発生した時に即座に対応できること」と「問題を未然に防ぐこと」であれば前者を優先する。「かもしれない」で行った仕事が不発に終わった時、その時間は無駄になってしまうためだ。その時間を今必要な本質的な問題に当てた方が成果は上がるということだ。実際の業務では「かもしれない」にも度合いがあって、確率の高さや発生した時のインパクトによって判断方法は変わってくるが、基本的には無駄な備えはしない。

時間はお金で買うこと

Time is money(時は金なり) という言葉があるが、これは間違いだ。人々の時間の価値は可変だからだ。時間あたりの給料、生産性、社会的貢献度、自身や他者の幸福への寄与度等、人によって度合いも基準も異なる。対してお金の価値は平等だ。私が持っている1万円札の価値と、あなたが持っている1万円札の価値は同じだ。片方の値が可変である時 a = b の式は成り立たない。

つまり 時 > 金 になることもあるということだ。例えば、30分という時間を1,000円払ってでも買いたいと思うのであれば、特急より新幹線が1,000円高くて30分短縮できるのであれば、迷わず新幹線に乗る。

金になる技術を選択すること

技術者は最新技術を追いかけないと死ぬ、みたいなことを言いたがる人は多いがそれは誤りだ。フロントエンドの次々と誕生しては死んでいくフレームワークを追いかけていた経験から言うと、最新技術を追うには時間を無駄にするかもしれないというリスクが付きまとう。逆に、流行り始めた技術に乗っかるのに何ヶ月もかかることはない。市場に仕事が溢れていて、かつ自分が興味のある技術に投資すれば良い。時間は有限なので投資先を見誤らないように。

一旦ここまで。