読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

コードに集中したい人はたぶん、起業するよりも、良き理解者と一緒に働いた方がいいと思う。

<スポンサーリンク>

こんな記事を読んだ。

何故プログラマーは起業に追い込まれるのか
http://anond.hatelabo.jp/20140526004631

この記事では、組織の中で、プログラマーとして結果を残し、出世すると雑事が増える。
結果として、コードを書く機会が少なくなり、腕は鈍り、やがてコードへの愛も薄れ、どうでも良くなってしまうことを書いている。


これはネットではよく言われていたことで、たしかに、組織内で働くと、長時間の集中を阻害する要因があまりにも多い。
メールはひっきりなしに来るし、集中を阻害する電話はかかってくるし、同じことに集中する時間はなかなか取ることはできない。

元記事の方がおっしゃっていることもすごくよくわかる。おれは別に偉くなってないけど、わかる。

一方で、起業することでそれをカバーするのは、ちょっと難しいように思えた。
というのも、起業すると、たぶん組織内で働くプログラマーと同等か、それ以上の負担が生じる可能性があるように思えるからだ。

自分は起業しているわけではないので、想像するしかないのだが、、、
雑務だけでなく、お金を回していかなければならないという心理的な負担も相当大きいだろうと思う。

たとえば・・・

・投資家への説明
・ビジネスの長期展望
・キャッシュフローの管理
・小さい会社ならトイレの掃除、ゴミ出し
・人を雇うなら・採用・給与交渉・評価
・お客さんがいるなら、お客さんとの契約
・税金の申告
・etc...


なかなか目に見えないが、組織ではこういう面倒なことを、経理部や総務部、人事部などが担当して処理してくれる。
投資家への説明は社長がやってくれる。

組織で働くと、色々な雑務が飛んできて嫌になることも多いが、見えないところで、もっと面倒な雑務を誰かがやってくれているのだ。

たしかに、上に書いたような面倒な部分を全部こなしても、組織で働くよりは起業したほうがコードを書く時間が増えるかもしれない。
ただ、その分、書いたコードが金になるかどうかに常に頭を悩ませなければならない。

組織の場合は複数人のチームで闘っているため、もし自分のところがすぐに成果が出なくても、我慢して開発することもできるが、
起業した場合は、成果が出ないと死活問題になる。明日食う飯の心配もしなければならない。

というわけで、コードを書き続けるのに最も良い方法は、良き理解者の元で働くことだと思う。
(カネを全く考慮しないなら、学生になったり、家でひたすら書き続けるのもいいかもしれない)

プログラマーの良き理解者はなかなか見つからないかもしれないが、なんとなく、はてなで飛ぶ鳥を落とす勢いの斉藤さん(id:netcraft)の会社などは、
人に優しい会社のような気がする。



★ ★ ★

最高のプログラマーのために最高の環境を用意しようと頑張ってくれる上司もいる。
あまりいないけど、自分はそんな人を見たことがある。

(部下である)素晴らしいプログラマーが、自分の専門に集中できるように、(プログラマーにとっては)余計な雑務や体外調整を(上司が)引き受ける。
その代わり、プログラマーは結果を出して答える。

見ていて、素敵な信頼関係だなぁって思った。

経済学では比較優位という言葉があって、ものすごくざっくり言うと、「自由貿易において各国が自身の得意分野に特化していく方が双方にとって得」という理論だ。
この理論は、国家の間だけではなく、個人の生産性の話にも応用することができる。

よく例に出されるのが、タイガー・ウッズに自宅の庭の芝刈りをさせるのか?という話だ。
もちろん、タイガー・ウッズも芝刈りはできる。

しかし、その時間を得意なゴルフに使ったほうが、大きな付加価値を創出できる。
芝刈りは、芝刈りが得意なアルバイトに頼んだほうがいい。

wikipediaの例もわかりやすいだろう。

今天才的な商売人と彼のもとで働いている事務員がいたとする。商売人は商売のみならず事務にも才能もあり、商売・事務双方とも事務員よりも優れている。この場合商売人は事務員をクビして商売と事務の両方を自分一人ですべきであるかというとそんな事はない。


というのも事務仕事を事務員に代行して貰えば、その結果空いた時間を自分の得意分野(=商売)に費やす事ができる為、(事務員の給料を払っても)商売人はより多くの儲けを出す事ができるからである。もちろん事務員にとってもクビになって収入が無くなってしまうよりも商売人のもとで事務仕事をしていた方が得だ(ここでは分業にコストがかかる事や、人を雇う際の最低賃金が法律で決まっている事などは無視している)。


比較優位は以上の直観を精緻化した概念である。


以上の例でも分かるように、商売・事務双方とも商売人が事務員よりも優れている(絶対優位性という)としても 両者が分業して自身の得意分野(比較優位性がある分野)に特化する事で商売人と事務員の両方が得する事ができる事をこの概念は示している。


より正確に言うと、商売能力と事務能力の比が重要で、この比が大きい人(=商売に比較優位がある人)が商売に特化し、小さい人(=事務に比較優位がある人)が事務に特化する。

比較優位)
http://ja.wikipedia.org/wiki/%E6%AF%94%E8%BC%83%E5%84%AA%E4%BD%8D

こういう比較優位のような考え方ができる人は、実はすごく少ない。

優秀な技術者に、他の人と同じようにしょうもない申請作業などをやらせたり、出る必要のない会議に出席させたりと、横並びの姿勢を求めるような上司が存在することもたしかだ。


上司の優秀さっていうのは実は、単にプロジェクトマネジメントスキルだけではなく、メンバーが得意分野で最大限の実力を発揮できるように調整することに表れてくるものだと思っている。


これってハタからは見えにくいことだけど、チームとしての生産性も上がるし、気持ちよく働けるし、結果としてみんなが幸せになる。

でも、「俺も雑務やってるからお前もやれ」っていう考え方ってなかなか消えないよなぁ、とも思ってる。

やっぱり、良き理解者(上司)を見つけて、それに応えられる確固たる技術を身に付けて~っていうのは難しいかもしれないけど、そんな職場だったらきっと、すごく気持ちよく働けるよね。