スポンサーリンク

私が尊敬するプログラマー,5人 (「好みを持つこと」の重要性について)

私が尊敬するプログラマーを,5人だけピックアップしてみる。

なぜその人を尊敬するのか,理由も併記する。


以下の内容は,今から2年前に書いたもの。

人力検索はてな上で,「君の瞳にラリアット」さん(id:kimihito氏)の質問への回答として,2011年 7/2(土)に記述した文章だ。

プログラマ、エンジニアの方に質問です。あなたには尊敬できるプ..
http://q.hatena.ne.jp/1309574922

ちなみに2年たった現在でも,だいたい同じ意見。


↓以下は回答内容:

私が尊敬するプログラマー 5人

(1)Andrew Hunt 及び David Thomas。

あの名著 "達人プログラマー" の著者であり,その内容が優れているためです。


本書によって,私の「開発観」の形成過程が根底から大きな影響を受けたためです。

※例えば '実行可能ドキュメント' という概念を教えられました。


(2)John Resig。

言わずと知れたjQueryの生み親です。


彼を尊敬する理由は,彼が単なる「いちJavaScript Programmer」ではなく,

広い計算機科学上のバックグラウンドを持った上でプロダクトをリリースしているという点にあります。

私は,それと同じような素質の原石を id:javascripter 氏や id:amachang 氏の内に個人的に見出してきました。


(3)社会人になって最初の現場で,隣にいたM氏。

彼はフリーランスの上級PGで,「何でもできてしまう」人でした。

彼はその上,スタイリッシュでした。


彼を尊敬する理由は,彼がスーパー凄腕であったにも関わらず,

社会人になりたてで何も知らない,実務上は足手まといでしかない私の事を,

ただの一度も見下したり馬鹿にしたりしなかったからです。


たいへんタイトで厳しい人ではありましたが,それでも一言といえど,

高慢になったり,相手に劣等意識を抱かせるような事を口にしませんでした。


社会に出る前も出た後も,私はそのような人をあまり見ません。

世の中では概して,できる人ほど高圧的であり,接する相手に不快感を与えます。

ただ技術力があるので,周りはその人を嫌々ながら雇っている,というケースは多いでしょう。

私の言うM氏はそうではなかったので,それで私は彼を尊敬するのです。

(4)Martin Fowler(と ThoughtWorks 社の仲間たち)。

著書 "リファクタリング" によって,オブジェクト指向開発は洗練されました。

その他多くの功績があります。


彼を尊敬している理由は,システム開発において新しい価値観を創造している人々の一人だと思うからです。

なお今月(2011年7月の)20日に来日記念講演をします。



基本的に Agile Manifesto に参加した技術者17人については,

その全員の言う事を一度調べてみる価値があるのではないでしょうか。


本宣言が後世でどの程度評価されるのかは未知数であって見守るしかありませんが,

我々の業種が抱えている特有の矛盾点を解消するための

マイルストーンになってくれた事には違いないと思います。


また,もしもこの世にSeleniumが存在しなかったとしたら,今ごろ私はとっくに過労死していたでしょう。


なので,Seleniumをオープンソースで公開してくれているThoughtWorks社とそのヘッドであるマーチン・ファウラー氏には,

純粋に技術的な側面での設計思想に尊敬の念を抱くと同時に,心底感謝しているのです。

(5)David Heinemeier。

Ruby on Railsの考案者として知られています。


Ruby on Railsは多くの派生フレームワークを生み,

そのおかげで,Webの世界で Rapid Application Development が机上の空論でなくなり現実のものとなりました。

おかげで私も食いぶちを得ています。


しかし,ただ単に「有名なフレームワークを作った人だから」という理由で尊敬するのではありません。


彼を尊敬する理由は,まだ Ruby の価値が世でほとんど認められていない2004年当時に,

プラットフォームとして Ruby のポテンシャルを見抜き採用した,

その先見性(というか観察眼)に驚嘆を禁じ得ないからです。


これはちょうどマンガで例えるなら,「エースをねらえ!」(テニス)で,

まともにラリーすら続かない段階の岡選手の将来性を宗方コーチが見抜き,

周囲の反対を押し切って育て上げ,才能を引き出し,

結局は最強プレーヤーとしてリリースできたその過程に似ています。


マネージャとしてそのような行動を取るのは,自分の首がかかってくるため,簡単なことではありません。


