More Joel on Software/Joel Spolsky

Joel on Softwareのエッセイ集の2作目。

最高の人材はマーケットには出てこない。そんな中、優れた開発者を見つけるには・・・

  • こちらから出向く(これはすぐにでもできること)
  • インターンシップ(これもできるかな)
  • 自分のコミュニティを作る(Joelはできただろうが、他の人にはちょっと・・・)

OracleのMAPプログラム。それぞれのクラスで最高と思われる大学卒業生に提示されるもので、そのアイデアは彼らがOracleに来て1週間か2週間働きたいと思うグループを選べるというもの。

ソフトウェア開発者にとってのインセンティブは何か?

  • 外的動機づけ・・・金銭的な報酬
  • 内的動機づけ・・・よいコードを書きたいと思う気持ち。

人々がやりたいことをやるのに報酬を払うと、「過剰正当化」と呼ばれる効果が生じる。「自分がバグがないコードを書いているのは、それによってもらえるお金のために違いない」と考え、内的動機づけが外的動機づけによって置き換えられることになる。

Javaスクールの危険。ポインタや再帰を理解する脳みそを持ち合わせていないプログラマをふるい落とせるほど難しい部分がJavaにはないので、ドロップアウト率が低くなる。ポインタや再帰の明らかな重要性以上に重要なのは、これらの学習から得られる精神的柔軟さと、これらを教えている授業からふるい落とされないために必要な精神的態度が、大きなシステムを構築する上で欠かせないということだ。

コンピュータサイエンスの学生へのアドバイス

  1. 卒業するまでに文章の書き方を学ぶこと(よい仕様書を書く)
  2. 卒業するまでにC言語を覚えること(Cを知らないプログラマは解剖学を知らない医者と一緒だ)
  3. 卒業するまでにミクロ経済学を学ぶこと(ビジネスの基礎を理解しているプログラマは理解していないプログラマよりビジネスにおいて価値が高い)
  4. コンピュータサイエンス以外の授業を退屈という理由だけでさぼらないこと(退屈さから逃げない)
  5. プログラミング中心の授業を取ること(形式論<実習)
  6. 仕事がみんなインドに行ってしまうと心配するのをやめること(「本当に優れた」プログラマはどこでも不足している)
  7. 何をするにせよ、いいインターンシップの仕事をすること(Fog Creekで・・・)

理想主義者と現実主義者。FirefoxIEMicrosoftの製品は、なぜ後方互換性にこだわるのか。Excelの1904年オプションの話。WindowsXPが古いバージョンのWindowsのバグをエミュレートしなければならなかった話。いつものごとく、理想主義者は原理的には100%正しく、そしていつものごとく実際的に正しいのは現実主義者だ。この争いは何年も続く。私はこれが理由で、Microsoftが大好きだ。いや、大好きだったという方が正しいかな。少なくとも、Bill GatesがいるころのMicrosoftは最高だったと思う。

Officeのファイル形式が複雑なのは、非常に古いコンピュータで早く処理できるようにデザインされているから。ファイル形式はアプリケーションの複雑さのすべてを反映する必要がある。

スケジューリングについて。

  • 見積もりができるのはその作業をするプログラマだけ
  • バグを見つけたら修正し、かかった時間を元の作業につける
  • マネージャに開発者の見積もりを減らさせない

関数プログラミングMapReduce

間違ったコードは間違ったように見えるようにする。ハンガリアン記法について。

真説「陽明学」読書メモ

何とか読了。とりあえず、心に残ったところを残しておく。レビューはまたあとで書く。。。予定。

陽明は34歳のころになって聖人になるための<立志>の大切さを訴え始めている。「人はまず、必ず聖人になるのだという志を立てなければならない」と主張し、陽明のものに門人が多く集まり始めた。

第一部 第一章:立志修行時代

聖人が聖人である理由は、その心が天理と純粋に一体で、人欲の混入がないからであって、それはまるで純金の純金である理由が色合いが完全で、銅や鉛が混じっていないのと同じです。人は、純粋に天理と一体の境地にまで到達すれば、正しく聖人であることは、金が完全な色合いとなれば、純金であるのと同様です

第二章:受難と悟りの時代

ある人が、道悦という熱心な心学者に、何のために心学修業をしているのか質問した。道悦が答えて言った。「心学に入ります前は、何事につけても、いちいち為に、為にと、『為』を付けて考えたものでした。仕事に精を出すのは妻子を養うためである、信用を得たいためであるといったように、いつもこの『為』という言葉に縛られ、追っかけまわされて、窮屈なせわしない思いばかりをしていました。ところが、心学の道に入ってからは、この『為』という曲者にとらわれずに工夫修行をするようになりました。ただなんとなく勤めるばかり励むばかりです。

