「と言っても、”ほとんど”だね。プログラムする価値のあるものしかプログラムしないんだよ、私はつまらないことのために自分の時間を無駄にしないんだ。書こうと思えば苦も無く書けるけど書かなかったプログラム、そういうのはたくさんある。printfがビジネスを説明し始めると、その領域のエキスパートはさえぎってこう言いました。私は、自分がふだんプログラムするようなプログラムを作るのは得意だし、私がふだんプログラムするのは得意なものだ。比較的限定されていて、私がすでに上手いことについてより上手くなっていった方が、より価値があると自分で確信してるんだよ。雇用の安定とか適者生存と呼んでもいいけど、それが私のやり方なんだ。「何故かって言うとね、君を助けるために自分の時間を使うってことは、大切な自己投資の時間を他の人の進歩のために使うということで、それでは自分が負けてしまうんだ。君の学習のためには、私がしたように、たくさん苦労して自分で解決していくこと。することで自分を強くしていくんだ。「まあ学校にいって学習してもいいし、自分で勉強してもいい。すると、適当に済ませたいと思ってる怠け者の人たちはふるいにかけられて、残った人たちを本当に価値ある人たちにする。ねだる者を招き入れると、その瞬間から私が生み出せる価値が下がっていくんだ。「そんなに考えないね。私は一人で邪魔されずに仕事している時が一番働ける。いつも誰かと一緒に働かないといけない時は、一緒に仕事するということがまず不可能なんだ。イライラしながら、私は彼らの成果物を取り上げて、ほとんど全てを書き直して、それでやっと正しく作動するんだ。printfは、他の人たちを助けることにこんなにも無関心で、スキルがない人たちに対してこんなにもイライラするエキスパートに出会い、驚きました。自分の知っている一つのエリアだけへと視野を狭めるあまり、改善すべき問題を彼自身がただ作り続けているだけになってしまった......ということが、少し哀れでした。「なるほど......あなたが僕を手伝ってくれなくてよかったです。私の小さな友達は言いました。能力主義者の彼は聞きました。彼の価値が急落してしまったようでした。「ああ、それはそう思います。僕からみて、あなたは僕のことをただの邪魔者で厄介者としか見ていないように見えました。僕が求めているのは、苦悩ではなくて、助けです。printfは速やかに去っていきました。このエキスパートに、仕事を守ることしかできず、誰も相手にしてくれない人であることを意識させて。printfは魔法使いやドラゴンの絵、フラクタルや数学的なパターンが書かれているハードカバーの本に囲まれている男性がいるオフィスのドアの前にいきました。printfは言いました。私はこれらがプログラマにとって必須の資料だと思うんだ。これを持っていないと、本当のプロではないんだよ。「じゃあ僕はプロじゃないですね。printfは言いました。「あ、でもほとんど読んでいないんだ。開発者は誇らしげに言い足しました。「実際はひどいプログラマだ。printfはそう言って、続けました。「僕は自分で成長しているよ。「ひとつの認識バイアスだよ。能力がない人たちほど、自身の能力を過大に評価する傾向があって、能力がある人はその能力をシステム的に過小評価すると言われている。「つまり、僕は『自分は成長している』と思っているけど、それはおそらくそんなに成長していないということですね。君はよいプログラマではない。その一方で、私はひどいプログラマだとオープンに言えるんだ。Dunning-Krugerによれば、私は自分のことを過小評価しているということだ。することによって私は良い開発者になるんだ。「これは何故かというと、自己非難は開発者のためにはきわめて重大なツールだからさ。『自分はよい開発者だ』と思った瞬間、リラックスしてしまって進歩することを止めてしまうんだ。「つまり、『自分自身の事を良いと思った瞬間、失敗へと向かってしまう。それをするやり方は、『全てが最悪だ』と言う、それだけなんだ。提案できる解決策を持ち合わせていなくてもね。することで、大した貢献する必要がないまま、頭は良く見えるんだ。「たとえば、私がオンラインで好きじゃないプロジェクトを見たとしよう。大事なのは、間違っている点全てを指摘したうえで、それ以上の情報を与えないことさ。「彼らは『間違った道を進んでいることを知る』という点では得をするし、私は『それを知らせた』ということで気が楽になる、と思いたいね。誰も何をしているかわからないが、私は知っているように見える。「そんな時はもとに戻って、『何もかもがひどい』と言えばいいんだ。『たくさん削るべきところがあって、他にも改善すべきところがある』なんて言って、大げさに悲観的になること。あとは勝手にやってくれるさ。「どんな場合でも、有能か無能かはそんなに関係ないんだ。評判はまあまあ大切だけど。人々は友達を雇って、あまり好きじゃない人や重要じゃない人は真っ先に解雇される。システムを変えようとして、嫌われたりする。全ては社会のゲームなんだ。産業はそういう風に動いていて、きっと学問の世界でもそうだろう。それは今の私にはわからない、だってわかるわけないだろう?これは全て君が誰を知っているかなんだ。自分の個人ブランドを売るということだよ、わかる?それがビジネスでどうやって仕事をもらうかということだよ。「もしこれが本当で、あなたが悪い気持ちをもって、他の人たちをも悪い気持ちにさせているなら、僕はビジネスで仕事なんてほしくないです。printfはそう言って歩き出しました。6ランチ休憩であるはずであろう時間に、Printfはある人を呼び止めました。彼はランチを食べ忘れているかのように見えました。デスクに座ってパソコンの画面を見ている間にも、サンドイッチはどんどん冷たくなっていきます。彼は自分で何をしているのかを分かっていてとても忙しい人である、そんな風に見えました。Printfは彼にこう尋ねました。「遅かれ早かれ落ちるものさ。「うん、それさえもね。全ての巨大なシステムは、どんな時でも部分的に落ちる状況にある。彼にその答えはわかりませんでした。その時二人が考えていたことは、まるで、雲が割れて空が頭に落ちてくることに対する1ページ分にもなる答えのようでした。彼もprintfと同じことについて自問していました。printfは再度念を押しました。自分はプロダクション環境での問題に取り掛かっているのに、この子供がどこにも行かず、サンドイッチが冷たくなって無駄になっていくので、彼は怒りだし、イライラしながら答えました。「何のためでもないよ。プログラミングなんてどうせ全部クソじゃないか。彼ははっと息を飲みました。その後、その場は完全に静まり返りました。怒りを見せながら、小さな男の子は返答しました。「僕はそうは思わないです。プログラムは壊れやすいけど、でもプログラマは素晴らしい結果をだして、物事をより良く、使いやすくしてくれる。」それに対する答えは返ってきませんでした。新しいクラスタ全体を0から立ち上げる方法に関するドキュメントを彼は開き始めました。状況はどんどん悪くなっていきます。「だめだめだめ!良いプログラムだとか信頼性のあるプログラムだとか、私はそんなもの信じないんだ!金輪際信じない!そんなもの全部最悪だ!私はただ頭に浮かんだ最初のことを君に言っただけだ、なぜなら私がそういうクソみたいなシステムに関わっているからだ。私がこれらを動かそうとしているのが見えないのか?このクソも本当に重要な物なんだ。」Printfは驚きの表情で、じっと見つめ返しました。「”本当に重要”?まるで“本物のプログラマ”みたいなことを言うじゃないですか。」printfは言い足します。「あなたは全て混ぜこぜにしてしまって、全てを混乱させているんです。何百万ものプログラムがあって、何年にも渡って同じように動いたり、落ちたりしています。人々はそれを使ってきたし、必要としてきました。それに、僕は『他のどこにも動いていないけど、一つのパソコンだけにあるプログラム』をいくつも知っています。一つの間違いがコミュニティー全体を知らない間に破壊することも知っています。それをあなたは重要じゃないと思っているんですか?」その人は黙ったままでした。74つ目の職場で、小さな彼は、どのブランドのものかわからない程ステッカーを貼っている男の人に出会いました。日本のイケてる何か...。Printfは話しかけました。今度は少し大きな声で、もう一度尋ねました。「ああ、僕は新しいフレームワーク、ツール、データベース、言語を試しているんだよ。「私はアーリーアダプターなんだ。最新情報を逃してしまうと、COBOLとかMUMPSを生活のために書き続けることになるよ。次に来る大きな波を見つけて、その頂上に乗りたいからね。「そりゃそうさ!Railsが大きくなる前に私が見つけたし、node.jsだって有名になる前に理解したよ。riakのベータコピーを持っていたんだ!vagrantを初めて使ったのも私だし、dockerへの移行を導いたのも私だし、まあもちろん今では全部unikernelだけど...。「すごい、それじゃああなたは全てのパイオニアだったんですね、その後どう成功していったんですか。Railsが大きくなった時には、乗り遅れないように私は次の大物にいっていた。Unikernelはまだ可能性があるけど。printfは付け加えました。「ああ、ビッグになりそうにないものを自分たちが使うことがないようにしているんだ。することで、会社が未来のないテクノロジーに賭けることがないようにしているのさ。これはすごい大切な仕事で、これをしないと時代遅れの白髪のあるおじいさんぐらいしか雇えなくなるから。自分でモチベーションを高められて、向上心と適応力がある人を雇いたいからね。「それは面白いですね。printfは言いました。「これはすごく大変なんだよ!スタートアップの世界でAクラスの人財が欲しければ、良いテクノロジーがないと入社してくれない。しない限り、融通の利かないのろまになる。誰もそんな奴にはなりたくない。printfは言葉をさしはさみ、こう続けました。「僕たちにとってツールは問題を解決するためのものなのに、あなたからしたらツール自体が問題になっているのが面白いと思ったんです。printfは部屋からひょいと飛び出ました。8隣のオフィスでは、疲れている社員が座っていました。たくさんの空になったコーヒーのコップがあり、前のめりになって怒りながらタイピングをしています。printfは言いました。彼女は動作を止めず、引き続き怒りながらタイピングをしています。彼はもう一度尋ねました。彼女は一度動作を止め、デスクの引きだしから携帯用瓶を取り出し、それをがぶっと飲みました。「DevOpsをしているの。最初の方は、だいたい開発をしていて、たまにデバッグしていたからそれは良かったんだけど、時間がたつにつれどんどんひどくなっていったの。スタックの火消しをするようになって、次から次へと障害が出てきたの。ほとんどをどうにか収めたけど、あちこちで小さな奇跡をおこして、開発でしないといけないことの締切に間に合わせたの。「いいえ、それが問題なの。あちこちで小さな障害がでてきて、その始末のために時間を取られて、前ほど注意深く開発ができなくなった。そのせいで私は常にたくさんの障害を生んでしまって、今は朝も夜もそれと戦わないといけなくて、この仕事大嫌い」。「私は仕事をするのが上手くて、しっかり管理できるマネージメント能力があるから、皆それに見慣れてしまったの。小さい奇跡を起こす習慣をつけると、人はそれが当たり前だと思うの。奇跡を起こさないといけなかったり、逆に起こしていないと仕事をしていないように思われる。「それってすごい悲しいことだね。その障害について私が一番詳しいから、その仕事だけする機会が増えるけど、その間に違う人が雇われて、昔していた大好きな仕事を取られてしまうことがあるの。他の人たちが嫌がる仕事を一生懸命するようになっていると、もっともっと自分が嫌いな仕事をすることで感謝されていって、最終的にはそれが自分の仕事になるの。なると、何も楽しいことがなくなるの。「じゃああなたはアンラッキーだね。printfは言いました。彼女のポケベルがまた鳴りました。printfは旅を進めていきながら、独り言を言いました。「彼女は他の人たち―シニアエキスパートやロックスター開発者、アーリーアダプター―に軽蔑されているんだ。彼女はその中でも一番使える人に見えたけど、その理由はおそらく、彼女が自分以外のことを考えているからだろう。」Chapter9ビルの角で、printfは周辺を見下ろす大きな窓のある大きなオフィスを見つけました。そこでは年老いた紳士が大量のドキュメントをデスクに広げていました。printfがドアのところに立っていたからです。printfはその窓が書き物でいっぱいなことに気づきました。外への眺めは、ホワイトボード用マーカーで書かれたすごい量の丸、矢印、シリンダーや雲で覆われていました。外に同じ雲が見えるのに彼が雲を書く必要があるのか関心を抱いていると、そのアンサンブルがなんだか面白く見えてきました。窓を指差してprintfは聞きました。彼は外へ眺めに関する質問だとは一切思わずに言いました。「私はソフトウェアアーキテクトなんだ。「だいたいの場合、大きなシステムについて、全てがぴったりになるようなベストな構成を知っていたり、コンポーネントを構築したりすることを1番よく知っている人のことだよ。それをするためには、データベース、言語、フレームワーク、エディタ、シリアライズのフォーマット、プロトコル、それからカプセル化や関心の分離みたいな概念について知っていないといけないんだ。彼はアーキテクチャのダイアグラムを眺めました。アーキテクトは言いました。