※マンガ等をあまり読まないため,up to dateな適切な例えが思い浮かびませんが,ご勘弁ください。:-(

(おまけ:6)id:jkondo

はてな社の創業者であり,創業の発端は「人力検索はてな」のリリースであるとの事です。


私達がこのページ(はてな上での各種Webサービス)を見れているのも彼のおかげですので,

尊敬というか感謝すべきエンジニアの一人に含めるのは良い事でしょう。




↑・・・ 「尊敬するプログラマー」についての,私の過去の記述はここまで。


以下で,この話を発展させてみよう。 ここからが本論。



わざわざ,こういう事を考える理由は?


「好きな○○を,理由付きで3つ挙げて下さい。」

と言われて,即答できるだろうか?


「尊敬する or 見習いたいと思っている○○を,5人言ってみてください。どのへんが共感するんですか?
彼らに近づくために,あなたはどういう努力を実際に今まで払ってきたんですか?」


この手の質問は,

相手の持つ経験,センス,目標,払っている努力,情報収集能力,総合的な判断力,考え深さ,説明能力,などなど

を,全てむき出しにさらけ出す。

  • あなたが好きなプログラミング言語のベストファイブは?理由は? 逆に嫌いなものは?どうして?
  • あなたがお気に入りのツールを5つ挙げて下さい。どう役に立ったの?
  • 成りたいものを3つ挙げて下さい。で,各々の目標のために,今どういう努力をしてるの?
  • 今まで訪問したWebサイトの中で,特に感動したものを10個まで列挙してみてください。感想付きで。どこが感動したポイントなのか具体化してしゃべってみてくれますか?具体的に指摘できるってことは,きっと,自分でそれらを再現してみたいとも思ってるよね?
  • これから伸びそうだと思うWebテクノロジーを5つ挙げてみて下さい。個人的な主観が入っても別にかまわないから。で,どうして伸びそうだと思うの?それぞれのブレイクのために,自分が何か貢献してみたいアクションはあるの?

この手の質問にすらすら答えられるか?

(一つだけ答えろ,ではなく,必ず複数を答えさせる。できればランキングで答えてもらう。1つだけ答える形式だと,あてずっぽうの思いつきで回答される可能性が高いから。)



料理をあまり食べたことがない人は,食べ物の「好み」を持っていない。

  • 「ユニークでも奇抜でも構わないから,とにかく好き嫌いのバリエーションを持っており,その根拠を自分なりにプレゼンできる」

というのは,

  • 「あれこれ試してみた結果,その人なりの価値観(=すなわち判断基準)をしっかり形成してきた」

という経験と努力の証しだ。


そしてさらに,好きこそ上手なれ,ともいう。

「好きなものがはっきりしている」という事は,「打ち込める対象を持っている」ということだ。

つまり,得意分野の存在の証明にもなる。


こういった点で自分をブラッシュアップするためには,日頃の意識が問われる。

  • 常に,自分なりに考えながら自分なりの意思決定を下しているか。
  • 新しい情報に接したら,既存の情報と比較したうえで,手持ちの情報ストックを適切にアップデートして,今後の意思決定に役立てようとしているか。
  • 自分自身というものを,客観的に整理して把握できているか。
  • ものごとの長所と短所,メリットとデメリット,楽しい部分と苦しい部分を全体として把握しようと努めているか。


で,この手の質問をあれこれ自分で作り出して,自分なりの解答をストックしておくことをお勧めするのだが,

たとえ回答がノーマルで無難な内容になるとしても,回答の根拠はユニークであれ。自分の経験と結び付けるとか。

そうでないと,

  • 模範的な解答集みたいなアンチョコを読み上げているだけではないか,ググっただけじゃないのか,自分で本当にそう思っているのではないっぽいな

というジャッジが下るから・・・。



関連する記事:

エンジニアとして,成功するための5つの秘訣 (3つのIN,2つのOUT)
http://language-and-engineering.hatenablog.jp/entry/20101113/p1


仕事がストレスなら,知識を増やせ。 SEの視点での書評:「勝ち残りSEへの分岐点」
http://language-and-engineering.hatenablog.jp/entry/20110411/p1


PHPプログラマの年収について
http://language-and-engineering.hatenablog.jp/entry/20081102/1225760359


デブサミ2013 参加レポート
http://language-and-engineering.hatenablog.jp/entry/20130214/DevelopersSummit...