人生最大の病患は傲慢の一言に尽きる

第四章:陽明学の確立

陽明学とは?と尋ねられて簡単に答えるとすれば、「心を陶冶する、鍛えることの大切さを主張した教え」「万物一体の考え方を理解し、心の中の葛藤を無くし、不動心を確立する教え」と答えることができる。

第二部 第一章:陽明学とは

「心がすなわち理なのです。この心以外、他にどんな事物があり、どんな理があるというのですか」
「(前略)たとえば、父に仕える場合ですが、父の体に孝の理を求めたりしません。君には仕えるにしても、君の体に忠の理を求めたりしません。(中略)理と言うのはすべて心の中にあるものなのです。心がすなわち理なのです。」
この心が私欲に覆われていない状態が、すなわち天理(人為でない点の正しい道理)そのものなのです。それ以上外から何かを付け加える必要はないのです。
「この天理そのままの純な心を発揮して、父に仕えればそれがすなわち孝なのです。発揮して君に仕えれば、それがすなわち忠なのです。さらに友と交わり民を収める時に発したら、それがすなわち信であり仁なのです。ですから、ただこの心から人欲を取り除いて天理を発揮するように努力しさえすれば、それでいいのです」

権威は教会や旧約聖書にあるのではなく、我が内なる心にある、というのである。なぜなら、人は心が見ようとしたものしか見えないからである。その人の心が見るのであって、目が見るのではない。哲学者はその思想の心で物を見る。宗教家はその宗教の教義で物を見る。この世が金だと信じる人は、そういう価値観で物を見てしまう。心のあり方次第で、物の見え方が違ってくるということになる。ということは、心が浄化されなければ、経典に書いてあるはずの真理すら見えてこないということになる。

本を読んで愛についてのの知識をたくさん吸収することで、本当に愛を理解できるものだろうか。啓蒙には限界がある。川を汚す人は、いけないと知っていて、それでもゴミを捨ててしまう。環境が汚れるのは心が汚れているからなのだ。功利主義、利己主義が心から無くならない限り、川のゴミを取り除いてもまた汚されてしまうだろう。一人一人が心の汚れを取り除き、日々大掃除しなければならない。良知を発揮できるようになるように、心を陶冶(鍛練)しなければならない。

心と理に区別を設けることは、人間と自然、我と汝の間に区別を設けることと同じである。私欲が生じると、心と理に区別が生じ、人間は自然に対立し、他人に敵対する関係となってしまう。私欲は心の平安をかき乱し、自己分裂の危機をもたらし、判断力を狂わせていく。だから陽明は私欲を取り除くことの大切さを主張するのだ。

第二章:心即理

功利主義に慣れて「利益という動機」で物を見ることが習慣となった私たちには、心の中で常に比較し測定して、物や人々を見る、というより評価してしまうのだ。「それがいったい何の役に立つんだ?」という言葉の背後には、比較し測定する心が働いているのだ。言いかえれば、常に比較し測定している心がない時、また偏見や恐怖によって心が曇らされていない健全な心の状態のときのみ、私たちは「あるがままのもの」を見ることができるのである。

私たちの考えは、通常、既に世の中に出来上がっている、あるいはすでに自分の中にある考え方の枠の中で展開する。知らないうちに一定の思考パターンにならされてしまっているのだ。(中略)頭だけで、あるいは知的理解だけで、世界や宇宙の謎や、人間の謎を解き明かせると思っていると大間違いだ。認識する、理解するという行為には、心情を含めて体全体で関わらなくてはならない。

第三章:知行合一

良知に目覚めることは、権威主義教条主義からの決別を意味する。(中略)良知に目覚めることは、主体性確立への第一歩であり、自由への目覚めである。

(「致良知」とは)究極的には「自分を見る時のように他人を見、我が家を見る時のように国を見、やがては天地万物を自分と一体のものとみなす」ということができるようになる境地である。

第四章:致良知

欲望を抑えること、抑圧することは、陽明学の勧めるところではない。人欲や悪い想念、良くない思いを無くすことはもちろん奨励する。感情を全面的に抑えつけることは、良い思い、善を喜ぶ思い、人を愛する思いまで否定してしまうことになる。人の為になる、人の役に立つことを喜ぶことも感情体験であり、他人が喜ぶところを見て満足するのも感情体験である。魂も心も生き生きとした状態に保つためにも、感情をただただ抑圧することは百害あって一利なしである。

