#6:自己学習能力
プログラミングを担う部門が、プログラマー教育のために予算や時間を割くことができるということは滅多にない。これは残念なことながら、今の業界の現実である。その結果、ほとんどのプログラマーはいったん学校を卒業すると、スキルを独学で身に付けることになるのである(助けを借りられる良き指導者が近くにいることが理想である)。そして、自己学習能力の高いプログラマーほど、プログラミング能力を向上させることになるのだ。
私は、面接相手が何か難しい技術について語ろうとした場合に「どうやってそれを学んだのですか?」と質問したり、「どうやって新たなスキルを獲得するのですか?」や「プログラミングに関連する本や雑誌、ウェブサイト、ブログなどを読んでいますか?」といった質問をよく投げかけたりする。採用するのであれば、社内の教育プログラム以外では何も学びたくないという応募者よりも、現在のプログラミング能力が今ひとつであっても、新たなプログラミングスキルを独力で学ぶ熱意のある応募者の方が遙かに望ましいのである。
#7:熱意
プログラマーの中には「残業しない人」もいる。つまり、月曜日から金曜日の9時から5時まではプログラミング作業を行うものの、それ以外の時間にはプログラムのことについて一切考えないという人々のことである。それでもまったく問題はない--寝ても覚めてもプログラミングのことばかり考えているスーパーギークに誰もがなれるわけではないからだ。私は過去にこういった人々を採用し、人手不足を補ったり、プロジェクトの定型作業を任せたりしたことがある。しかし、優秀なプログラマー(スキルや経験のレベルにかかわらず)を採用する必要がある場合には、仕事への熱意のある人を採用する必要がある。
熱意は、正念場において、あるいは取り扱いの難しいテクニックや特殊なスキルなどを必要とするプロジェクトにおいて「成功を左右するもの」となる。詰まるところ、残業しない人々は、ものごとを行う最善の方法を学ぼうという動機付けを持っていないため、最善の方法とは限らない今まで通りの方法をとり続けるのだ。また彼らは、仕事のためではなく、お金のために働いているため、給与や諸手当を定期的に引き上げない限り、引き留めておくことが難しいのである。熱意は面接時にかなり明らかになるはずだ。あなたのプロジェクトについての話を聞いたり、自身の過去のプロジェクトについて語ったりする際に情熱を見せる応募者は、熱意を持っているはずなのだ。
#8:適応力
あなたには、プロジェクトの開始から終了まで仕様に変更が発生しなかったという経験があるだろうか?おそらくないはずだろうし、私にもない。そしてこれは、1日足らずで終わってしまう短期プロジェクトも含めての話なのだ!変更にうまく対処できないプログラマーは、政府関係の契約でよくあるウォーターフォール型の長期プロジェクトに参加する場合を除き、あまりうまくやって行くことができないだろう。もちろん、こういったタイプのプロジェクトを貶めるつもりはない。だが、ほとんどのプロジェクトでは、適応力の欠如が致命的となるのである。
応募者が適応力に欠けている、すなわち変更への対処が下手であるかどうかは、面接時に、特に「要件はしばしば変更されましたか?」といった質問をすれば容易に明らかになる。そこで「もちろんです。しかし、そういったことはどのプロジェクトでも起こることであり、避けがたい現実ですから」といった答えが返ってくれば合格である。これに対して、目をむいて「そうなんです。だから何も完了させることができなかったのです!」などと答える応募者はおそらく、ほとんどの環境に適応することができないだろう。