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

はてなに入った技術者の皆さんへ

最近はてなの社内では新しい技術を勉強したり、フレームワークや言語を移し変えようかという話も出ていたりして活気が出てきています。技術者も10人を超えて、色々な考え方をする人同士が刺激を与え合いながら切磋琢磨していて素晴らしいなあと思います。そういう中で、僕が技術について思う事を少しまとめてみました。

アウトプットを出す

新しい技術を習得したり、時間を掛けて作り上げた結果は、何かのアウトプットとして出さなければほとんど意味がありません。知識や結果を自分の中に残すだけで終わるのは、それを活かしてサービスを作りたくさんの人が使えるようにする事に比べると驚くほどちっぽけな仕事です。

また、3日間で作り上げた素晴らしい仕組みをそのまま1週間寝かせてしまうのは、4日目に他の人が使えるようにしてから1週間を過ごすことに比べると随分見劣りしてしまいます。

当たり前ですが、どれだけ素晴らしい仕組みを作っても、使われなければ他の人にとっては何の意味もありません。

いつもいつも、自分がここまでかなと思うそのもう一つ先のアウトプットを出してから次の仕事に取り掛かるように心がけてください。他の人が使えるようにすることと、なるべく早く使えるようにすることは、自分が想像しているよりも遥かに多く自分の仕事の価値を高めてくれます。

また、様々な技術は全て良いサービスを開発するための道具である、ということを忘れないでください。

たとえ中のシステムが技術的に優れていなくても、サービスが優れているため高く評価されているサービスは世の中にたくさんあります。逆にどれだけ優れた技術を使っていても、誰も使わないので見向きもされないという製品やサービスもたくさんあります。はてなはその両方を達成しなければなりません。これはとても難しい挑戦です。

技術の専門性が高くなればなるほど、ユーザーまで届ける事の無い高度な専門領域が生まれてきます。それはとても良い事ですが、会社全体としてはてなの外に何かを届けるまでは意味が無いのだ、不完全な中途半端な状態なのだ、という事をいつも意識して欲しいと思います。

僕たちが作るものは、会社の外から評価されることによって初めて価値が生まれるのです。

批判精神

はてなは技術会社である以上、開発においては「科学的」でありたいと思います。全てが科学的であれば良いというわけではないでしょうが、少なくとも「科学的なアプローチが出来る」ことは必須です。

そして、科学的なアプローチの根幹に必要なものは「批判精神」「疑う心」です。地動説のコペルニクスや相対性理論アインシュタインにしても、偉大な科学者は「常識を疑う」事から出発して功績を残しています。偉大な科学者を出すまでも無く、科学が「なぜ?」「何でこんな現象が起こるの?」という疑問に端を発していることに説明は要らないと思います。

はてなではこれから、世の中の様々な仕組みに変化を起こして少し世界を変えたいと思っています。そこには疑ってかかる精神が必要になります。物事を「本当にこんな方法で良いのか?」と疑問に思わなければ新しい発想は生まれません。

人と違うこと、ユニークであることをはてなでは重視します。それぞれの技術者が独自で多様な視点を持ち、闊達な議論を行う中から新しい可能性が生まれると信じています。

柔軟な発想を大切にし、しっかりとした技術を基盤として理論的、科学的な研究、開発を行っていきたいと思います。

自分の立場を考えたり、他人を気にしたりして、自分が感じたり考えた正直な気持ちを発言しないことは、未来の大きな可能性を失います。遠慮をせずにぜひ思っている事を外に出してください。

遠慮については、もう既にその事で失敗もしています。住所登録問題の時には、社内で十分な議論を行う事ができませんでした。少し技術の話から逸れますが、自分の専門分野ではないなどの理由で正直な気持ちを出す事を遠慮すると、大きな失敗に繋がるという貴重な教訓だったと思います。

自分の専門領域を探す

はてなの事業に関連する技術のレイヤーは、下はハードウェアから上はインターフェースデザインまで多岐に渡ります。この中で、自分が得意な事、継続的に努力が出来るフィールドを根気強く探し、そのフィールドで自分自身を向上させる事にはてなを利用してください。はてなは会社として、全面的にその向上に協力したいと思っています。

技術者が本当はやりたくない事に無理やり押し込められて、そのせいで自分が伸ばしたいと思う能力を伸ばせない、といったことをはてなでは極力したくは無いのだ、という事は覚えておいてください。もしそう感じる人が居れば、いつでも声を掛けてください。

どのレイヤー、どのフィールドが自分に向いているかを探すのはとても難しい問題です。一般的には、専門の技術を高める事はとても大変な事だと考えられていますが、自分にぴったりの専門領域を見つけることが出来た人にとっては、他人が思うほどその努力が大変ではありません。なぜなら、その仕事が心から好きになれるからです。

自分の仕事が好きな人は、まるで趣味を楽しむかのように技術を向上させる事ができます。一方、自分が好きだと感じられない努力を強いられる人にとっては、好きな仕事をやっている人の何十倍、何百倍もその作業が辛く感じます。

ですから、好きではない仕事を行う事に努力するよりも、まずは自分にぴったりのフィールド、自分の好きな仕事を探す事に力を使うべきです。この作業を、できれば20代のうちに完了させて欲しいと思います。

自分の専門領域を探すための一番の近道は、色々な事をきちんとやってみることです。きっちりやるというのは、自分の持っている100%の力で、しかもある一定期間の間続ける事です。その間は、自分の個性など無くても構いません。逆説的ですが、それが一番の近道です。

