技術者の成長
以下は、2008年4月1日 0:00 に 仙石浩明CTO の日記 にて公開した記事ですが、
4月1日限定公開なので、4月1日のうちにこちらへ全文引用しておきます。
本日4月1日、KLabエージェント株式会社を設立しました
本日4月1日、KLab株式会社の
100% 子会社として、
KLabエージェント株式会社を設立いたしました。
DSAS開発者の部屋を見て、 「いっしょにDSASをつくりたい」と言ってくださるかたは、 おかげさまで徐々にですが増えつつあります。 技術が心の底から好きで、 自身のスキルを最大限伸ばすにはどんな会社がいいのか真剣に考え、 そして KLab が考える 「技術者の成長にとって一番役に立つ会社」に共感して頂けるかたには、 ぜひ仲間になって頂きたいですし、 そういった方々に応募していただけるのは大変ありがたいことです。
ところが!
DSAS開発者の部屋を見て、 DSAS開発者と一緒に働きたいと希望していながら、 何を血迷ったか (失礼)、 転職斡旋会社に KLab への転職を依頼するかたが、 少なからずいらっしゃいます。
一般論でいえば、 転職斡旋会社 (正式名称で言えば、職業紹介会社) に求職者が登録するのは、 どの会社が自分に適しているか探しきれないから、ですよね? 世の中には星の数ほど会社があり、 個人の力では自分に適した会社を探しきれないからこそ、 職業紹介会社の存在意義があるわけです。
すでに転職したい会社が決まっているなら、 その会社に直接応募したほうが話が早いですし、 「転職エージェントは、誰の『エージェント』なのか?」ということを考えれば、 実は「話が早い」どころではないことが分かるはずだと思うのです。 したがって、 転職したい会社が決まっているのに転職エージェントを利用するというのは、 百害あって一利無し (暴言) であるはずなのですが、 私ごときには推し量ることができない、 海よりも深い理由が応募者にはきっとあるのでしょう。
そこで、一計を案じました。 KLab に直接応募するのをためらっている人のために、 KLab への転職を斡旋する会社を作ろう。 名付けて「KLabエージェント株式会社」。 もちろん、職業安定法が定める有料職業紹介事業者 (求人企業から斡旋料を頂くので、求職者は無料) ですから、 KLab 以外の求人企業への職業紹介も行ないますが、 一番の強みはもちろん KLab への転職斡旋が最速であること。 なんたってオフィスが KLab 内にありますから、 採用面接のスケジュール調整から待遇等の条件交渉まで一気通貫、 応募者にとって最も有利な KLab への転職をお約束します。
登録は、 担当者宛に直接メールで 今すぐ! お申し込み下さい。
先日書いた日記
「コミュニケーション能力の育成を第一とする教育が格差社会を救う」を
とても多くの方に読んで頂けた。
はてなブックマークに頂いたコメントを読むと、
多くの方に賛同して頂けたようで、ありがたいことである。
この日記の冒頭で言及した 「某大学情報系学部が主催した、企業と学生のマッチングイベント」 では、 多くの学生さん、先生方にお会いして名刺を配りまくったので、 そのうちの何割かのかたには、 この日記を読んで頂けたはずであり、 なんらかの反応を期待していた。
私はこの某大学情報学部の学生なのですが、 コミュニケーション能力の育成が最優先だったのかと驚きました。 1年生から研究室配属の事をいってるのですかね。 私からすると、コミュニケーション能力育成が最優先に行われている気はしません。YasuyukiMiuraの日記「コミュニケーション能力」から引用
率直な話、このようなトラックバックを頂けて、 「この某大学情報学部」の教育も捨てたものではない (失礼) と、 ほっとしている。
そもそもコミュニケーションは意味が広い
コミュニケーションは会話などを対象にしていることが多いけれど、 文章だってコミュニケーションの一つなんです、広義で見れば。同ページから引用
その通りだと思う。 Wikipedia「コミュニケーション能力」に倣って、 「コミュニケーション」を、 「論理的コミュニケーション」と「感情的コミュニケーション」に分けてみよう。
前者の「論理的コミュニケーション」は、 学生さんのうちに是非身につけておいてもらいたいコミュニケーション能力である。 トラックバック元の YasuyukiMiura さんも、 「技術力があってもそれが伝わらなければ意味がない」と書いているが、 自身の技術を高めるには、 論理的コミュニケーション能力が必須である。 技術が好きなもの同士、とことん議論すべきだろう。
その一方で、「感情的コミュニケーション」は、 若いうち (例えば 30歳前半まで) は手を出さないようにして欲しい コミュニケーション能力である。 特に研究者や技術者を目指そうとする若い人たちには、 周りの人がどう思うかなんかは気にせず、 (「空気嫁!」などの罵倒は無視して) 我が道を進んで欲しい。
バイトやサークルの方がコミュニケーション能力が必要な機会が 多いのではないかと思います。 私はバイトもしていないしサークルにも入っていないのでなんともいえませんが。
その後、コミュニケーションはエネルギーを多く使用するので、 若いうちはそのエネルギーを技術を身につけるために使用したほうがよい。 といった感じの話が続くのですが、そうでもないと思います。同ページから引用
おっしゃる通り、(非技術系の)バイトやサークルは、 感情的コミュニケーション能力を身につけるには最適な場だと思う。 感情的コミュニケーションの何が問題かと言えば、 「エネルギーを多く使用する」ことにあるのではなくて、 「フツーの人が手を出さないようなマニアックなことに興味を持つ」 機会が減ったり、 マニアックなことにどんどんのめり込むモチベーションが途切れがちになるからだ。 「他の人と同じように考え、同じようなことに興味を持ち、同じような娯楽を楽しむ」 ことで、 感情的コミュニケーションは円滑に進むようになる。
もちろん、感情的コミュニケーション能力は社会生活を営む上で、 必要不可欠なものである。 だからこそ、情報系の学生さんを採用しようとする企業の多くも、 感情的コミュニケーション能力を重視した面接を行なっているのだと思う。 しかし、「論理」と「感情」が時に対立するように、 「論理的コミュニケーション能力」と 「感情的コミュニケーション能力」も、 時として相反する能力である。 どちらかを伸ばそうとすれば、 もう片方は犠牲となる。
例えば、デール・カーネギーの不朽の名著:
人を動かす 新装版 (単行本)
デール カーネギー (著)
では、「人を説得する十二原則」のなかの最初の二原則として、
- 議論に勝つ唯一の方法として議論を避ける。
- 相手の意見に敬意を払い、誤りを指摘しない。
を挙げている。 どちらも、技術的なディスカッションを行なう上では、 致命的な障壁となる。 相手の感情を思いやったりせずに テッテー的に完膚なきまで論理的に相手を打ちのめすことは若者だけの特権であるし、 ぜひそういう「真剣勝負」を積み重ねる武者修行の旅に出て欲しいのだ。
研究者や技術者は、 「人を動かす」以前に「モノを動かす」必要があるのである。 どんなに人を説得する能力に長けていても、 コンピュータを思う通りに動かせないプログラマは失格であるし、 どんなに人に感銘を与える建物をデザインできても、 その建物が地震で崩れるのであれば建築士は失格である。
自分ではモノを動かすことができないのに口ばかり達者な評論家の言うことには、 どうか影響されないで欲しい。 研究者・技術者に必要なのは、 まず第一に他の人よりうまくモノを動かす能力である。 そしてぜひ信じて欲しいのだが、 人を動かす能力は歳をとってからでも身につけることができる。 デール・カーネギーの著書にも、そういう事例はたくさん出てくるし、 私自身、 デール・カーネギーの著書など、感情的コミュニケーションに関する本を読み耽るようになったのは、 KLab(株)の創業に関わるようになった 34歳になってからのことである。
某大学情報系学部が主催した、企業と学生のマッチングイベントに参加させて頂いた。 その学部では、 コミュニケーション能力の育成を最優先に考えているとのこと。 多くの企業は (情報系の) 新卒の学生さんに技術力よりは コミュニケーション能力を求めているというから、 そのニーズに答える形でこのような教育が行なわれるようになったのだろう。
だから責められるべきは大学側ではなく、企業側である。 なぜ情報系の卒業生に、 コンピュータ技術者としての素養ではなく、 コミュニケーション能力を第一に求めてしまうのだろう?
このイベントには、学生さん達による研究発表 (パネル展示) もあったのだが、 研究内容そのものよりも、 いかに分かりやすく説明するか、 さらにいえば、聞きに来た人にいかに満足してもらうか (ひらたく言えば、いかに「わかったつもり」にさせるか) に 重点を置いているという。 企業側参加者に配られたアンケート用紙は、 学生達の対応マナーの良し悪しや、 しゃべり方の巧拙の評価を問う項目ばかりが目立つものだった。 まるでファミレスやスーパーに置いてある「お客様アンケート」のようだったと 言ったら信じてもらえるだろうか?
もちろん私としては、 プレゼンの巧拙なんかには興味がなく、 まして「分かったつもり」状態を何よりも嫌い、 研究内容そのもの (特に発表者その人が研究活動を通して具体的に何を考えたか) に 興味があるわけで、 接客マナーの向上に腐心していた学生さん達には気の毒なのだが、 パネルに書いてあることそっちのけで質問しまくってしまった。
学生のうちにコミュニケーション能力を身につけていれば、 たしかに就職したときに会社に慣れるのも早いし、 与えられた仕事を要領よくこなすことができるだろう。 技術にのめり込んで人付き合いが下手なまま社会人になるより、 よっぽど明るい未来が待っていそうである。
そもそも技術や学問やその他、フツーの人が興味を持たないようなことに 熱中すること自体が不幸の始まりである。 ちかごろは「ヲタク」が表舞台に登場することも多くなったわけであるが、 富と名声を獲得した「ヲタク」は正に氷山の一角であって、 彼らの成功は累々と築かれた屍の上の砂上の楼閣であることを忘れてはならない。
他の人と違うことに興味を持てば、 当然フツーの人が楽しんでいる娯楽では満足できなくなる。 これはとても大きな不幸である。 新たらしモノ好き、今風の言葉で言えば アーリーアドプタ (early adopter) はとても損をする。 もう少し普及するのを待っていれば安く買えるのに、 どうしてわざわざ値段が高いときに新製品を買うのだろう? 一つ一つの支払額の増分は大したことがないかもしれないが、 塵も積もれば巨額になる。 パソコンの黎明期は、パソコン関連にウン百万円投資した、 などという話は普通に耳にしたが、 今ではパソコン関連に二十万円以上費やすことの方が難しい (しかも何十年も前のウン百万円と言えば今だとその十倍以上の価値がある)。
変わり者が損するのは、物を買うときだけではない。 そもそも社会全体に対するサービスが、 多数派のためのものである。 ロングテールを狙ったサービスなんてのは嘘っぱちで、 ほとんどのサービスは 20% 以下の少数派のことは切り捨てている。 テレビ放送に至っては、 全人口のせいぜい 50% くらいのニーズしか満たしていないはずだが、 どれだけのカネと貴重な電波資源がテレビ放送網の構築に費やされているか 考えてみたことがあるだろうか? 民主主義の原則は「最大多数の最大幸福」である。 多数派に属さない人が切り捨てられて損をするのは当然だろう。 テレビなんて低俗だから見る気がしない、 なんて平然と言っている人の気が知れない。 他の人と同じように振る舞わなければ損をするのである。
血気盛んな青年期を過ぎれば、新しいことには興味を持ちにくくなる。 若いうちにコミュニケーション能力を身につけて、 大勢の人と馴染めるようになっておけば、 フツーの人が手を出さないようなマニアックなことに 興味を持ってしまうリスクは避けられる。 他の人と同じように考え、同じようなことに興味を持ち、 同じような娯楽を楽しむことができれば、 どんなに幸せなことか。
もちろん弊害もある。 新しいことを始める人が現われなければ、当然進歩も止まる。 しかし、世の中こんなに便利になったのだから、 これ以上何を進歩させる必要があるというのだろう? どんなことにも弊害は付き物である。 最大幸福のためには犠牲にしなければならないこともある。
それに、とっぴなことを始める人がいなければ、 誰もがフツーに働いてフツーに労働時間に見合った報酬を受取るだけの社会になる。 労働時間では測りきれない価値を 唐突に生み出す人がいるから富が一部の人に集まって 格差が生まれるのであって、 だれもが平凡な生活をするに留まっていれば格差社会など生まれるはずがない。 みんなが同じように考え、同じように行動し、同じように幸福な画一的な社会、 それこそが格差が無いみんながハッピーな理想社会である。
みんなが同じことをしていては進化がないと言い張る人がいるかもしれないが、 そもそも「進化」とは何だろう? 人間の大脳皮質はなぜ他の動物に比べて極端に大きいのだろう? 科学技術を発展させるため? 決してそんなことはない。 大脳皮質の容量だけを考えれば、縄文時代も現代もさして差はないのである。
なぜ人間の大脳皮質はこんなに大きいのか? それはコミュニケーションのためである。 複雑・高度化した社会 (原始人の社会にも複雑な人間関係があったと考えられているし、 集団生活を営む哺乳類の多くには様々な複雑な行動様式が観察される) をコミュニケーション能力を駆使して要領よく立ち回り、 より多くの子孫を残せた個体のみが遺伝子を次世代に伝えることができる。 平たく言えば、集団の中で異性に「モテる」方向へ、進化圧が働くのである。 人間を人間たらしめる本質はコミュニケーション能力にある。
一口にコミュニケーション能力というが、 情報処理能力としてみると驚異的な能力である。 相手の顔色を素早く読んで、その場の空気に最適な話題を振り、 わずかな声色の変化から相手の思考を読み取る。 我々はほとんど意識すること無く、 相手のわずかな目の動きやしぐさを読み取って コミュニケーションを行なっているが、 「意識せずに行なえる」から大したこと無いと思っては大間違いである。 下らない話に終始する井戸端会議ですら、 現在のコンピュータでは足下にも及ばない超高度な情報処理の賜物なのである。
それが証拠に、 コミュニケーション能力の欠如が、 超人的な能力の開花につながることがある。 つまり本来ならコミュニケーションという高度な情報処理をこなすために あったはずの大脳皮質の一部が、 別の目的に使われてしまうために発症する知的障害の一形態である。
サヴァン症候群(savant(仏語で「賢人」の意) syndrome)とは、 知的障害を伴う自閉症のうち、ごく特定の分野に限って、 常人には及びもつかない能力を発揮する者を指す。 サヴァン症候群の共通点として、 知的障害と共に異常といえるほどの驚異的な記憶力・表現力を持つことが挙げられる。
天才の多くに、 コミュニケーションに関して大なり小なりの難があるのは偶然ではない。 コミュニケーションという超高度な情報処理能力の一部を放棄することによって 確保した「脳の空き容量」を使って、 常人には成し得ない偉業が達成されているのである。 そして忘れてはいけないのは、 天才の多くが不幸なまま一生を終えている点である。 死んだ後に全世界の尊敬を一身に受けたところで後の祭りである。
若いうちからコミュニケーション能力を磨き、 大多数の人が興味を持たないようなことには決して手を出さず、 フツーの人と同じことに考え、同じように振る舞うことこそ、 幸せな一生への最短経路であり、 大多数の人にこのような幸せな人生をおくらせるような教育を行なうことこそが、 格差のない平和な社会への唯一の道であろう。
大変遺憾なことではあるのだが、 私自身は中学生の時に当時まだ大変珍しかったパソコンに出会ってしまった。 パソコンにのめり込んでいったために、 自身のコミュニケーション能力を伸ばす努力を怠ったのは、 目新しいものに惹かれる若さゆえのあやまちだったと認めざるを得ない。 当時パソコンに興味を持った人は全人口の 0.01% にも満たなかったはずで、 その後マイナー路線を突っ走ってしまった。 通った中学校に、 たまたま「マイコン部」があった不幸な偶然に感謝したい。
(続く)
ふと立ち寄った本屋で、たまたま手にした本:
プログラミングでメシが食えるか!?
―成功するプログラマーの技術と仕事術 (単行本)
小俣 光之 (著)
を読んでみて驚いた。 私がプログラミングについて漠然と考えていたことを、 とてもよく整理した形で説明している。 ふだん私はこの手のコンピュータ関連「読み物」をほとんど読まないのだが、 書いてあることにいちいち共感してしまって、 そのまま一気に読んでしまった。
プログラミングに関して、ここまで私と考えが似通っている本を 今まで読んだことがなかったので、 著者の小俣さんにメールを送ったところ程無く返信があり、 直接お会いして色々お話することができた。
メールの中で小俣さん曰く、 「本書は批判的なコメントが多い中、共感いただけて本当にうれしいです」。 例えば Amazon のカスタマーレビューには、
内容が古すぎます, 2007/1/29
この本の前半はプログラミングスキルの説明をしているのですが、 いかんせん内容が古すぎます。
(中略)
それと本書では複数の開発言語を勉強することを 時間のムダであるかのように書かれていますが、これは大きな誤りです。 優れたプログラムを書くには多くのプログラミング言語を理解し、 その言語に合わせたプログラミングを行なわなければなりません。
タイトルに惹かれて本書を買いましたがその答えはどこにも書かれていませんでした。 まさか最後の章に書かれている「固有技術を磨く」が答えなんでしょうか? 1つの技術に固執すると、その技術が使われなくなったタイミングでメシが食えなくなります。
全体的にがっかりな内容です。
という批判が載っている。 まあ、誰しも自分が考えたいようにしか考えないものだし、 自身の考えが否定されるような本に対しては、 強く反発するのも仕方がないところだと思う。 私自身、私のブログに対し次のような批判的なコメントをもらったことがある。
3. Posted by 20代練習生 2006年07月07日 06:37こういう記事は老害でしかないと思うんですが。
(中略)
昨今の情報が過剰な状況では、筋道立てて何かを学ぶなんて不可能です。 というか系統立てて学ぶなんて愚かなことです。
あらゆる分野でコミュニティが確立されていて、 何か疑問や問題点があってもそこへポストすれば即座に解決可能です。
こういう時代では、芯の通った骨太で系統的な知識よりも、 断片的で、それ自体では応用も利かないようなぽつぽつとした知識を 多くもっていることの方が価値があると思います。
「優れたプログラムを書くには多くのプログラミング言語を理解し、 その言語に合わせたプログラミングを行なわなければならない」とか、 「断片的な知識を多くもっている方が価値がある」などと思い込んでいる人に、 「その考え方は間違っている」なんて言ってもよりいっそう反発されるだけだし、 そもそも道を誤ったエンジニアを救うよりは、 将来伸びる素質を持ったエンジニアを育てる方が楽しいわけで、 間違った考え方を正してやる義理はないとは思う。
しかしながら、間違いを正してやることにより 伸びる可能性が出てくる人であれば話は別である。 また、その可能性が出てくる人というのが 自分の部下だったり一緒に仕事をする仲間だったりすればなおさらだろう。 というわけで、
組織を強くする技術の伝え方 (新書)
畑村 洋太郎 (著)
を読んだ。「技術は時代とともにダイナミックに変化するが、 その本質部分がきちんと伝わらないと、 大きな変化に対応ができない。 だからこそ『技術を伝える』ことについて徹底的に考え尽すことが必要」と 本書は説く。大変感銘を受けた。特に
技術というのは本来、「伝えるもの」ではなく「伝わるもの」なのです。
(中略)
伝える側が最も力を注ぐべきことは、 伝える側の立場で考えた「伝える方法」を充実させることではありません。 本当に大切なのは、 伝えられる相手の側の立場で考えた「伝わる状態」をいかにつくるかなのです。第2章 伝えることの誤解 53ページから引用
は、「技術を伝える」ことの本質を見事に言い表しているように思う。 間違った考え方を正してやるには、 まず相手の頭の中に「伝わる状態」をつくらねばならない。
何かを若い人たちに伝えようとしたときに、 「内容が古すぎる」とか「老害」だとか反発する人はいつの時代にもいる。 もちろん古くなって伝えるに値しなくなるものもあるが、 たとえ日進月歩のコンピュータ/インターネットの世界であっても 不易普遍なものはある。 そういったものを「古い」という理由だけで学ぶに値しないと思い込んでいる輩は、 畑村氏が言うところの「偽ベテラン」ないし「偽ベテラン予備軍」なのであろう。
長年やっていれば、誰でもそれなりの技術を習得できます。 極端なことを言うと、 どんなに能力がない人でも そのときの自分の状態にあった程度のことを実践していけば、 その積み重ねの中でやがてはなんらかの技術を習得することができます。
しかし、このようなものは本来、技術の伝達とはいえません。 これを技術の習得というのも不適切で、 ただ単に技術に慣れただけというのが正確な言い方でしょう。
じつはこのように、 経験と慣れだけで技術を獲得してきた人は世の中にたくさんいます。 私はこういう人を「偽ベテラン」と呼んでいます終章 技術の伝達と個人の成長 170ページから引用
どんどん移り変わる表層的な技術や、 応用は効かないが当座の役には立つ断片的な知識は、 検索一発で探し当てられる便利な世の中だからこそ、 「技術の伝達」の重要性はますます高まっているのだと思う。
「成功している中小企業が持つ5つの要素」から引用:
「Five Secrets of High Performing Organizations」という報告書(PDF)が 公開されていました。 この報告書はアメリカで10〜100人規模の企業300社以上を調査して、 成功している企業が持つ要素を5つにまとめています。 さらに、それぞれの要素を実現するためにはどのような努力をすれば良いかを 解説してありました。
...
4. 戦略的に技術を利用する
本当は何が必要かをわかるまでは課題に対して利用する技術を特定してはいけません。 成功している中小企業は、技術を使う事が目的ではなく、 戦略を達成するために技術を利用する事を知っています。 また、一度使うと決めた技術に対する調査も徹底して行われます。 調査には、技術そのものに対してだけではなく、 効果を最大化するためのトレーニングも含まれます。
誠にごもっとも。 目的は課題を解決することであって、技術はその手段に過ぎない。 いま自社にある技術を中心に考えてしまうと、 それに引きずられ課題を見失うことになりかねない。 だから技術のことはいったん忘れて何が目的なのかしっかり考えなければならない。 目標が明確になった時、 自社が現有する技術と必要な技術との間に乖離があれば、 自社の技術者たちはスキルシフトか職探しを求められる。
合理主義を貫こうとする限り、 この考え方には反駁の余地がない。 技術者が経営方針に振り回され続け、 その結果スキルを充分に伸ばせなかったとしても、 会社は技術者養成機関ではないのだからその責は負わない、 という考え方は首尾一貫している。
問題は、会社が合理主義を貫こうとしている現代においても、 技術者の側が合理主義を貫ききれていないことにある。 「成功している中小企業が持つ5つの要素」の 技術者版「成功している技術者が持つ5つの要素」が必要であろう。
4. 戦略的に会社を利用する
本当は何が必要かわかるまでは 自身の技術 (あるいはこれから身につけようとする技術) に対して 利用する会社を特定してはいけません。 成功している技術者は、 会社に貢献することが目的ではなく、 自らのスキルを向上させるために会社を利用することを知っています。 また、一度入社すると決めた会社に対する調査も徹底して行ないます。 調査には、会社そのものに対してだけでなく、 効果を最大化するための会社の制度および風土なども含まれます。 経営者の技術に対する考え方や、 昇給・昇格などの人事制度や、 どのような人物が自分の上司になるか、 あるいは互いに切磋琢磨できるような同僚がいるかどうかは、 自らのスキルをどれだけ伸ばすことができるかに大きな影響を与えるからです。
経営者にとっては、事業の遂行が目的であって技術はその手段に過ぎない。
技術者にとっては、自らの技術スキルの向上が目的であって
事業はその手段に過ぎない。
スキル向上に役立たなくなった仕事はどんどん捨てるべきである。 なぜなら技術スキルこそが、技術者にとって最大の資産であるからだ。 目先のキャッシュフロー (若いときの給料) にとらわれることなく、 将来のキャッシュフローを生み出すストックをどうやって積み重ねていくかを第一に考えて欲しい。
プログラマの道を目指すのに適した時代、適していない時代、 というのがあるように思う。 もちろんプログラマに限らず、あらゆる職種、それぞれについて、 適した時代というのがありそうだ。 最初に断っておくが、 適していない時代だからといって、その職種を目指すな、と言っているわけではない。 ただ単に、適していない時代であることを意識し、 適していないことを覚悟して ;-)、その道を目指すべきだ、という意味である。
現代は、プログラマを目指すのには適していない時代だとつくづく思う。
そんな馬鹿な、インターネットの普及によって、何でも簡単に調べられて、 その気さえあればいくらでも高度な勉強ができて、 いくらでもプログラマとしてのスキルアップができるではないか、
という反論が聞こえてきそうであるが、 もうしばらく黙って私の話を聞いて欲しい。
「自分なりに体系化するセンス」で、長久氏曰く:
「仙石浩明の日記」版「断片的な知識と体系的な知識」を見ると、 こういう学生時代を過ごして来た人って、 私の知人を見る限り 「未踏」級なんですよね。 で、やっぱり1回目の未踏に採択されています。 また、学習指導要領的には、 私の1世代前で、最も勉強が難しかった世代です。 今と違って、誰でもプログラマーになれた時代でもありません。 恐らく、仙石氏の同世代で普通のプログラマーって、 私の世代の普通のプログラマーより、 はるかにパフォーマンスが高いはずです。 更に世代を下がって、今の20代前半の普通のプログラマーって、 仙石氏の世代から見て、ありえない人たちに見えるのではないかと思います。
あまり議論されているのを見たことないのですが、 世代の違いって、すごく大きい気がします。 ソフトウェア技術者って、 仕事でハンマーとか使わないから(?)、 後輩に優しかったり、 職場に同じ年代が集まりやすいので、 世代を超えて積極的に交わろうとしなかったり、 世代間の断絶みたいなものがある気がするのです。 なので、私は、プロレスのように、積極的に世代闘争するべきだと思うんですよね。
「未踏」というのは、 「天才プログラマー/スーパークリエータ」を発掘支援することを目的に IPA が実施している 事業で あるが、 採択された他の方がどうだかはよく分からないが、 少なくとも私自身はとても「天才」とか「スーパー」とか呼ばれるようなレベルでは 全然ないと思う。 これは決して謙遜というわけではなくて、 自身がそういうレベルではないと思うからこそ、 プログラミングのみに集中するのではなく、 「取締役CTO」みたいなことをやったり、 マーケティングをかじってみたりと、 プログラマとしては道を踏み外したことを専らやっているわけだ。
そんな私が、いやしくも IPA のような権威に認めてもらえるように なってしまったのは、 ひとえに私がプログラミングを始めた時代が、 プログラマを目指すのに適した時代だった、 という幸運に恵まれたためだったからと思う。 私が初めてプログラムを書いたのは、 今から 30年近く前、中学1年生の時である。 1978年当時は、まさに長久氏がおっしゃる通り、 今と違って、誰でもプログラマーになれた時代ではなかった。
そもそもコンピュータ自体がまだまだ珍しい存在で、 私自身、もし中学校に「マイコン部」が無かったら、 コンピュータに出会うのはもっと後になってからだったとは思う。 コンピュータに出会う確率が低かった、 という意味で誰でもプログラマーになれるわけではなかったわけであるが、 それ以上に、当時の「マイコン」には少なくとも普通の人にとっては、 なんの魅力も感じられない代物だった、というのが重要な点である。
今と違い当時の「マイコン」は、大したことはできなかった。 高々 20Kバイトの BASIC インタープリタに、 最大 8Kバイトの RAM に記憶させた BASIC プログラムを実行させて、 40x25 キャラクタディスプレイ (つまりビデオRAM はわずかに 1Kバイト! もちろん表示できるのは半角文字だけである) に 表示させてできることなぞタカが知れている。 慣れない BASIC言語でプログラム書いてはバグに悩まされ、 散々苦しんだ挙げ句に得られる見返りは、あまりに少なかった。 自分で言うのもアレだが、 こんな何の役にも立たないものが好きになるのは、 よっぽどの物好きだけだったろう。
実際、私の同級生の中には、 プログラミングに興味を持って BASIC 言語を学ぼうとした人も沢山いたが、 大多数の人は何をすき好んでこんな七面倒くさい「言語」を学ぶのか、 到底理解できず、すぐ興味が別のものへ移っていった。 中学を卒業する頃、まわりを見渡してみると、 BASIC 言語を使いこなすレベルまで到達したのは私だけだったと記憶している。 私以外の同級生が BASIC 言語も使えないくらい低能だった、 というわけでは決してない。 それどころか私より明らかに頭がいい人も沢山いた。 それでも BASIC 言語一つ覚えられなかったのは、 単にプログラミングをするということに意義を見いだせなかっただけに過ぎない。 彼らが現在の中学生だったなら、 余裕で Web 2.0 時代のプログラミングをバリバリこなしていただろう。
つまり、誰でもプログラマーになれた時代ではなかったというよりは、 誰もプログラマーになろうとは思いもしなかった時代だった。 しかし、逆説的ではあるが、 苦労に見合うリターンが全く得られないからこそ、 自分がプログラミングが好きだということを確認できたという点で、 当時は「プログラマを目指すのに適した時代」だったと思う。
それに比べ、 現在のように少しでもプログラミングができれば給料までもらえてしまう、 ある意味プログラマが必要以上に優遇されている世の中では、 好きだからプログラミングをするのか、 それとも単に食うために(仕方無しに)プログラミングするのか、 曖昧になってしまうわけで、 「プログラマを目指すのには適していない時代」なのだと思う。
長久氏がおっしゃるように、 「仙石氏の同世代で普通のプログラマーって、 私の世代の普通のプログラマーより、 はるかにパフォーマンスが高いはず」というのは (実際に統計をとったわけではないが実感としては) 正しくて、 その原因は、 当時の「普通」のプログラマは、 みな例外無くプログラミングが三度の飯より好きだったし、 プログラミングに向いている人だけがプログラミングをやっていた、 ということにあるのだろうと思う。
昔話に終始していては、現在の若い人たちの参考にならないだろうから、 この話を現在に適用すれば、次のようになるだろう:
今の時代は、 プログラミングをすれば充分すぎる見返りが得られるが故に、 自分がプログラミングに向いているのか、 あるいは単に見返りのためにプログラミングをしているのか見極めるのが、 とても困難な時代である。 プログラマを目指すのもいいが、 向いていないことを後になって自覚して 「35歳で定年を迎える」ことにはなってほしくない。 現在は明らかにプログラマを目指すのには適していない時代である。 では何を目指すのに適した時代だろうか? 1978年当時の「マイコン」に相当するものが、 今の時代にもきっとあるはずである。 若い感性でそれを見つけ出し、 誰もが目指さないからこそチャンスがあるんだと信じて、 自分に向いていることをどこまでも追い求めて欲しい。
好きなこと = 他の人に勝てる分野
「負けることを恐れるあまり、勝つことに価値を見いだせなくなってしまった人たち」に 頂いたコメントを見ていて、 あらためて日本語の難しさを痛感する (^^;)。
「勝てることが好き」 と 「勝てるから好き」 と 「勝つことが好き」
文字ヅラはとても似ているが意味はだいぶ違う。
私が書いたのは「勝てることが好き」だったのだが...
「勝つ」こと自体が好きと、「勝てること」が好きでは、
もちろん全然意味が違うし、
どんな分野であれ最初から「勝てる」ことなどないのだから、
勝てる「から」好き、というのもちょっと違う。
「好きだから注力する」⇒「注力するからより上達する」⇒ 「上達を実感するから、より好きになる」 という正のフィードバックによって、 しだいに勝つことができるようになるのである。 「勝つ」は結果であって、理由ではない。 つまり「勝てるから好き」ではない。 もっとも、「勝ちたいから注力しているうちに好きになる」ということは あるが。
やりたいことを見つけるにはどうすべきか?
Mimiteru さまのコメントから引用:
業務も職種も世の中にはたくさんあります。 やりたいことがわからない人は、 本当にプログラマがやりたいのかさえも漠然とした意識を持たないのかもしれません。
その通りだろう。 何がやりたいのか見つけるには、 好きでなくても手当たり次第に挑戦してみることも必要である。 何事も始めてみなければ始まらない。
ところが、挑戦してみることを勧めると、 「時間ができたら勉強したい」と答える人のなんと多いことか。 率直に言って、こう答えた時点で好きになれる可能性はゼロである。 何事も始めてからの方が困難なことが多い。 まして勝てるようなレベルを目指すなら、 好きでなければやってられないことも多いだろう。
世の中は、何をするにしても道半ばで、進むのを止めてしまえと 囁く誘惑に満ち満ちている。 「時間がない」ことを「いいわけ」にして始めないようなら、 仮に始めたとしても、困難にぶち当った途端、 山のような「いいわけ」を持ち出して自己を正当化し、 進むのを止めてしまうだろう。
好きなことがあるなら、時間なぞなくても始めてしまうだろうから、 こんな「いいわけ」は言わないだろう。 好きなことがないなら、そして何かやりたいことを見つけたいと本当に思うのなら、 「いいわけ」を口にしたくなっても思い止まるべきだ。 最初から「いいわけ」を口にしていて好きになれるはずがない。
勉強を始める最適な日は、今日という日をおいて他にない。
「『他の人に勝つ』ということに価値を見いださない人たち」に頂いたコメントから発展して、 /.j 方面でいろいろなコメントを頂いた。 いろんな考え方の人たちと議論することによって 考えが深まるので大変ありがたいことだ。 曰く:
この方は競争に勝つために勝てる分野を選んで それを好きになるという習慣を自分の中に構築して行った結果、 それがあまりにも固定化された「大前提」になってしまって、 そこに至るまでの「自分がなにをしたいのか」について ちゃんと考えることを止めてしまっているのではないかと思います。
どうやら昨今の事件によって「勝つ」という言葉の持つ負のイメージが 大きくなってしまっているようだ。 なにごとにも光と影の面がある。 勝つ人がいれば当然負ける人がいる。 負ける人のことに焦点をあてれば、 勝つことに価値が見いだせなくなるのは当然のことだろう。
では、「勝つ」という代わりに「人より『上手く』やる」と言い換えたらどうだろう? 例えば、「私は普通の人より効率的なコーディングができる」。 私よりコーディングの効率が劣る人は「負け組」だろうか?
もちろん違う。 単にコーディングに向いていないだけなのだ。 自身の適性を早く把握して、 自分に向いていることを見つけ出し、 それを好きになって取り組めば、 おそらくその分野では私より「上手く」やることができるようになるだろう。
「勝ち組」は一割以下だという。 ほとんどの人は「負け組」になってしまうから、 そもそも「勝ち負け」にこだわるのはよくないと、 まるで小学校の徒競走みたいなことを言う人がいる。
しかし、なぜ負けた人がその分野にこだわる必要があるのか? ある分野で負けても、他の分野で見返してやればいいではないか。 みんながそれぞれ自分に一番向いていることをすれば、 「勝ち組」の割合はずっとずっと増えるだろう。
これこそ、それぞれの人の多様な能力を伸ばすことをめざす 「ゆとり教育」の目標であったはずだ。 ところが現状は皆が自身の個性を無視して同じようなことを目指す。
徒競走でビリの子が出るのが問題なのではなく、 みんなを運動会に等しく駆り出すことが問題なのである。 勝ち負けをはっきりさせなければ誰が運動能力に優れ、 誰が向いていないのか曖昧になってしまう。
受験戦争が問題なのではなく、 大学で学ぶ意欲も能力もない子まで大学へ進学させようとするのが問題なのである。 大学で学ぶ意欲も能力もない子でも、 受験テクニックを無理矢理覚え込ませればテストの点は上がるかもしれないが、 そういった子たちが大学に入って何をするというのだろう。
お金儲けが問題なのではなく、 自身の適性を無視し、自分がやりたいことを見失って、 向いていない仕事を嫌々やっていることが問題なのである。 「プログラマ 35歳 定年説」に書いたように、 できるだけ早い段階で勝ち負けをはっきりさせ、 自分に向いていることを見つけるべきなのである。
「成長する秘訣は、 今の仕事を捨てて自分を変えること」に トラックバックを頂いた。 曰く:
ものの考え方にはストック…積み重ねにより大きな利益を得るっていうのもあって、 ストック、フローのどちらをよしとするかはケースバイケースなのでしょうが、 今の時代はフロー的なことが求められるのですかね。
...
ただ、エンジニア稼業というのはスキルの蓄積が実績として重要視される ストックな生き方を要求されることも多いかな。
蓄積には、ストックが増える積み重ねと、 増えない積み重ねがあるような気がしている。 ストックが増えるのであれば蓄積は重要だが、 ストックが増えなくなってきた仕事は捨てることも検討すべきだと思う。
そうでないと、 「これだけいろいろ経験を積んでスキルも蓄えたのだから、 当然評価されてしかるべきだ」という思考停止状態に陥ってしまう。 事実、面接で長大な職務経歴書を提示して、 一つ一つ説明して下さるかたがいらっしゃるが、 そんなものよりたった一つの深い経験の方が重要なこともあるのだ。
「ストック、フローのどちらをよしとするか」という話にしてしまうと、 当然重要なのはストックで、フローはそのオマケに過ぎない、 ということになってしまうが、 そういう問題ではない気がする。 ストックが大事なのは「エンジニア稼業」に限らず、 どんな職種でも同じなのではなかろうか。
CTO日記に書いた 「断片的な知識と体系的な知識」を、沢山の方々に読んで頂けた。
この季節、新卒(見込み)の学生さんを数多く面接してきたのですが、 新卒の段階で既に とてつもなく大きな差がついていることに改めて驚かされました。
今後大きく成長する可能性が感じられる人と、 早くも既に成長の限界が見えてしまっていて、 可能性がほとんど感じられない人、という点では、 もう既に逆転不可能とさえ思えるような大差がついてしまっています。
可能性が感じられる人、というのはつまり、 自分が何をしたいか明確に分かっていて、 かつその分野の体系的な知識を身につけている人たちです。 現時点ではそんなに多くを習得しているわけではないにせよ、 体系全体を理解していますから、自分がどこまで知っていて、 未知の領域がどのくらいあるか、感覚でつかんでいます。
じゃ、オマエは学生の時どうだったんだ、という声が聞こえてきそうなので、 私の学生生活を振り返ってみる。 コンピュータの分野が好きだと思ったのは中学一年の時で、 体系的な知識を学んだのは大学の専門課程に進んでからである。
私が初めてコンピュータに触れたのは、中学一年生の終わり頃である。 「マイコン部」なるものがあって、 3台のCommodore PET 2001を 20人以上の部員で使っていた。 しかも「部活動」は週一回 50分ほどだったと記憶しているので、 PET 2001 に触れるのは、二週間に一度、25分だけ、 しかも二人で一台を使う形だった。 最初のうちは BASIC を使って簡単なゲームなどを書いていたが、 6502 のインストラクションセットをどこからか見つけてきて (どこで見つけたのだろう? 当時はその手の資料を中学生が見つけることは、かなり難しかったはず)、 ハンドアセンブルしたコードを BASIC の poke 文でメモリに書いて 実行させて遊んだりした。
初めて BASIC の入門書を読んだとき、 将来プログラミングを仕事にできたらどんなにいいだろう、 と思ったのを今でもはっきり覚えている。 今からは想像もつかないが、 1978年当時の中学生にとって、 一人一台マイコン (当時の呼び方 ;) を占有できるなんてことは、 とうていかなわない夢だった。
高校になってようやく MZ-80K2E を購入した。 日経Linuxに執筆した連載の枕から引用:
私が最初に購入したコンピュータは, シャープのMZ-80Kシリーズの最後の機種K2Eでした。 RAMは32Kバイト,CPUはZilog Z-80 2MHzで, BASICインタプリタをROMではなく, カセット・テープから読み込む方式であるため, BASIC以外の言語への対応が容易という, 当時としては画期的なパソコンでした。 BASICライクなアセンブラBASE-80を使って, ゲームやモニターを作っていたことを思い出します。 その後,CP/Mを移植するためにBIOSを記述する際にも, BASE-80を使いました。
高校時代は、マイコンのハードウェアに興味を持ち、 MZ-80K2Eのプリント基板の配線を目で追って回路図を起こし、 それをもとに Programmable Character Generator や Z80 DMA を追加するなどの改造を行なった。 また、 コンピュータ以外の分野では、 物理や哲学に興味を持ち、 1年に百冊以上読む、という目標を立てて 手当たり次第に読書したこともある。
コンピュータにのめり込んだ高校時代だったため、 大学に進むとき、物理, 数学, 哲学などの道に進むことも (一瞬 ;) 考えたのであるが、 コンピュータを学んだといっても所詮は独学に過ぎず、 まだまだ学ぶことがあるはずと思い直し、情報工学科に入学した。
1回生のときは、Z-80 を使ったコンピュータの手作りに熱中した。 ユニバーサル基板を何枚か使って、 それぞれ CPU ボード、I/O ボード、DRAM ボード、などを順に作り、 MZ-80K2E をキャラクタ端末にして CP/M を走らせた。 2回生のとき、ソフトウェアハウスでアルバイトするようになり、 MacVJE などを開発した。 私にとって初めての、 まとまった量のプログラミング (C 言語で 5万行くらい) 体験だった。
このあたりまではあくまで独学であり、 断片的な知識の寄せ集めである。 もっとも、現在のようなインターネットなどなかったから、 全て (数少ない) 専門書を読みあさって仕入れた知識であり、 Web ページで得られる知識よりは、マシだったかもしれない。 当時のコンピュータ関係の専門書は、 大型書店 (大阪梅田の紀伊國屋や旭屋など) にしかなく、 それも数えるほどしかなかった代わり、 ほとんどがマトモな本だった。
3回生になって初めて情報処理の基礎を学んだ。 今まで経験則で回路図を設計していたのが、 カルノー図を使うとシステマチックに最適な回路を設計できる、 ということを学んで感動し、 独学の限界を思い知った。 なにせ、それまではコンピュータの設計というと 数週間かけて行なうものだと思っていたのに、 教科書で説明されている方法だと数時間しかかからないのだ。 私が初めて大海を垣間見た瞬間かもしれない。 そのとき読んだ教科書がこれ:
Switching and Finite Automata Theory
Zvi Kohavi
McGraw-Hill Education ; ISBN: 0070993874 ; (1979/03/01)
ボロボロになるまで読んだ (まあ、もともと製本が粗末というのもあるが ;)。
CTO日記のほうに、 興味深いコメントを頂いた。 質問者のかたは、 こちらの日記も読んで頂いているようなので、 こちらで続きを書こうと思う。 「分からない時は、『分からない』と言おう」で書いた、 技術者がスキルアップするには、 分からないことがあるときは臆せず質問できる度胸こそ必要、という 私の考えに対するコメントであるが、曰く、
ここで言われている『分からない』という言葉の中には 「知らない」と「理解できない」の二つの意味が含まれているということです。
「知らない」ことについては、(自分を含めて)みんなが知らないことなのか、 自分だけが知らないのかすら判断できないから なかなか質問ができないのだと思います。 聞いた内容によっては(たとえ説明したとしても) そもそもその場で話している内容はまったく分かってないんだな、 と思われたりします。聞くのは危険だと思います。
「理解できない」ことについては聞いた内容について 自分の中で消化できないわけなので、 恥ずかしがらずに質問できるような人になれたり、 環境ができればいいと思います。
「知らない」ということと「理解できない」ということは確かに違う。 私が書いたのは、「理解できない」ということについてであって、 「知らない」ということについては言及していなかった。 「理解できない」ことについては、「恥ずかしがらずに質問できるような人」に なれたらいい、と書かれているので、私と同意見のようだ。
ところが、「知らない」ことに対する考え方は私と全く違うようだ。 この質問者のかたは、「理解できない」より「知らない」ことの方が恥ずかしい、 という感覚のようだが、 私の感覚は全く逆である。 つまり、「知らない」ことは全く恥ずかしいことではない、と私は思う。 だからこそ、「知らない」ことについてはあえて言及していなかった。
「知らない」ということは、たまたまそのことについて 知る機会がなかった、というだけのことである。 誰でも最初は初めてである。 今がその初めての機会であるなら、さくっと質問して 知ればいいだけのことであろう。 どうして今まで知る機会がなかったことが恥ずかしいのであろうか?
「当然知っておくべきこと」だから?
では、なぜそれを「当然」と思うのか?
あたかも、どこかの誰かが決めた、
「技術者ならば常識」というのがあって、
それを知らないのは技術者として失格、とでも言いたいのだろうか?
全くもって馬鹿げている。 たとえその人が「常識」を知らなかったとしても、 素晴らしい能力を持っているかもしれないではないか。 知識の多寡で技術者の能力を推し量ることなど無意味である。 仮に、「常識」を知らないことを理由に馬鹿にする人がいるのであれば、 所詮そのレベルの技術者なのであろう、相手にする必要はない。
一方で、「理解できない」ということは、場合によっては恥ずかしいことである。 もしかすると、質問したことによって、 自身の理解の限界、あるいは自身の理解の速度の遅さを 思い知ることになるかもしれない。 その限界があまり高いレベルでない場合は、 つまり平均的な技術者がすぐ理解できることが、 自分にはすぐには理解できないのだとしたら、 その分野は自分には向いていないということになるだろう。
いままでそのことに気付かなかったのは恥ずかしいことであるが、 なにごとも遅すぎるということはない、 その分野はあきらめて、自分の得意な分野に集中すれば良いだけである。
今までの自分を振り返ってみると、 ずいぶんいろんな仕事を捨ててきた。 一番大きかったのはもちろん大企業の研究所での研究生活を辞めて、 (株)ケイ・ラボラトリー (KLab の当時の社名) の創業に参加したことだが、 その後も、
- ケータイ上の Javaアプリの開発
- サーバ側の Webアプリケーションの開発
- クラスタリングサーバの構築・運用 (後の DSAS)
- そして KLabセキュリティ(株) への注力
と、どんどん仕事を替えてきた。 部下が成長してきて、私の代わりがつとまるようになったら、 私はもうその仕事はやらない。全てその部下に任せてしまう。 なかなか思う通りにいかないことも多いが、 他の人ができる仕事は自分ではやらない、という原則を自身に課してきた。
同じ仕事をやり続ければ次第に要領が分かってきて、 よりスマートにこなすことができるようになるが、 しだいに成長の度合いは鈍るだろうし、 なにより部下が育たない。 ある段階まで来たら仕事は部下に譲って、 自分は違うことをすべきだろう。 そうすれば新しいチャレンジができるし、 自分を大きく成長させることもできる。
今日、本屋で他に読みたいと思う本がなかったので仕方なく手に取った本:
千円札は拾うな。
安田 佳生 (著)
をパラパラと見たら、 まさに私が考えていたようなことが書いてある。 引き込まれて思わず一気に読んでしまった (私がいきなり本に没頭し始めたので、一緒にいた妻が不機嫌になってしまったが)。
久々に、いい本に出会えた感じがした。 さっそく私の参考文献リストに追加した。 それにしても、この本のタイトルはいただけない。 以前からこの本が平積みになっていたのは知っていたのだが、 タイトルからは食指が動かなかった。 そもそも、「お金を拾うな」というのは当たり前ではないか、 と思ったからだ。たとえ一万円札だろうと、 何か高価そうな品物だろうと、私は拾わない。
私の参考文献リストに加えていて気付いたのだが、 安田氏の著作はすでにリストにあった:
採用の超プロが教えるできる人できない人
安田 佳生 (著)
この本もオススメである。私の面接のやり方は、 この本に影響を受けた面がたぶんにある。
資産とは、お金を入ってくる源泉。 お金が出ていくほうは負債。 持ち家を資産と思っている人も多いが、 持ち家に自分で住んでしまえば、 修繕費などでお金が出ていくことはあっても、 お金が入ってくることはない。だから負債。
金持ち父さん貧乏父さん
ロバート キヨサキ (著), 白根 美保子 (翻訳)
で述べられているように、 お金のしくみはいたって単純である。 少なくとも普段、技術者たちが相手にしている高度な技術に比べたら、 遥かに遥かに単純である。 負債を減らして資産を増やせば、 入ってくるお金が増える。 ただ、それだけ。
こんなに単純な理屈なのに、 多くの人は、 資産を増やすためにお金を使うより、 むしろ負債を増やすことにお金を使ってしまう。 例えばローンを組んで持ち家を買ったりする。 どうみても世間一般の人より遥かに頭がいいように思われる技術者たちが、 ことお金に関しては全くといっていいほど 頭を使おうとしないのはなぜなのか。
しかも、技術者の多くは、 他の人達が望むべくもない資産を持っている。
それは「スキル」。
しかも、わずかな投資(努力)で大幅に増やすことができる特異な資産である。 なぜ、この資産をもっと効果的に増やそうとしないのか。 なぜ、目先のキャッシュフロー (安月給) に目を奪われて、 自身の資産形成をおろそかにするのか。
私が面接でよく聞く質問に:
生活するために働かねばならない、ということが仮になかったとしたら、
仮に、一週間何をしてもいい、と言われたら、何をしますか?
# 仙石浩明CTO の日記: 面接 FAQ (4) から引用
というのがあるのであるが、 意外なまでに多くの人がこの質問に答えることができない。
そんな馬鹿な、何をしたいか分からないなんて、 そんなことが有り得るのだろうかと思っていたのだが、 あまりにこの質問に答えられない人が多いので、 一つの仮説を立ててみた。
好きなことがない、あるいは明確にこれが好きと言えない人たちというのは、
「他の人に勝つ」ということに価値を見いだせない人たちなのではないか?
つまり、私の場合だと、 他の人にできないことが自分ならできる、 ということに自身の存在理由を求め、 この分野なら他の人に勝てる、という分野を追い求めてきた。
他の人に勝てれば、その分野が好きになるし、 好きになれば、それだけいっそうその分野に注力することになる。 そうすることによって実力がついて、 よりいっそう他の人たちより優位に立てた。 そういう正のフィードバックによって実力を磨いてきた。
だからこそ、私にとっては 好きなこと = 他の人に勝てる分野
なのである。
この感覚が、 私にとってはあまりに自然な発想だったので気付かなかったのであるが、 もしかすると私が自明なものとして疑うことがなかった 「他の人に勝つ」という大前提が、 人によっては、それほど重要なことではないのかもしれない。 いや、むしろ他の人と同じであることに価値を見いだす人たちなのかもしれない。
会社説明会といいつつ、 要は私といろんな話題についてお話しましょう、 というノリですので、 私の日記 (CTO日記もよろしく) を見て、 波長が合いそうだと思ったかた、 ぜひ登録をお願いします。
おかげさまで第一回(5/9)と第二回(5/15)は満席につき、 現在は三回目を募集中です。
KLab(株) CTO仙石 (KLabセキュリティ(株) CTO を兼務) と語る、
「技術者の成長にとって一番役に立つ会社」
「技術者が自ら伸びていくことができる会社」とは
理工系の学生の皆様に、弊社で、 CTO仙石と少人数でコミュニケーションをとって頂く、 1次選考を兼ねた会社説明会をご案内致します。 皆様のお申し込みお待ちしております。
日時 2006/5/30(火) 13:30〜15:00
場所 KLab(株) 本社会議室 (六本木ヒルズ森タワー 20F)
CTO日記のほうで書いている 「面接 FAQ 〜弊社の面接で(私に)よく聞かれること、面接官自身が語る面接攻略法〜」を読んでおけば、 面接事前対策もばっちり ;)。
技術者にとっても、無知の知が重要、という話は以前にも書いた。 自分が何が分かっていないか正確に把握していれば、 適宜質問したり、勉強したりできる。 自身の実力がどのくらいか正確に把握できていれば、 判断を誤まらずに済む。
過去の成功体験がアダとなって失敗した、という話をよく聞く。 過去とは状況が変わっているのに、 今でも自分が正しい判断をできると思い込み、 過去の手法を現在に適用してしまう。 過去の成功体験を過剰適用してしまっている。
自信を持つことは悪いことではないが、 ともすると自信過剰に陥る。 自分の実力をどこまで正確に評価できるかが鍵だろう。 努めて自分の短所を見るようにしなければならない。
自分の短所は見つけにくい。 ついつい長所ばかりを見てしまう。 一方、他人の短所はよく見えるもの。 ならば逆に、無理矢理にでも他人の長所を見つけよう。 そうすれば、自分が何ができていないか見えてくるだろう。
アナロジーで考えると理解しやすいのはなぜだろう?
新しい事柄を、すでに理解している事柄に対応付けると、 分かったような気になりやすいので注意が必要であるが、 どこまで類似していて、 どこが違うかはっきり意識しながら考えるのであれば、 アナロジーは素早くモノゴトの本質を見極める方法として有効である。
すでに完全に理解している事柄というのは、 頭の中にその事柄に対応する「回路」が出来上がっていて、 無意識の思考で高速に考えることができる。 一方、初めて見聞きする新しい事柄は、 当然のことながら頭の中にはなにも準備ができていないから、 無意識の思考で考えるのは難しく、 意識した思考で考えることになる。つまり非常に遅い。
ここで、もし新しい事柄の一部でも、 無意識の思考で考えることができるのなら、 つまりすでに理解している事柄と似ている点があるのなら、 その部分は無意識の思考に任せることができて、 理解を加速することができるのではないか。 おそらく、これがアナロジーで考えるということなのだろうと思う。
このように考えていると、 マービン・ミンスキーのフレーム理論が思い起こされる。 つまり知識の枠組みができている事柄についての理解が速い、 ということと似ているが、 単なる知識の整理にとどまらず、 無意識の「自動化された」思考によって、 新しい事柄への理解が加速されるのではないか。
その一方で、過剰な類推をしてしまう、 つまり無意識への「丸投げ」をしてしまうのが、 「分かったつもり」であって、 頭の中の回路がどこまで正しいのか、 つまり「どこまで類似していて、どこが違うか」を検証する必要がある、 ということなのだろう。
その検証を、意識して行ってもよいのだが、 検証を無意識の思考で行うことができれば、 さらに強力だろう。 これは、比喩のやりすぎや、論理の誤謬を「直感で」感じられる人は、 検証を実際に無意識の思考で行っているのだろうと思う。
「勤労の義務」は、 言うまでもなく日本国憲法第27条に規定されている、 日本国民の3大義務の一つであるが、 そのそろこの勤労に対する固定観念をかえていくべきなのではないか? 来るべき共産社会へのビジョンは、 Web2.0 で初めて見えてきたわけでは決してなく、 何十年も前から様々な形で繰り返し描かれてきた。 例えば、
断絶への航海 ハヤカワ文庫 SF (586)
ジェイムズ・P・ホーガン (著), 小隅 黎
などの近未来小説などの形でも。 SF においては、StarTrek を引き合いに出すまでも無く、 未来には貨幣経済が存在しないという設定のほうが、 むしろ普通となっている。
にもかかわらず、いまだに資本主義以前の ナイーブな勤労観がはびこっているのは、 憲法に基づく洗脳教育のたまものなのだろうか?
人力検索はてな から引用:
「年収300万の自分にとって最高に面白い仕事」か「年収1000万の自分にとって最高に面白くない仕事」どちらかを一生しなくてはならないとしたらあなたはどちらを選びますか?その理由は?
この質問者にとっては、面白くても、面白くなくても、 仕事は仕事なのだろう。 そこにはストックという概念すら存在せず、 ただフローを得るための勤労という思い込みに囚われている。
まずバランスシートを義務教育で教えるべきなのだろうか?
それとも、貨幣経済を飛び越して Web2.0 を教えるべきなのだろうか?
先日紹介した学生さんを対象とした会社説明会
KLab(株) CTO 仙石 (KLabセキュリティ(株) CTO を兼務) と語る、
「技術者の成長にとって一番役に立つ会社」
「技術者が自ら伸びていくことができる会社」とは?
日時: 5/9(火) 13:30〜15:00
場所: KLab(株) 本社会議室 (六本木ヒルズ森タワー 20F)
が、おかげさまで満席につき二回目が実施されるそうです。
日時: 5/15(月) 13:30〜15:00
場所: KLab(株) 本社会議室 (六本木ヒルズ森タワー 20F)
会社説明会といいつつ、要は私といろんな話題についてお話しましょう、
というノリですので、私の日記 (CTO日記もよろしく) を見て、
波長が合いそうだと思ったかた、ぜひ登録をお願いします。
5/8 追記: 上記説明会は満席につき、現在は 5/30実施の説明会への登録を受付中です
大学4年/大学院2年の学生さんに、 どれだけこのページを読んでもらえてるか分からない (^^;) のですが、
KLab(株) CTO 仙石 (KLabセキュリティ(株) CTO を兼務) と語る、
「技術者の成長にとって一番役に立つ会社」
「技術者が自ら伸びていくことができる会社」とは?
と題する会社説明会が開催されるようです。
日時: 5/9(火) 13:30〜15:00
場所: KLab(株) 本社会議室 (六本木ヒルズ森タワー 20F)
会社説明会といいつつ、 要は私といろんな話題についてお話しましょう、 というノリですので、 私の日記 (CTO日記もよろしく) を見て、 波長が合いそうだと思ったかた、 ぜひ登録をお願いします。
4/27追記: 上記説明会は満席につき、現在は 5/15実施の説明会への登録を受付中です
5/8 追記: 上記説明会は満席につき、現在は 5/30実施の説明会への登録を受付中です
向いていることを仕事にしよう。 まさに、好きこそものの上手なれ、 嫌々やってる人と、好きでやっている人とでは、どんどん差がつく。 一生のうちのかなりの時間を仕事に費やすのだから好きなことをすべき。
好きなことやっててメシが食えれば苦労はしない、という人が いるかも知れない。しかし、 かなりニッチな分野でも、トップクラスならば飯の種には困らないもの。 ベンチャーと同じ。 市場規模が小さくても、他社に負けない競争力を持っていれば 商売になる。 市場規模がいくら大きくても、他社の後追いなら 価格競争に巻き込まれてジリ貧になる。 まさに、鶏口となるも牛後となるなかれ。
その一方で、
眠る開発屋blog から引用:
ベンチャーって割と志先行になりがちだけども、 どこかでそれと距離を置かないと行き詰まるよね。 多種多様な人間を巻き込む土壌がなければバランス悪くなるもの。 ってか事業を展開させようにも志だけじゃ人が集まらない。
確かにそういう面も否定できない。 多種多様な人間を巻き込みつつ、 各人が高い志を持ち続けるには? ベクトルが異なる志を持つ人達が、 お互いを尊重して総合力を発揮するには?
志まで雇われたいの? から引用:
会社を設立するに当っては、この志というものは欠かせない。 しかしそれは創立者や役員といった「コアメンバー」で押しとどめるべきだ。 会社は従業員に雇用契約以上のものを求めてはならないし、 従業員もまた会社に雇用契約以上のものを求めるべきではない。
...
しかし、セミナーだの訓示だので、志を植え付けるがごとくは、 会社の傲慢というものだ。それでよかった時代もあったのかも知れないが、 今や社畜という生き物は不良資産扱いだ。企業不祥事の際に 産廃扱いで捨てられるのがヲチである。
会社2.0に取りかかる前に、せめて会社1.0をリリースしませんか、みなさん。
志を押しつけ、異なるベクトルを矯正しようとするのではなく、 異なるベクトルの合力を生かす方法はないのだろうか? 力をあわせる唯一の目標が「皆でお金持ちになろうね」(眠る開発屋blog) だけだったとしたら、あまりに悲しい。
日経ソフトウェアの大森敏行氏の記事中の注釈に、
プログラマが「プログラミングに特別な能力が必要であること」を 強調したがるのには理由がある。 現在の日本のソフトウエア業界には 「プログラミングをしない人のほうが立場が上である」というケースが 往々にして見られ, そのせいでプログラムの質が上がらないという構造的な問題があるからだ。」
というくだりがある。
確かに一理あるし、 優秀なプログラマがエキスパートとして尊敬される土壌づくりは、 優れたソフトウェアを開発するために必須の条件であろう。 しかしながら、 「プログラミングをしない人のほうが立場が上」というのは 一面的な見方ではないのか。 プログラマ兼 CTO である私としては一言いいたくなる。;-)
「プログラミングをしない人」⇒「立場が上」
なのではなくて、
「プログラミングをする人」⇒「視野が狭い人が多い」
「視野が狭い」⇒「立場が下」
に (ムリヤリな) 三段論法を適用しているだけなのではないのだろうか。 自身の視野の狭さを棚に上げておいて、 「プログラマだから立場が低い」と嘆くのはいかがなものかと思う。 もちろん、 「プログラミングに特別な能力が必要」なのではなくて、 「優れたプログラムを書くには特別な能力が必要」が正しい。 「下っ端プログラマ」と「優秀なプログラマ」を同列に扱ってはいけない。
前述した大森氏の注釈は、次のように続く:
この問題に関しては「Life is beautiful」というブログの 「ソフトウェアの仕様書は料理のレシピに似ている」というエントリが参考になる。
さっそくこの中島聡氏のブログを 読んでみた。
ソフトウェアのアーキテクトが自らプログラムを書いたり、 下っ端のエンジニアの書いたコードをレビューするのは、 レストランのシェフが自ら料理をしたり、 下っ端の料理人の作ったスープの味見をするとの同じである。
とても適切な喩えのように思える。 しかしこの伝で行けば、
下っ端のプログラマ(料理人)がアーキテクト(シェフ)になれるかは 才能に依存するところが多分にあり、 適性がない人は、いくら努力しても永久に下っ端のまま、 一人月 30万円レベルから抜け出せない。 そういう人はさっさとプログラミング(料理)をあきらめて、 マネジメントをやったほうがいい。 マネジメントなら才能が無くても経験次第でそれなりのレベルにはなる。
というとても残酷ではあるが、 とても実状に近い類推が出てきてしまうのだが...
ちなみに中島氏のブログには
優秀なエンジニアとそうでないエンジニアの生産性は(誇張抜きで) 20対1ぐらいである。
という話が出てくるのだが、私はもっと差があると感じている。 超優秀なプログラマと、下っ端プログラマとでは、 生産性が(誇張抜きで) 3桁違う、 というのが私の主張。 トッププログラマの 1000分の1の生産性しかない、 そもそもプログラミングに適性がない人が 無理矢理プログラマを目指そうとするから、不幸が始まる。 しかも、プログラミングは適性のない人でも時間さえかければ (かろうじて)動くプログラムが作れてしまったりするから余計タチが悪い。
これが料理であれば適性のない人は何日かけたって美味しい料理は作れないわけで、 早い段階で才能の無さを自覚して他の職を探すものだと思うが、 下っ端プログラマにはその自覚がない。 自覚が無いからプログラマへの道をあきらめめようとしない。 仕方ないので 35歳くらいで周囲が引導を渡すわけで、 これが「プログラマ35歳定年説」の正体。
ここまでの話と全然関係ないが、大森氏の記事に
BASICというプログラミング言語の文法を知ったのは確か中学生のときだし, 高校生のときにはシャープの「MZ-80K2E」というマイコンで 簡単なゲームのプログラムくらいは書いていた。
と書いてあったのが、 実はこの記事を引用しようと思った真の理由だったりする (^^;)。 私も中学一年の終わり頃 BASIC を知り、 高校生のとき MZ-80K2E でゲームを作ったりして遊んでいた。
人の上に立とう、といっても、威張りちらしたい、というわけではない。 相手より高い視点を持てるよう努力しよう、ということだ。
大局的な判断ができる人がリーダシップをとり、 局所的な判断しかできない人は、その指示に従うことになる。 上司が指示を出し、部下がそれに従う、というわけではない。 もちろん指揮命令系統が決められている場合は、 そこから逸脱するのは難しいかも知れないが、 職種が違う場合はどうだろう?
セールスがお客様の言葉を錦の御旗よろしく振りかざして マーケタへマーケティング戦略を指示し、 マーケタが製品のあるべき姿をプランナへ指示し、 プランナが製品仕様を決めて技術者に指示する。
こうした指示の連鎖は、よく見かける光景だが、 セールス、マーケタ、プランナ、技術者は、 本来は上下関係はないはずである。 なぜこのような指示する側とされる側に分かれてしまうのか。
で、上下関係をひっくり返してみようと思った。 技術者である私が、セールスやマーケタやプランナに指示を出してみる。
もちろん、いきなり指示を出そうと思っても、 何を指示すべきか分からないから、準備が必要である。
まず営業同行して、セールスの人達がお客様と何を話しているか観察。 ところがお客様の顔がいかにも興味なさそうなのに、 とうとうと自社製品の説明を立て板に水のごとく話している姿を目撃。 う〜ん、素人の私にだって、こういう営業方法が 論外なことくらいは分かる。 もちろん優秀な営業マンもいるのだが、 私の目から見てもダメダメな人がいるというのは発見だった。
つぎにマーケ本部の定例ミーティングに参加してみる。 最初のうちは全貌が把握できていないのでおとなしくしているが、 すぐに我慢ができなくなった。 自社のポジションがまるで理解できていない。 弊社は大企業とは違うのだ。 弊社のロゴを見たって誰も弊社のことを思い浮かべたりはしない。 それにいま攻めようとしている市場は導入期である。 新しいカテゴリを作ろうとしているのだから 成熟期の商品と同じ攻め方でいいわけがない。 もちろん優秀なマーケタもいるのだが、 マーケティングの教科書を一読だけで分かるようなことを押さえずに、 見よう見まねの SWOT 分析などをして マーケタ気取りの人がいるというのは発見だった。
プランナは、技術者に近い。技術者と同じく「作る」職種である。 仕様を考えつつどんどんプロトタイピングして実ユーザの声を聞く、 という開発手法もあるわけで、 プランナと技術者は対等の関係になることも多い。
セールスやマーケタは、「売る」職種である。 技術者とは別人種と言ってもいいだろう。 だからといって「売る」職種が、「作る」職種よりも 立場が上というわけではない。 単に「売る」職種の方が広い視野を持ちやすく、 「作る」職種が、ともすると目先の問題に固執しがち というだけのこと。
私が好きな SF の主人公のセリフに、こういうものがある:
「わたしは、偶然の一致というのを信じない」
ガニメデの優しい巨人
ジェイムズ・P・ホーガン (著)
ある事象の直後に、本来直接は関係ないはずの別の事象が起きたら、 両者の間に、なんらかの因果関係があるはず、と考えるのが、 「偶然の一致を信じない」人のとるべき態度であるし、 この考え方は、技術者や科学者にとっての鉄則だと思う。
同じ事象を観測していても、偶然の一致を見つけ出せるか、 それとも代わり映えしない観測データと思って見過ごすかが、 大きな分かれ目になりそうだ。
プログラムの動作ログも同じ。同じログを見ていても、 そこからどれだけの内容を汲み取れるかは、 技術者の資質に大きく依存すると思うし、 スキルアップを目指すなら、自分より優れている技術者が、 そのデータから何を引き出すことができて、 自分がどうしてそれを引き出すことができなかったのか、 詳細に省みるべきだろう。
技術者にとって一番重要なのは、「分からない」と言える能力。 太古の昔から、無知の知と呼ばれているもの。
なにが分かっていないか、分からなければ勉強のしようがない。 分かったつもりで済ませていては、いつになっても真の理解は不可能。
小学生のころ、私は答案に平気で「デタラメ」を書いていた。 デタラメを書いているという意識ではなく、 分かったつもりになって正しい答えを書いているつもりだった。 あまりに自由な発想でデタラメを書くので親が心配したほど。
ところが、中学生のころ、同級生にとても優秀な奴がいた。 彼は、一を聞けば十を理解した。 あまりに早く分かったというので、信じられずに 残りの九を説明しようとすると、先回りして答えられてしまった。
そんな彼が、「分からない」を連発する。 つまり分かった、と言うのも早いが、 分からない、と言うのもとても早かった。
そんな彼を見て、私は「分からない」と言えるのは カッコイイことなんだと思った。 なんとかして自分も、「分からない」と言えるようになりたい、 と思った。
自分が本当に理解しているのか、 それとも単に分かったつもりになっているだけなのか、 常に自省する習慣が身についたのは、 彼のおかげだと思う。