プログラマという職業まわりについて思うこと

私はぺーぺーのプログラマなので、そっちの視点になります:

  • 残業の主原因は突発的な作業だったり、『〜さんが〜時まで空かない』、という外部とのインタフェースがらみのことが多い。
    • 定時外に打ち合わせする奴は逝ってよし。
    • 帰り際になって思いついたように作業を言ってきたりする悪魔がたまにいます。
  • 残業をするのはいいんだけれど、絶対にそのしっぺ返しぐらいの時間、体調を崩す人が出てくる。(私なんかは結構現場から離れます)
  • 何をやっても作業量の不均衡が生じ、それは給料とまったく関係がない。(早く給料上げろ)
    • 結局、何もやってないような人のほうが勤怠がよくなって私生活が潤ってます。やるせない。
  • 全体が分かっている作業ほど、作業間の空き時間が少なく、早く終わる。
    • やると分かっている作業なら、早めに見つけておいたほうが得策。後でチロチロ後出しするのは絶対にダメ。作業リストは絶対に人の頭に入らないので書き出しましょう。
  • くだらない雑用は誰かが代表してやってほしい(できればプロジェクトリーダー)
    • くだらない雑用で邪魔されると腹が立ってきます。
  • 人を何かの枠組みに当てはめると全体的には例外なく能力が下がる。
    • 人の能力を下げるために枠組みにはめるなんて変な話です。
  • マクロなど自動化は投資する価値が大いにある。
    • くだらない単純作業は頭が衰えるだけです。何にも貢献しません。
    • メーラーで毎日定型のメールを書くのに、毎回毎回メールをこしらえている姿を見たときは「こいつバカだ」と思いました。テンプレはさっさと作りましょう。
  • どんなくだらないことでも書かないよりは、書いたほうがマシ。
    • プログラマという職業にタイピング能力は要らないといわれますが、そうは思いません。タイピング能力が高いほうが効率的に仕事ができます。文章にしたってノロノロしている人よりどんどん書けてしまうものです。
    • ソースコメントだって、タイピング能力があればこそ親切丁寧にかけるものです。プログラマにとってのタイピング能力について、世間一般ではあまり大事ではないと言われますが、これは違うと思います。
  • 書類仕事があるなら、印刷は早めに、遠慮せずどんどんやったほうがいい。
    • 印刷を遠慮しても仕方ありません。どんどん書類を印刷して他人にレビューしてもらいましょう。
  • ショートカットは偉大である。
    • Windows + Eとかそういうレベルのショートカットのことを言っているのではありません。身の回りのアプリケーションで、自分が一定時間以上付き合っているアプリケーションがあれば、そのアプリケーションのヘルプをみてショートカットキーを覚えましょう。
    • Eclipseはショートカットを知っているかどうかで大きく差が出るIDEだと思います。
    • Altを途中ではさんだりするような『なんだかバカらしいショートカット』でも、バカにせず覚えたほうが絶対に得。
  • 調査不足はアホでバカな事態をもたらす。
    • たとえば、Oracleで一生懸命DELETEしてからINSERTしようとしていた人がいたら、「MERGE文があるよ、バカヤロウ」といいたくなると思います。そういうことです。
  • 単一言語習得者はその単一言語すら知識があやしい
    • Cしか知らないスペシャリストはCの知識すら信用なりません。
  • 少なくとも、業務プログラムを作ってる連中の大半は、Lispという名前すら知らない。
    • これは現実です。嘘ではありません。Rubyはだいたい聞いたことがあるようですが、PythonHaskellErlangとなったら「それ何?」と聞いてきます。
  • プロジェクトが遅延しているときの全体の見直し会議とか、全員での話し合い*1とかについて、参加者の8割は『煩わしく作業進捗を遅らせるもの』だと考えている。
    • こういう全体の集まりみたいなのは最低限にするべき。こういうのを乱発したがる人は拘束人数と時間とお金を掛けたことないんだろうな。
  • プロジェクトリーダーなど、えらくなってしまった人は開発山の高地に住んでいて、抽象酸欠を起こしている。(意味不明)
    • 人の頭が昔の出来事を勝手に美化するように、開発から離れた人は、開発をずいぶん都合のいいように*2美化しているようです。注意。

まだまだかけそうだけど、これぐらいで切り上げる。

私が一番怖いのは、ワーキングプアならぬ、プアワーキング。アホでマヌケなプログラミングに通じるものがあると思います。

*1:話あっていないのに話し合いという名前が付いている。奇妙だ。

*2:ソフトウェアを切ったり貼ったり、定量的に分析できると信じこむのが特徴