「有能なプログラマ」チェックシート

■ 有能なプログラマの特徴を思いつくまま列挙してみる

チェックしてみましょう、そうしましょう。

  1. ○:要求自体をシンプル化する
    • 可能なときはそう努力している。
    • プロジェクトが大きいとプログラマとユーザの間に関係者が沢山入ってくる*1ので、段々難しくなってきます。
  2. ○:メタレベルプログラミング
    • C#もCLOSも知らないので想像で。システム基盤を自前で書いてその上に業務ロジックを載せる、みたいな考え方のことかしら。ブクマにツッコミ。え、そうじゃなくて。あ、実行時の内部情報を動的に読み取って、それを元に処理を行うようなものですかしら?それならやっています。
  3. ○:DSLをオンデマンドで自作する
    • Rubyを使ってやっている。
  4. △:デザインパターン
    • あやしい。パターン名と実際のパターンの関連付けがイマイチ。
  5. ×:英語
    • まったくダメ。日本語Googleで見つからないときに仕方なく英語の資料を浚いに行きます。
    • 英会話スクールにも通う・・・想像のらち外だった。試しにやってみるのも面白いかも。
  6. △:処理系やライブラリの動作原理の精密な理解
    • 緻密には理解してないなぁ。Delphiが出たときにVCLを貪るように読んだのが最後。この経験で得られたものは確かに大きい。
  7. ○:ライブラリに関する知識
    • 話題になったのはなるべく押さえるようにはしてます。が、なかなか。
  8. ×:基本的なコンピュータサイエンスの知識
    • 全然だめ。大学を出てないと、この辺を支える広範な基礎がないのが辛い。
    • 高等教育の成果が現れるのは40近くになってから、という言葉*2が身にしみてくる今日この頃。
  9. ×:セキュリティ技術の基本
    • これもダメだ。いま、SSHの入門書を読んでいるレベル。
  10. ×:プロトコルの詳細
    • だめ。概要だけ。
  11. ○:異質なプログラミングパラダイムを理解しておく
    • そうあろう、とはしている。「ふつうのHaskellプログラミング」は読んで動かして「おお」。
  12. ×:汎用のキーカスタマイズツール
    • してない。というか職場でそういうの禁止されてる。
  13. ○:開発環境の具体的な機能の理解と使いこなし
    • いちおうは。
  14. ×:開発環境のマクロ言語
    • 職場で禁止されてるので、あまり大ぴらには出来ない。
  15. △:開発環境の正規表現
  16. ○:スクリプト言語
    • すいません。メイン系としても使ってます。
    • 雑用言語としてはあまり使ってない。職場じゃバッチファイルによる個人レベルの自動化でさえ上長の許可がいるので。
  17. ×:プログラミングに飽きて、プログラマを辞めたくなったときの準備をしておく
    • ・・・してません。田舎さ帰って百姓でもやるだかい。

全17問中、

  • ○:7件
  • △:3件
  • ×:7件

という微妙すぎる結果に。どうするのよ俺、みたいな?
ちなみに結果の集計は正規表現でやりましたよ!・・・orz

*1:それは実装者の出る幕ではない、と言われる

*2:野村吉三郎?鈴木貫太郎かも