心の本体はもともと天理であるから、そのなすところはもともと礼に合致しないはずはないのです。だから、この心こそが君の真の自己なのです。真の自己は肉体の統率者です。だから真の自己がなければ、肉体はないのです。まことにこれがあれば生き、これがなければ死ぬのです。

第六章:陽明学と感情

一番印象に残ったのが、第四章:致良知の、この一節。

信じる、という言葉がよく使われる。たとえば、こんな使われ方をしている。「私は神の存在を信じている」「私はキリストの実在を信じている」等である。
厳密にいえば、こういう場合は「信じたい」というべきであろう。なぜなら、もし神の存在を信じているのであれば、その人は神の教えを実践し、まるで神のごとくに生きていなければならないからだ。そうでないのは、信じきれていないから、神のごとくに生きることができないのである。(中略)多くの人々は、いや地上に生きている人々のほとんどが、信じたくても信じきれないで生きている、というのが現実だ。本当に信じて生きている人が、果たして何人いるだろうか。
つまりは、多くの人々は、心の力を、心にある<良知>の存在を信じきれないのだ。心の機能としての信じる力が弱いからだ。しかし、陽明の教えを実践していかれるなら、きっと心の力を回復できるのである。

ファイナンシャル・マネジメント/ロバートC・ヒギンズ

ファイナンスの初学者向け(要は私向け)の書籍としては、かなり良い部類に入るのではないかと思う。だって、ファイナンスを知らなかった私でも理解できたし:P
ブリーリー・マイヤーズはちょっと・・・という方は、このあたりから読み進めていけば、ちょっとはとっつきやすくなるのではないかと。あと、初学者向けには「道具としてのファイナンス」もお勧めらしい(私は持っていないけど、周りの評判は結構良い)。
本書がカバーしている範囲は、財務諸表の解釈(第1章)から財務予測(第3章)、財務構成の決定(第4章)、DCF法(第5章)、感度分析(第6章)をやって、事業価値評価(第7章)まで。かなり範囲は限定されているが、基礎となるところは押さえられているし、記述が分かりやすいので、独学向けとしてもいいんじゃないかと思う。MBAファイナンスの教科書としてはちょっと物足りないけど、ちゃんと勉強したければ他の教科書を読んでくれ、という感じか。

で、なんで今更(?)この本のレビューを書いているかというと、ブックオフでこの本の古本が105円で売っていて、つい買ってしまったから。私が入手したのは第4版(1996年)。2002年に新版が出ているらしいが、新版はもっと内容が充実しているのかも知れない(厚みも増したようだし)。でもいくら旧版とはいえ、この本が105円とはお買い得だったなあ。

いまは見えないものを見つけ出す 発想の視点力/三谷 宏治

世に良く言う「発想法」。KJ法に代表されるような「発散と収束」ではジャンプした発想は得られない。自分たちの頭に頼っているだけの「発散」ではダメで、「発見する力」「発見する方法論」が必要だと著者は説く。その方法論として挙げているのが、発想を飛ばすための3つの視点、「比べる」「ハカる」「深堀る」の3点だ。

<1:比べる>
比べる視点には4つある。

  1. 矛盾を探す
  2. 不変・変化を探す
  3. 例外と比べる
  4. 周縁・その他と比べる

ユニークな答えを発見するためには

  • 共通点ではなく、矛盾・変化・不変を見つける
  • メジャーではなく、マイナーなものを比べ、その差の理由を見つける

ことが必要で、そのためには上述のような視点が必要だということだ。共通項にはとびぬけたものはない。例外や矛盾から逃げず、それらを真摯に見つめ、なぜそれらが例外・矛盾なのかをトコトン考える。ジャンプした発想を生み出すには、こういう姿勢が重要なのだと感じた。また、文中の例に出てくる「Undo分析(**しない人分析)」という視点は是非自分も取り入れていきたいと感じた。

<2:ハカる>
対象はどうあれ、定量化して客観的に数字で見ること。数字にしなくても、あいまいなものを具体化できれば、それでも良い。ハカる視点には以下の3つがある。

  1. 行動でヒトをハカる
  2. 目利きのカンで未来をハカる
  3. 塊をバラしてつなぎ直してハカる

