ソフトウェア開発者採用ガイドを読んだ

ソフトウェア開発者採用ガイド」を献本いただきました。ありがとうございます。


この本にはJoel on Softwareの作者のJoel 氏による、できる開発者を採用するためのノウハウが書かれている。
実際に彼の会社 Fog Creak でいかに良い人材を取るかを追求し続けた結果のエッセンスなのでそれなりに納得のいくものばかりだ。


さて採用する立場にない人は読んでも面白くないかというとまあそんなことはなくて

  • 採用者の考えることが分かる(特に Joel 氏はかなり合理的なので分かりやすい)
  • 読み物として面白い

など勉強になる。


Joel 節健在で読みやすく面白かった。気になった所を適当にメモ。

  • 「平均的な初任給は、一定の割合の新入社員はうまくいかないというリスクが考慮に入れられている。」
    • これは考えたことなかったけどそうだね。つまり優秀な技術者をとるノウハウがあるところはもっと初任給を高くしていると。(そうでないところもある)
  • アメリカのインターンシップは「まともな高い給料」を払っているところもあるらしい。
  • 「ピープルウェア」という本に「プログラマを生産的にさせたかったら、可ららに広くて静かなスペースをおそくは個室を与える必要がある」と書かれているらしい。
  • 「Joel のFog Creak はニューヨークという家賃の高いところで個室を実現している」
  • プログラマが気にしないもの
    • 「彼らはお金を気にかけない。あなたが別なことでひどいことをしないかぎりは。以前耳にしたことのなかった給与についての不満を耳にするようになったなら、それは彼らが仕事があまり好きではない兆候。」
      • あるあるあるwww
  • 情熱を持っているプログラマの兆候の例に面白いものが
  • 経験を積んだプログラマたちの間で、ある種のテクノロージーは他のものよりも本格的なものと考えられている。それを履歴書の選別に使うことがあるそうな。
  • 「地上で最悪の面接質問を挙げておこう」
    • Oracle 8i の varchar と varchar2 の違いは何か?」

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

テストが通るようになってきた- Scheme VM を書く

がんがんテスト通しまくる。
すごく根深いバグが3件。

  • コンパイラフロントエンドがオフセットの決まっていない LOCAL_JMP の変換に失敗してた。
  • display closure の引数の積む順序が間違っていた
  • free variable の積む順序が間違っていた

実装したインストラクション

  • APPLY2
  • NOT
  • NUMBER_GT, LT, LE
  • EQ
  • PAIR_P
  • SYMBOL_P

組み込み手続き

  • string-length
  • string->symbol
  • number->string


ついでに入力ポートの UTF-8 まわりも実装した。
0.0.1 用のテストケース 現時点で 180個(だいたい1/3)ほどのテストを通るようになった。
残るのは

  • なぞなバグもう1件
  • 組み込み手続きを淡々と実装
  • 正規表現