手をつけて数ヶ月しか経っていなかったり、何かほかの事をやりながら片手間で取り組んだりしただけで、自分に向いているかどうか考えたり、面白くないからと言って投げ出すのは得策ではありません。そんな事をしていたら、何一つとして新しい領域の真髄に触れる事もなく、全てを投げ出し続ける事になるでしょう。

どんな事でも、新しい領域の面白さが分かるようになるのは、他人が自分の事を認めてくれるようになってからです。僕の経験上、他人から少しでも認めてもらえるためには、新しく物事を始めてから大体18ヶ月はかかります。

当たり前ですが、どんな世界も自分が何かを始める前は自分が居ない状態で回っています。しかも、そこそこちゃんと回っているのです。何か新しい事を始める時、「その世界はあなた無しでもちゃんと回っている」状態から出発する事を忘れないでください。極端な話、「自分が生まれなくても地球は問題なく回っていた」のです。新しい領域に挑戦すると言う事は、自分が不必要な状態から、自分が必要とされる状態への変化を、自分の力で起こすという事なのです。

既にその世界に居る人が努力していればいるほど、この作業は生半可な気持ちでは成功しません。片手間にやったり、短い期間でやろうとしても出来るわけが無いのです。しかし、一旦他人が自分を認め、必要と感じてくれるようになれば、そこでようやく何かが分かったと言う事ができるでしょう。そこでやっと、自分に向いているかどうかを本当に判断できるようになるのです。

もちろん、明らかに自分に向いていない事に1年半もの時間を使う事は時間の無駄です。興味も無いのに惰性で続ける事も避けなければなりません。しかし、はてなに入ったということは、何かこの中に自分がやるべき仕事、自分が輝ける領域が用意されていると感じて入ってきたはずです。一度はそう思ったのなら、全力でまずそれを探してみてください。人や会社との重要な出会いなど、人生の中でそうたくさんあるわけではありません。

誰に評価されたいか

自分の専門領域を探すにあたって、「自分は誰に評価されたいか」という視点で考えを巡らせてみるのは一つの有効な手段だと思います。

例えば社内のフレームワークを使って次々にサービスを開発するという分野は、主にユーザーによって評価される分野です。利用者から「使いやすい」と言ってもらったり、「このサービスは楽しい」といった評価がやりがいになり、その人の仕事の価値を決めていきます。

一方で、例えばフレームワークを作るといった分野は主に技術者に評価される分野です。社内、あるいは社外の技術者から「おー、すげー」とか「自分も使わせてください」と言われることが評価になります。

人口比率で言えば、技術者に評価される仕事を正しく評価できる人はユーザー評価の仕事に比べてとても少ないでしょう。運悪く経営者が技術に理解が無かったりすると、会社の中ですら評価される事が難しい場合があります。

一方で、ユーザーに評価される仕事をするには、単なる技術力以外の能力が必要な事があります。他人にきちんと説明したり、新しいアイデアを思いつけないと一流にはなれない場合があります。

どちらか一方ではなくユーザーと開発者両方、というハイブリッド領域も当然あります。むしろほとんどはそうかも知れません。両方に評価されたいと思う気持ちを持つ人は多いと思いますが、比率をどれだけずつ混ぜると自分にとって最適なのかという問題は、人それぞれ違うと思うので、色々な仕事を試しながら探って欲しいと思います。

自分が誰に評価をされたいと思っているかを考えるための良いヒントは、「これまでの経験の中で一番嬉しかった瞬間」を思い出す事です。新しいサービスを考えてリリースした後に、たくさんのユーザーが大騒ぎしてくれている時が最も幸せだと感じたならば、さらにユーザーに向けて良いものを届ける仕事をすべきでしょう。憧れの開発者に「Cool!」と言ってもらえた時が最高に嬉しかったのならば、もっとそう言ってもらえるような仕事をすべきでしょう。

続ける事の大切さ

自分の専門領域が見え、「この分野で勝負していこう」と思ったら、しつこくそれを続けて欲しいと思います。しつこくしつこく、何年もかけて前に進み続けるのです。

何かを新しく始めて最初に勉強している時は、どんどん自分の能力が上がり、成長しているように感じます。ところが、ある時にその成長が止まるように感じる事があると思います。

しかし、人から評価される大きな仕事は成し遂げるには、ここからが本当の勝負なのです。自分の成長スピードが鈍化したと感じたところから、毎日淡々と続ける作業こそが、偉大な仕事を成し遂げるのに必要なのです。

例えば最近 Audrey Tang という開発者が Haskell を使って誰も手をつけていなかった Perl6 の処理系を作り上げ、その仕事で高い評価を受けています。彼女が Haskell を勉強したのは恐らく随分以前だったでしょう。彼女が Haskell をマスターして方法論を身につけたあとは、ただひたすら Perl6 が動くようになるためにコードを書き続けているわけです。毎日毎日コードを書き続けるのです。それを何年間も継続したからこそ、世界の技術者が認める仕事になったのです。

彼女の重要な才能は「Haskell を書ける」ことにあるのではありません。それだけならば他にも世の中にたくさんいるのです。大事なのは「何年も Pugs のコードを書き続けられる」ことにあるのです。継続は力なり、とはよく言ったものですが、この「続けられる事」こそが、偉大な仕事を成し遂げるために最も重要な才能なのです。

「これでやっていこう」という決意を持ち、しつこくしつこくそれを追求し続け、そしてぜひ偉大な仕事を成し遂げてください。