「行動でヒトをハカる」というのは、言葉(インタビューやアンケート)に頼らず、ヒトの行動そのものに尋ねること。ヒトが環境を気にしているかどうかは、「環境を気にしている」という言葉ではなく、具体的な行動(本当にエコバックを持って買い物に行っているか、とか)で判断すべき、ということ。行動を観てユーザーを調査する手法を「エスノグラフィー手法」と言うのだそうだ。そうやってヒトの行動をハカることで

  • 資源配分:ヒトは何に一番時間やお金を費やしてきたか
  • トレードオフ:そのヒトは何を選んで何を捨ててきたのか

がわかる。この2つをじっくり見ていけば、その人の大事なことが何か、わかるはず。

<3:深堀る>
ここでは、筆者がJAH法と呼ぶ、空間視点で見る発想法が紹介されている。方法としては

  • 「軸」:まず、ある対象物に対する軸(属性・切り口)を考える
  • 「値」:対象物が軸の中でどういう値をとっているかを考える
  • 「巾」その値がとりうる値をすべて考える

という順で考えるもの。このやり方、ちゃんとした「軸」を出せれば強力だろうが、まともな「軸」が出ないと悲惨な結果に終わりそうだなー。ただ、軸が出せれば、「値」「巾」のところでオプション出しの漏れはでにくいやり方なので、効率がいいのだろうと思う。私は3×3マトリクスを使ったアイデア出し手法(なんというやり方なのかは知らない・・・)をよく使う。ブレスト的に発想を広げるには良いやり方だと思っているが、広げ方が十分かどうかが分かりにくいのが難点。両方の手法を使えれば、より効率的にアイデア出しができるように思う。

超凡思考/岩瀬 大輔・伊藤 真

岩瀬氏・伊藤氏の師弟コンビによる一冊。
岩瀬氏・伊藤氏ともに、帯のコメントにある通り「『当たり前』を愚直にやりきる」ことの大切さを繰り返し説く。言われてみればごもっとも。でもそれをきちんとやりきることって、なかなかできることじゃないんだよな、とも思ったり。
そんな中で、私がいいなと思ったのはこんなこと。

  • 人の力を使う:自分だけでできることなんて限られている。すべてを自分で抱え込むよりも、上手に人の力を借りて、効率を上げる。
  • 専門性を武器に:誰にも負けない、ぶっちぎりの専門性を築く。どんなに狭いニッチな分野であっても、そこを極めれば、必ず道は拓ける。
  • 1対1のコミュニケーション:大勢の前で話す時も「あくまで1対1」であることを忘れない。マイクの有無や音量に関わらず、「会場の一番後ろのあの人に伝わるようにしよう」と思いながら、音の密度を高めるイメージの声で話す

専門性を武器に、というのは納得なのだが、それ以前に自分の専門性をどこに持つのかを考えなくてはいけなくて、それは結構重要かつ難しい問題なんだと思う。私が思うに、何を専門にするかには2つの軸がある。一つは自分がどれだけできるか(能力の問題)、もう一つは自分がどれだけのめりこめるか(情熱の問題)。能力は高いがやる気にならないのではダメだし、できもしないのに情熱だけあってもものにならない。大学からの流れでただなんとなく今の仕事をやっている・・・というのが最悪で、できれば20代、遅くとも30代前半くらいまでの間に一度だけでもいいから、自分は何を成す人間になるのか、一度は考えてみるべきだと思う。私は、38歳になって初めてそのことに気づいて、とてもよかったと思う反面、なんでもっと早く気付かなかったのだろうと後悔したものだから、他の人にはもっと早く気づいて欲しいと思うんだ・・・

また、「何が重要なのか、何が面白いのか。一番の核心から始める」という一節(P163)は、三谷宏治さんが「正しく決める力」の中で説いている『重要思考』ともつながるなと感じた。そういえば、三谷さんの新刊も読んで、他の本と合わせて日記に残しておかなければ!

繰り返しになるが、この本に書いてあることは本当に当たり前のことばかり。どのページを見ても「そりゃそうしたらいいだろうねー」と思うだろうが、それを本当に実行できるかどうか、実行し続けられるかどうかが、一流とそうでない人を分けるんだよね。一流の域には、届きそうでなかなか届かないのだけれど、決して届かないわけではない。必要なのは、常に学び、実行し続ける謙虚な心、というところだろうか。

直球勝負の会社―戦後初の独立系の生命保険会社はこうして生まれた/出口 治明

戦後初の独立系生保を立ち上げた出口社長の一冊。
Wikipediaなどを見るに、どうやら出口氏は生保業界では「伝説の人」なのだそうだ。恥ずかしながら、私はこの本を読むまで、そこまですごい人だとは知らなかった。副社長の岩瀬氏のことは「ハーバードMBA留学記」を通じて知っていたのだが。

