ソフトウェア開発者採用ガイド

ソフトウェア開発者採用ガイド』を読んだ。Joel が採用のポリシーを熱く語っている。

耳が痛いのが P.108 の言葉。若干文を変えてある。

多くの「スクリプト屋」たちは JavaScriptスニペットをホームページにコピーするところからプログラミングを始め、それから Perl を学ぶのだが、ポインタや再帰、データ構造について学ぶことはなく、彼らには我々の求めるクオリティのコードは決して作ることができない。

ポインタというか C 言語を知らなくとも Web プログラマを名乗れるのが現実。かくいう自分も C を書いたことが無く (たった今 Hello Worldコンパイルした)、ポインタを概念でしか理解していない程度。再帰やデータ構造については、昔、情報処理技術者試験を受ける際に暗記したが、今では B 木って何だっけ?という体たらく。非常に良くない。コンピュータサイエンスには精通しておくべき、というのは頭ではわかっているのだが。

話は変わって、Fog Creek では最初の面接で以下のような問題を出すという。HTML が「プログラミング」と思っている人を除外するためらしい。FizzBuzz に近い。

  1. 文字列が大文字のアルファベット A-Z ではじまるかどうかを調べる関数を書け。
  2. 与えられた半径を持つ円の面積を求める関数を書け。
  3. 配列の要素の値を加え合わせよ。

せっかくなので 1 を JavaScript で解いた。

function isUppercase(word) {
return word.match(/^[A-Z]/) != null;
}

なんのひねりもない。