開発者としての初心者

最近開発者としての初心者の行動について、少し考えていました。

マイクロソフトは MSDN フォーラムという開発者向け掲示板を運営しています。ここでは初心者の皆さんからの質問も多く寄せられ、問題解決に上手に利用されている方もたくさんいらっしゃいます(日々さまざまな質問に答えていただいているコミュニティの技術エキスパートの皆さまに感謝です)。

一方初心者の皆さんの質問には、困っているという切迫感は伝わってくるものの、回答者側で状況を判断するのに決定的に必要な情報が欠けている例が多々あります。

往々にしてそのような場合、回答者としても、質問者から正確な状況を聞き出すのはかなり手間のかかる作業となり、意思疎通上の行き違いにより双方にとってフラストレーションとなる場合もあります。

「MSDN フォーラムを初心者の役に立つ場としても盛り上げていきたいが、もっと初心者とエキスパートが上手に付き合っていく方法はないものだろうか?」

そう考えて、いくつかフォーラム型のサイトで初心者にどのように接しているのか、検索して調べてみました...

...確かにあります。その中でも MSDN フォーラムより古くから運営している開発者向け某フォーラムや某メーリングリストなど、数年前の古いディスカッションであっても、初心者対応に関して書かれていることは今でもまったく当てはまるような気がしました。初心者に対して厳しい意見、ある意味大目に見て温かく接してほしいという意見、様々です。

思い起こせばここにメッセージを書いている私も、かつては厳しい派だったと思います。かなり以前に在籍した会社で新人プログラマーの面倒を見ていた時は、新人君たちの質問に対して「まずは自分でマニュアルをきちんとを読んで、その上で分からないことを聞きに来い」とか「何がわからないかをきちんと理解してから来い」等々、かなり厳しいことを言っていたような気がします。

そこには単純に自分が忙しかったからだけでなく、早く新人君たちが自力で答えを導き出す方法を身につけてほしいという思いもありました。でも今から思うと、本当に何も分からず、途方に暮れていた新人君もいたのではないかという反省もあります。

今現在は新人君たちの世話をする役ではないのですが、どちらかというと今であれば、もう少し温かく接してあげたい気がします。仮に今の自分が全く知らない仕事の現場やスポーツなどの世界に入ったとすれば、最初のうちはやはり、その世界のエキスパートたちにまともに通じる話ができるとは思えないからです。おそらくその状態が初心者なのだと思います。

数年前、各地のフォーラムでエキスパートたちを悩ませていた初心者たちも、その多くは今は一人前の開発者になっているでしょう。そして逆に、今の初心者たちの質問に頭を悩ませているかもしれません。

実際一人の人が初心者でいる期間はそう長くないでしょう。業務として日々向き合っているとすれば、おそらくほとんどの人が始めて数か月で「何が何だかわからない」状態から脱していくと思います。

初心者の的を外した受け答えに日々悩まされているエキスパート側の感覚としては、もっと「賢い初心者」になってほしいという思いがあったりすると思いますが、この言葉には矛盾があるようです。実は賢くなったらもう初心者ではないのです。「始めたばかりで何が何だかよく分からない」という一時的な状態が初心者なのだと思います。

そういう人たちは入れ替わり立ち替わり現れます。そしてそれぞれ成長すれば次の段階に進みます。

今まさにそういう状態の人たちが、次の段階に進められるように手助けするのが、すでに多くの経験を積んだ側の人間の役割なのかなと思います。そして MSDN フォーラムも、その役割を担い続けることができれば良いなと思います。