「わかりやすくシンプルな商品」「プッシュ型販売をやめてプル型販売に徹する=お客様に選んでいただく」「情報公開を徹底して真っ正直な経営を実現し、お客様の生保不信を払しょくする」新しい三位一体構造を実現することこそが、生命保険をよりよくする道ではないでしょうか。少なくとも私はそう信じています。そこで私は、新しい会社をどこに出しても恥ずかしくないど真ん中の直球勝負の会社にしようと決意しました。
「直球勝負の会社」p3

私が素敵だなと思うのは、「自分はこういう会社を作りたい」という思いが明確で、自分が描く理想の姿を心から信じ切っているんだな、と思えること。この強い思い、信念こそが経営者には必要なものだと思う。この本の前半部分を読むと、出口氏がライフネットに賭ける思いが伝わってくる。保険業界の同業者としてはライフネットはライバル企業の一つとなるわけだけど、起業家の卵にとっては、先輩ベンチャー企業の一つとして、是非頑張ってほしいものだと思う。

システム部門担当者としては、ライフネットのシステム構築に関する章は興味深く読ませていただいた。私も昔LIFE/J導入のお手伝いをしたことがあるのだけれど、あのパッケージってそんなに実績があるものなのかしらん?また、UI部分をSIerを使わずベンチャーを使って構築したのは正解だったと思う。ライフネット程度の規模だったら、スパイラル型開発モデルを使っても十分回るだろうしね。開発現場も少人数ながらも活気がありそうでうらやましい。基幹系とかの大きなプロジェクトに携わるのもそれはそれで楽しいけれど、小規模だけど活気のある開発現場が懐かしくもある。これは単なるない物ねだりなのか、どうなのか。自分が仕事を通じて得られる喜びはどこにあるのか、ふと考えてしまった。

ChromePlusを入れてみた

今まではずっとSleipnirFirefoxを使い分けていたのだけれど、思うところがあってGoogle Chromeにメインブラウザを切り替えてみようと思い立った。Chromeは速くて快適なのだけれど、マウスジェスチャが効かないこと、FirefoxIE Tab相当の機能がないため、私にとってはちょっと不便。マウスジェスチャはなくても我慢できるけど、会社のメールをインターネット経由で見る場合にIE以外のブラウザではアクセスできないので、IEtabの機能がないとChromeだけでやりたいことが完結できない。ということもあり、「Chrome IE tab」でググって最初に出てきた「ChromePlus」をインストールすることにしてみた。
インストール手順は至って簡単。

  1. ChromePlusのページに行く
  2. トップページの「Download」ボタンをクリック
  3. 一番上の方にある「V1.3.n.m Setup Package」の横にある「Download」をクリック(n.mは現時点ではそれぞれ0.0(V1.3.0.0)
  4. ダウンロードした「ChromePlus1.3.n.m.exe」をクリックし、Enterキーを連打
  5. 初回起動時にIEのお気に入りを自動インポート(なぜFirefoxのBookmarkはインポートしないのか!)
  6. 終了…

外見はChromeとまったく同じ。外見上の唯一の違いは、右上の「ChromePlus」の表示だけ。Plus機能の設定はOptionから変更可能。ただしオプション画面は日本語化されていません。だけど、初期設定でほとんど問題なしと思われます。ちなみに、Plusの機能は以下の通りになります。

  1. タブ
    • タブ表示エリアをダブルクリックするとタブを閉じる
  2. スーパードラッグ
    • 選択した文字をドラッグすると、その文字を別ウインドウで(設定変更可能)検索する。通常だと文字を選択してから右クリックしてコンテクストメニューで「Googleで「ほげ」を検索」って選択するところをドラッグ一発で検索可能、というわけ。
  3. マウスジェスチャ
  4. AutoUpdate
    • Updateするたびにリビルドする必要はなく、ちゃんとAutoupdateしてくれるそうです。親切ですね。(というか、Chromium自体にAutoUpdate機能が付いているのかな?)
  5. IE Tab
    • FirefoxIE Tabと同じ。IEエンジンで開くページをURLで指定することが可能。
  6. 最後のタブを閉じたときの挙動
    • 最後のタブを閉じたときの挙動を変えられる。1.ブラウザごと閉じる。2.最後のタブが新規タブのときだけブラウザを落とす(そうでないときは、新規タブだけが残る)3.ブラウザを落とさず、新規タブを開く(Firefoxの標準はこれですね)

私がほしい機能はとりあえずすべて入っているようなので、まずは満足。しばらくの間はメインブラウザをChromePlusにしてみることにします!