2011年3月29日

インターネットとテレワークが変える出会いの意味

(新卒準備カレンダー2011 http://atnd.org/events/13324 の関連エントリです.)


お前誰よ?

自分自身はコンピュータ屋であり,技術屋であり,その延長上に研究者稼業があると思っています.

詳しいプロファイルは別にページがあるのでそちらを見てください.ここでは職歴について述べます.

私は1990年に大学の修士を出てコンピュータ屋の仕事に就きました.この4月から22年目に入ります.やってきたことはOSライブラリの開発に始まり,今ならインフラエンジニアの仕事であろう職場内ネットワークの設計や構築,そして管理と運用で2000年末までは過ごしてきました.2001年より縁あってコンピュータ・ネットワーク全般の学術研究に近い仕事をするようになり,2005年に社会人として博士号を取ってからは国の研究機関で本格的な研究者としての道を進みました.

そして昨年2010年より,大学で職場内の情報セキュリティレベルをどうやって高めていくかという課題に取り組んでいます.現職の肩書は教授となっていますが, 仕事の大半は他の教職員の方々と連携して問題解決を迅速に行うことであり,学生の教育はしていません.とはいえ,教員として採用されていますので,教授としての知識やプレゼンテーション能力,交渉能力は常に求められますし,業務の傍ら研究も人に恥じないだけの成果を上げることが要求されています.

お金の面を考えれば,自分のプロジェクトに関する予算管理や予算獲得もしなければなりません.ある先輩の教授が自らを「個人商店」と称しておられましたが, お金の面でそれに似たところが確かにあります.その結果として,一定のルール の範囲内で予算使用の裁量権をいただいて必要な物を買ったり,自分だけで難しいことは外部の業者の方々に仕事を請け負ってもらうこともします.もっとも,学生教育を担当しない私には現在学生は配属されないので,結局は1人で切り盛りしていますが(笑).

なんで研究者なんかやってるの? 企業で働いたほうが儲かるんじゃないの?

これは家業(笑)だから,好きだから,あとは時間の制約が緩いから,という3つの理由が主なものです.

個人的な感覚でいえば,研究者という職業は半ば家業に近いものがあります.研究稼業に関する感覚は,子供のころから身に付いていました.父と母の兄(伯父)が地球物理学の研究者で,妻がドイツ語教育実践に関する研究者であることもあり,大学での仕事を見ることは常に生活の一部でした.父が家で作図をしているときにグラフの描き方を教わったり,対数表の見方を教わったりしたものです. 前述の通り結婚してからしばらくの間は私は会社員でしたが,それでも妻の事務作業の手伝いをすることはしばしばありました.

仮に人生の主たる目標がお金を稼ぐことだったとしたら,今のような仕事はしていなかったでしょう.人より多くお金を稼ぐことは,自分の身体を磨り減らさずにはできません.そういう意味ですべての営利組織は流行り言葉でいえば「ブラック」です.大学も例外ではありません.教授という立場では大学の各種事業に対し一定の経営責任を持つことになりますから,自分の時間に優先して意思決定をしなければならないことが多々あります.ある程度「ブラック」なことを受け入れない限り,何も新しいことは成し遂げられないし,既存事業の維持すらできないのが現実です.これは社会人,いや大人の1つの義務だと思います.

研究者とテレワークの不可分性

その場にいなくても仕事をすることを「テレワーク」と言います.テレワークはコンピュータの登場以前からあった考え方ですが,インターネット時代の今,研究者という仕事と,テレワークは,ますます不可分になっていると思います.

私が研究者の道を選んだのは,被雇用者でありながら,自分の労働時間と場所を比較的自由にできる,という利点があったからでもあります.日本に限らず,現在の労働の制度は,基本的に「現場に出勤して一定期間の間存在すること」を強制します.これは製造業や農業,サービス業などモノを扱う仕事では不可避ですが,コンピュータやネットワークの利用が進んでいる今,IT産業に従事する人達の多くにはこの拘束を適用する必要はないと私は考えています.特に,情報科学/情報工学の研究者は,テレワーク環境を社会全体に積極的に作っていかなければならない立場にあるべきだとも私は考えています.

もっとも,技術的にはすでにテレワークは誰でも可能な状態になっていますし,そんなに特殊な設備が必要というものでもありません.今はむしろ労働環境と社会風土の問題として改善していくことが必要でしょう.その意味で2011年3月11日の東北地方太平洋沖地震に始まる一連の災害は,通勤による社会全体の損失を抜本的に考え直す機会になるかもしれません.

(もちろん,2011年3月末での当面の課題は,第一に人命の救助,次に如何に破壊された土地や建造物,社会コミュニティを立て直していくか, そして東京近郊一帯が抱える構造的電力不足をどうやって乗り切るかということであり,テレワークはあくまでそれらの復興のための道具以上にはなり得ないのですが.)

私は現実に健康問題を長期間抱えていることもあり,最初の職場を精神的にも肉体的にも続けられなくなって辞めた後は,基本的にはテレワークを前提として仕事を行えるシステムの構築技術や手法,ノウハウの蓄積とその実践に勤めました.結果としてそのことは,現在の仮想化,クラウドコンピューティング,分散環境や非同期I/O,並行処理や並列処理といった複雑な問題を,より大局的な見地から俯瞰する機会を与えてくれたといえます.災い転じて福となす,といったところでしょうか(笑).

テレワークの時代になぜ人に会いに行くのか

この文章の大半は米国サンフランシスコ近郊で開かれていた国際会議から日本に 戻る飛行機の中で書いています.通勤や出張は人やその移動用の支援物資を動かさないといけないですから,その意味では大変なコストがかかります.ですから遠隔地の日常業務はテレワークで行うことが必然的に増えています.国際会議の投稿管理システムも今はインターネット上の情報だけで問題なくできるようになり ました.実際に今回の国際会議で会った人達の内何人かとは,日常的にメールを交わしています.

では,なぜそれでも人に会いに行くのか.それは会わないとわからないことがたくさんあるからです.ある人が仕事,あるいは生活のパートナーとして信用できるかどうかは,その人の立ち振る舞いを見てみないとわからないことが多いのです.食事の時のしぐさ,あいさつの時の視線,言葉の明瞭さ,外向的か内向的か,などなど,意識しない内に人間は他人を評価しているものです.そしてまた,自分も評価の対象となっていることを意識しなければなりません.

ある物事が進んでいるコミュニティ,マーケット,あるいは「場」には,必ずその場特有の雰囲気があります.それを知らないでその場に参加することは,実質的にはほとんど不可能です.そしてその雰囲気を知ることで,自分がその場で共有される知識や共同で行う作業に対してより積極的にかかわることができるようになります.ここ数年のIT関連の勉強会ブームもこの流れの一端といえるでしょう.この流れを全世界に拡大すれば,それは必然的に国際会議開催の動機となり得ます.国際的な勉強会というと大げさですが,お金と参加者の都合さえつけば不可能ではありません.

もっと外に出なければならないのになぜ皆出ないのか

今の日本にある構造的問題の1つは,国際会議への参加について,あまりにも経費の上での制限が多いことです.費用を出す側に国際会議の意義に関する理解が足りないということもあるでしょう.未だに海外出張を遊びの延長として捉えている人達が大多数であるのは嘆かわしいことです.無駄なルールが多すぎるのも気になります.経費節減の折,国内出張にも制約が入りつつあります.悲しいことです.

しかし,本来資源のない日本は,国際交流の中で付加価値を売ることで,現在の繁栄を築いてきたはずです.既存の制度が使いにくいからといって,日本から海外に出ない,というのは自らの首を閉めるようなものでしょう.人生の早い時期で海外での仕事の体験をすることは,その後国際的な仕事を進める上で不可欠なものとなります.もちろんこれは海外対国内といった図式に限らず,国内でもさまざまな地域で仕事をしたり,いろいろな会社や組織相手に仕事をすることで得られる経験ではありますが,英語を始めとした日本語以外で仕事をする経験は,なかなか国内では得られないという事実は心得ておくべきでしょう.

もし海外に出ることができる機会があるなら,できるだけ早く,出ていってみて見聞を広めることを強くお勧めします.

インターネットは世界の出会いを広げその定義を変えていっている

インターネットによって人々が家に引き籠ってしまったという仮説があります. しかし,社会的なひきこもりの問題は,実はインターネット以前から続いている問題であり,むしろ社会問題として扱われるべきでしょう.

私個人は,むしろインターネットにより世界や国内の見聞を広めることができ,そして足を運んでみようと思う地域が増えました.かつては国や地域がそれぞれ固有のイデオロギーで対立していましたし,今もそのような対立が理由の紛争は続いていますが,それと同時に以下に述べる考え方もできるようになったと思っています.

  • 世界のどの国や地域にも,自分と考えが合う人達と,合わない人達がいる
  • 自分にとって「イヤな奴」になるか「友達」になるかは,相手の出身地域や国には必ずしも規定されない
  • それぞれの国や地域のイデオロギーに染まる人達には,それぞれの理由があり,それは社会的な問題だけでなく,むしろ経済的な問題が支配していることが多い
  • 世界のコンピュータ屋の使っている技術は,おそろしく共通化されている(笑)

今や世界の各地域の問題は,全世界に影響を与えます.日本の災害により,世界の各産業が影響を受けています.そしてアラブ地域の政情が変われば,日本にとって不可欠な原油の値段が高騰します.

既存の社会の仕組みについて,我々自身が深い知識を得たうえで,どれだけそれらを相対化して客観的に判断することができるかが,今後の社会のあり方を決定する上で重要不可欠なことになってくるでしょう.

あなたの友達は,隣の人かもしれませんし,地球の反対側の人かもしれません. それとも同じ国でも違う地域の人かもしれません. そういう前提を忘れずに,広い心で仕事を学び,社会人として我々と共により良い社会を作っていきましょう.

ようこそ,コンピュータ技術者の世界へ.

2011年3月5日

悪いニュースはできるだけ早く知らせよう

(新卒準備カレンダー2011春  http://atnd.org/events/13324  向けのエントリーです.)

仕事を始める上で,あきらめずに最後までやり抜く,というのは仕事を成功させるための必須条件の1つだ.しかし,それと同じ以上に大事なのが,仕事を続けられそうにないときに,そのことをできるだけ早く判断して,しかるべき助けを求められるか,ということである.

情報通信の世界では,「良いニュースは早く伝わるが,悪いニュースはなかなか伝わらない」という経験則がある.これは技術的にも心理的にもいえる.たとえば,通信が途絶したり機器が故障したと判断するためには,通信相手から一定の時間応答がないことを確認する必要がある.この時間の分だけ判断はどうしても遅れてしまう.故障した,と明示的に連絡してくれるような仕組みがあれば話は別だが.(例えばErlangでは,process linkをプロセス間であらかじめ張っておくことで,リンク先のプロセスが異常終了した場合は,そのことがすぐにわかるようになっている.)

人間関係でも同じことがいえる.多くの人は仕事が完了したら,早くその仕事から解放されたいから報告するだろう.しかし,なかなか仕事が終わらなくて納期や締切に間に合わない時は,どうしても希望的観測を持ってしまうし,仕事が終わらないというのはカッコ悪いと考えたり,あるいは「相手に怒られたらどうしよう」と思い,すくみ上がってしまい何もできなくなるものである.人間は恐怖心に支配されがちな生き物だからだ.でも,そんな時こそ勇気を出して納期や締切までには終わらないことをできるだけ仕事の相手に報告し,次の一手を打つことが必要だ.

仕事の上で協力者に助けを求めることは恥ずかしいことではない.むしろ,できるだけ細かく頻繁に状況報告をしておくことで,予見できる問題を早く解決できる.平たくいえば,ダメそうな時には,できるだけ早めにそのことをはっきりと知らせたほうがいい.

大変恥ずかしいことだが,私も新卒で入社してすぐ課題を与えられたのに,その課題については完全にすくみ上がった状態になってしまい,結局なにもできずに,依頼者に大変迷惑をかけたことがある.これは仕事を頼んでいる方にとっては,およそ信用できない,という風に見えてしまう最悪の行動である.

人間,いつも元気でいられるわけではない.気の進まないときもあるだろうし,仕事よりも高い優先度でこなさなければならない作業が発生するかもしれない.それは心ある人なら誰でも理解してくれることだと思う.しかし,仕事を抱えたまま,あるいは手放さないまま,どこかへ雲隠れしてしまうのは,その後始末をしなければならない関係者にとっては最悪の事態である.

優れた人は,悪いニュースでも勇気をもって早く知らせることのできる人のことである.
優れたプログラマは,異常が発生した場合可能な限り迅速にその判断をするコードを書いて実行させることができる.
そして,優れたインフラエンジニアは,自分だけで手の負えない障害が発生した場合,すぐに援軍を求めることができる.

1つ付け加えることがあるとしたら,迅速な判断をする能力は,健康を保ち,体力と精神力を維持し,そして日頃から訓練して鍛えることによってしか培われない.そういう意味では,失敗を経験した人の方が,そうでない人よりも判断能力は高いと思う.

2011年3月2日

新卒準備カレンダー2011春のアドベントに向けて: おすすめの本

(新卒準備カレンダー2011春  http://atnd.org/events/13324  向けのエントリーです.)

おすすめの本,といえば,いろいろとありますが
かな.私が読んだのは原著の
の方です.

この本の著者 Chad Fowler が最初にこの本を出した時のタイトルは,"My Job Went To India" (日本語版では「オフショア時代のソフトウェア開発者サバイバルガイド」というタイトルが付いていた)だった.私自身が仕事を探さなければならない状況になっていたこともあり,かなり真剣に読んだ記憶がある.詳しいことは中身を読んでもらうとして,この本の要点を短かくまとめると

  • 常に学び続けていなければ,いつか手持ちの技術だけでは食えなくなる時が来る
  • プログラミングという限られた一芸だけではもう食えない(プログラミングに限らないが)
  • 燃え尽きないように,そして自分の欠点を知って,定期的に自分を振り返ること
ということだと思う.著者はこれらの要点について,プログラマの視点で実にうまくまとめている.この本の話題自身はプログラマに限った話ではなく,他のプロフェッショナリズムを特に要求される仕事の人が読んでも十分面白いだろう.人生の基本的な課題として,どうやって世界の中で自分を差別化していくか,そして過労で燃え尽きないようにするかという,相反する目標を達成していくことを学ぶには,とても良い本だと思う.

2011年3月1日

新卒準備カレンダー2011春のアドベントに向けて: 自己紹介

今年4月にIT業界に入ってくる人達に向けて何か書こうということで、新卒準備カレンダー2011春というイベントに参加してみることにした。
http://atnd.org/events/13324
最初に自己紹介を書いて欲しいということなので、まずは自己紹介から。
  • 名前: 力武 健次 (りきたけ けんじ)
  • 職業: プログラマ→システム管理者/インフラエンジニア→ネットワーク技術研究者→大学教員
  • 年数: 社会人になったのが1990年、25歳のとき。だからもう20年経っていて、21年目。
  • どんなことをやっているか
    • 最初はVAX/VMS(今はOpenVMS)のライブラリ開発。
    • 次に企業内インターネットの構築、運用管理、研究
    • その後はインターネット・セキュリティ技術に関する研究。特にテレワークやDNSについて。
    • 現在仕事としてやっているのは、大学の情報セキュリティに関する企画、調査、研究。
  • 普段プログラムを書く言語はCとawk。2008年からErlang/OTPを研究テーマに加えて勉強中。基本的にインフラエンジニア的な作業ではどんな言語に対してもパッチを当てられないといけないので、一通り体験できることは見よう見まねでその都度覚えてます。
  • 実験用には1997年からFreeBSDを愛用。それ以前もSunOSやULTRIX、BSD/OSで育ちました。もちろんLinuxもWindowsもそれなりには触れます。もっと前はMS-DOSを使ってました。
詳しいことは
を読んでもらうと、もっとわかるかも。

2011年2月27日

早期バイリンガルであることの強みと苦労とは

問: 早期バイリンガルであることの強みと苦労とは? 二つの言語間の関係は影響するのか?
What are the advantages and disadvantages of early bilingualism? Does the relationship between the two language matter?
http://www.quora.com/What-are-the-advantages-and-disadvantages-of-early-bilingualism-Does-the-relationship-between-the-two-language-matter

Quoraに書いてあったので答えてみた.日本語でも書いてみる.

私にとっては,日本語と英語って言語的に一緒のところはほとんどない.だから9~10歳のころにバイリンガルになったってことは人格形成におそらく間違いなく影響していると思う.もう30年以上そんな人生を続けているから,まるで言葉ごとに2つの別の人格に分かれているような気がするし,あるいは二つの言語の社会ごとに自分の立ち振舞いを変えなきゃいけないように感じている.

未だに私は両方の言葉の違いが原因でたくさん文法間違いをおかしている.たとえば,英語の文法要素で,単数/複数,動詞の活用,時制,冠詞,そして前置詞というのは,日本語にはほぼ存在しない.だから文章を何度も校正するときは,すごく集中する必要がある.自分の間違いの直し方は知っているけど,正しく話したり書いたりしようとするのをよく忘れてしまう.

その一方で,日本語では明示的に文の主語を著さない.日本語の動詞や形容詞はそれらが表す行動をしている人を通常は暗に含んでいるからだ.だから英語から日本語に文字通りに訳すのは文章を冗長にするし,余計なことばかり書いてあって,しばしば一般の人にはとても理解しがたいものにしてしまう.

個人的には文化的な違いも重要な役割を果たしていると思う.日本語を話すときは,失礼でないように,攻撃的でなく,決めつけないようにしなければいけないし,他人の意見に直接反論してはいけない.日本の人達,そしてアジアの韓国や中国の人達は,彼等の意見が直接会話で否定されることに対してはすぐに立腹する.なぜなら彼等の多くはその意見の否定を個人的な侮辱だと受け取るからだ.だからそのことを私は注意するようにしている.

もっともその一方で,日本人の礼儀正しさ,あるいは同意できないときにもそれを直接表現しないことは私には非常に不誠実な態度に見える.たとえそのことが一般的には私を感情的に傷つけることを避けて顔を立てるための行為だとわかってはいても.

これも最近気がついたことだけど,話す主題や話題によって,言語の選択は強く影響を受けると思う.コンピュータのことを私が語る時は,英語の方がずっと楽に感じることがしばしばある.単語の多くは英語で学んでいるし,最近台頭してきた技術については特にそうだ.その一方で,電子回路や,無線技術,物理,電気通信などの話をするときは,日本語で最初に勉強したことが理由で,日本語が最初に浮かんでくることが多い.バイリンガルあるいは多言語で技術的な話題について述べるための能力を維持するには,話したり書いたりするそれぞれの言語で大量の語彙を維持する必要がある.

そんなことを考えつつ,私は10歳の時に日本に帰ってきてから30年以上の間ひとりぼっちでここまで述べてきたような困難と戦ってきた.もし早くからバイリンガリズムの専門家に相談することができていたら,こんなに長い時間をかけてこの問題に向かいあわなければならなくなることもなかったと思う.(私の両親はバイリンガルではなく,もちろんこの問題について彼等に落ち度はない.)

この話題も,私にとっては言語の「並行処理」の問題であり,いまだに解決できない「混沌」とした自分の意識世界の話である.そういう意味では「並行と混沌」の話なのだ.

2011年2月8日

はやぶさのカプセル

JAXAの小惑星探査機「はやぶさ」が地球に落としたカプセルの一部を見る機会に恵まれた.さすがに展示会場は大変混雑しており,1~2分しか見ることはできなかったが,それでも本当に宇宙から戻ってきたカプセルを見るのはそれだけで感慨深いものがあった.最も印象的だったのは背面ヒートシールドであった.また,パラシュートが往復の長い行程に耐え,機能した状態で戻ってきたのも驚きだった.

「はやぶさ」を動かしていたソフトウェアはどのようなものだったのか.そしてそれを支えた技術はどのように機能したのか.きっと広義のフォールトトレランスを実現していたのだろう.過酷な条件に耐えるためのソフトウェアには,停止は許されないからだ.異常発生時には確実に全体を再起動させるコードも組み込まれていたに違いない.

打たれ強いソフトウェア・システムを作るにはどうすればよいのか.そんなことを背面ヒートシールドを見ながら考えている.

2011年2月4日

Erlang/OTPの抱える基本的な課題

Erlang(日本語では「アーラン」よりも「えあらんぐ」の方が発音により忠実らしい)/OTPのブログを一応標榜している(苦笑)ので、今後のErlang/OTPの課題などまとめてみる。

まず技術的には
  • 暗号に関わる技術(ハッシュ関数、共通鍵暗号、公開鍵暗号、疑似乱数)を、どう並行実行可能にしていくつもりなのか
  • 数日、数週間、数ヶ月単位の大規模遅延に耐えるネットワーク技術 (delay tolerance)
  • IPv6の基本的サポート、特にDistributed Erlang / epmd、そしてそのSSL化サポートの確認
  • DNSSEC対応のリゾルバ for inet_res module
  • BEAMの実装に起因するバイナリヒープの扱い、ならびにそれを意識して高速にNIFを書くための技法(実測が必要)
  • 状態保持量の少ない疑似乱数: Wichmann 1982 / Wichmann 2006 / LShift / XOR32
  • 状態保持量の多い疑似乱数: SFMT ((2^19937-1) or (2^607-1))
  • NIFによるTAI(国際原子時)の扱い
  • BEAM間の権限分離手法(FreeBSD Jail? それとも一般的な仮想化?)
  • そもそもPort, Linked-In Driver, NIFの使い分けをどうする?
なんて話があるわけです。

いろいろといじってみたいプロジェクトもいっぱいあるのですが、一部だけ。

そして当然今年は
という大イベントが控えております。

課題が山積しまくりで大変であります。