SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

話題のあの人にインタビュー!

Joelに聞く、「優れた開発者」の要件・心構え・努力すべきこと

Joel Spolskyの考える優れた開発者とは


  • X ポスト
  • このエントリーをはてなブックマークに追加

ソフトウェア業界の今後と、行うべきこと

――ソフトウェア業界については、今後技術的な面、社会的な面でどんな風に変わっていくと考えていますか?

 たぶん一番大きいのは、ソフトウェアが高度に複雑になっていくということでしょう。

 

 簡単な例をあげると、かつては if 文で済んだ話が、今ではベイズ理論を使ったり、インターネット全体を検索したりすることが必要になっています。

 Microsoft Wordのスペルチェッカーは、ただ英単語のリストを持っていて、ユーザの入力に対し、語がその辞書の中にあるか見るだけでした。“Aoki”はあるか? “Spolsky”はあるか? “Shoeisha”は? という具合に。しかしGoogleのようにスペルチェックしようと思うなら、インターネット全体を検索して、どちらがより近いとか、どちらがより頻繁に現れるかを判断することになります。SpolskiよりもSpolskyの方がより一般的であるというように。スペルチェックは今や何テラバイトものデータを、非常に高速にチェックしなければならなくなりました。これはずっと複雑な話で、ソフトウェア開発にはずっと高度なスキルが要求されるようになっています。

――それに対して開発者としてはどのように対応すればいいのでしょう?

 それはある部分、どれだけ野心的かという問題です。

 たとえば、航空チケットやホテルを予約するWebサイトというのは、予約したときに確認のメールを送ってきます。みんなそれをOutlookとかGoogleカレンダーとかYahoo!カレンダーとか、あるいは何であれ自分のカレンダーソフトウェアに入力するわけですが、そういうのはあまり野心的とは言えません。ユーザにタイプすることを求めています。メールを自分で処理するように求めています。「土曜日午後7時の23便」みたいなことを、手でカレンダーに入れてやらなければなりません。

 しかし最近現れた「TripIt.com」というサイトは、単に確認のメールを転送してやれば、あらゆる旅行代理店や航空会社やホテルのためのテンプレートを用意していて、メールを解析し、カレンダーに自動的に登録してくれます。だからユーザは手で入力する必要がありません。このようなサービスを作ることは誰にでもできたはずで、そんなに労力がかかるわけでもなく、ただ野心が足らなかったということです。確認のメールの文章は機械が読むことを前提としてはいませんが、機械により毎回同じフォーマットで生成されるため、パースすることが可能です。

 ソフトウェアやコンピュータをもっと柔軟にするために、もう少し努力することです。そうしてもう少し野心的になることです。そんなに難しいことではありません。

――最後の質問ですが、現在特に興味を持っているテクノロジーやトレンドは何かありますか?

 新しいものはびっくりするくらいたくさん出てきています。これ以上面白いものはないだろうなと思っても、思いもしないものが現れます。たとえ新しく面白いものが出てこなかったとしても、この業界は長く続ける人が少ないので、若い人がどんどん入ってきて、そうして5年前に別の人が失敗したアイデアを知らずに繰り返したりします。そういうのを見ていると退屈することがありません。

 私はまた、プログラミング言語の進歩にも勇気づけられるように感じます。かつてプログラムをすべてC++のような言語で書いていた頃にあった非本質的複雑さの多くが、新世代の言語によって解消されています。言語がガベージコレクションを持つようになり、最新のPythonやRubyといった言語には関数プログラミング的な機能があって、少ない量のコードでプログラムを書くことができます。非本質的複雑さは減っていき、残るのは考えを表現する上で本当に必要な部分だけということになります。プログラミング言語の進歩にはとても興奮しますね。

――どうもありがとうございました

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
話題のあの人にインタビュー!連載記事一覧

もっと読む

この記事の著者

青木 靖(アオキ ヤスシ)

1993年東京工業大学理工学研究科情報科学専攻修士課程修了。ソフトウェア開発者。横浜市在住。趣味で翻訳しているソフトウェアに関する読み物がwww.aoky.netにある。訳書に『Joel on Software』(オーム社、2005年)、『Best Software Writing』(翔泳社、2008年)、『ソフトウェア開発者採用ガイド』(翔泳社、2008年)。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2292 2008/09/05 11:05

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング