武藤先生による「プログラマの生態」

面白かったので、まとめてみた。
7
kmuto @kmuto

来週の研修資料がまだ1mmも進んでいないので困っている。とりあえず『プログラマの生態』で語ることにする

2013-08-28 20:41:53
kmuto @kmuto

code for foodではなくcode for joy

2013-08-28 20:43:05
kmuto @kmuto

いくら残業しようが〆め上げようが缶詰にしようが、アイデアとコードは出ないときには出ません。ちなみに執筆もほぼ同様w

2013-08-28 20:45:59
kmuto @kmuto

日程予測でやたらと大きく取っているように見えて、その実ごく数日で終わっても怒らないでください。プログラマはさぼろうとしているわけではなく、常にいろいろ予測し得る事態に備えた最大長を考慮しているだけです

2013-08-28 20:52:14
kmuto @kmuto

そういう意味では、日数ベースの見積りというのはなかなか難しいですね。さほどパターン化できるわけでもなく、そもそもパターン化できてるならプログラマの役割もほとんどないわけで。

2013-08-28 20:54:13
kmuto @kmuto

アイデアとコードの話に戻ると、神が降りてくる瞬間というのははっきりとは決まってなくて、もちろんオフィスの中で浮かぶときもあるけど、通勤の途中だったり、寝る間際だったり(ときには夢の中だったり)、家ではてブでもウォッチしているときだったり。

2013-08-28 20:58:58
kmuto @kmuto

ただ経験上、インタラプトの多い環境ではやはり出にくいかな。それから、テーマが決まっている場合は、調べ物をいろいろした末に1つの結実した形として、神が降りてくる。神というよりは自分の頭の中で整理ができた、ということか

2013-08-28 21:02:08
kmuto @kmuto

強制同期のコミュニケーション要求はできるだけ敬遠する。電話、アジェンダも参加要件も未定のMTGなど。個人的にはIRCが一番阻害せずグループでのやりとりがしやすい。Skypeはポップアップの主張がちょっと強いのとグループ化が面倒

2013-08-28 21:05:50
kmuto @kmuto

F2Fの機会を軽視しているわけではない。特に社内支援プログラマという立場の場合、社員というユーザには要求は出してもらうものではなくこちらから素早く発見・提案していくことが重要(営業をかけるのに近い)。

2013-08-28 21:08:57
kmuto @kmuto

ユーザが最初に定義した要求仕様は実際に実現してほしいこととは違うことがよくある。社員から「こんなことできない?」という要求仕様が出たとしても、F2Fで実際にどう困っているのかを拾い上げてみると、実は別のアプローチのほうが達成目標として適切だったりする

2013-08-28 21:11:10
kmuto @kmuto

うろうろしながら周りを見渡し、何やら困ったと騒動になっているのを「小耳に挟み」(あるいは議事録等から読み取り)、会話に混ざってみたりランチを誘って聞いてみたり。ブースにこもるステロタイプなPGイメージとはだいぶ違うかも

2013-08-28 21:14:34
kmuto @kmuto

作ってきた社内用ツールはたいてい、最初は自分の要件のために作る。「さぼる」というと語弊があり、コンピュータに任せられるところをわざわざ人間がやって間違えるのはくだらなすぎるから。コーディングの時間が手作業で完了させるのと同じ時間で済むなら即コーディング

2013-08-28 21:20:58
kmuto @kmuto

コーディングが失敗に終わって結局ヒーコラ手作業と深夜作業で間に合わせることももちろんある。でも「このアプローチにこのコーディングはダメである」という貴重な学習ができたことになる。コーディングでは必ず何か新しいことをするので、その新しいことも身につけられる

2013-08-28 21:23:25
kmuto @kmuto

自分用のツールなら失敗は自分の範囲だけだし、うまく動けば自分が楽になれる(新しい時間を生み出せる)。嬉しい楽しい。オレってばすげー感。

2013-08-28 21:25:51
kmuto @kmuto

さて、幸いにもお互いを蹴落そうという殺伐とした社内ではないので、これを皆が使うようになればもっと皆が今までの無駄な手作業から解放されてハッピーに時間を作れるようになるんではと考える。でも皆がPG的な人じゃない(というかほぼいない)

2013-08-28 21:28:55
kmuto @kmuto

自分だけなら別にシェルでコマンドの引数を誤りない順序で入れられるし、黙って何も起きなくても問題の解析ができる。でも他の人に使ってもらうためには、環境も使い方もエラー対策も考えないといけない

2013-08-28 21:31:20
kmuto @kmuto

ブラウザで利用できるようWebアプリケーション化。コマンドラインを使うにしてもフェールセーフにしたコマンド。仮に悪用されたとしてもどこに防衛ラインを引くか。伝わりやすいマニュアルの書き方。他の人に使ってもらうために、また新たにいろんなことを学び覚えていく

2013-08-28 21:34:51
kmuto @kmuto

社内支援PGのずるいところとしては、ユーザが社員なので、ある一定のリテラシを前提にできることw コンシューマ系は大変だよね…

2013-08-28 21:36:18
kmuto @kmuto

なんかだいぶ思考ダダモレなかんじでタイムラインを汚してすみません。ごはんにします。本日はチャーハンと麻婆豆腐です

2013-08-28 21:38:40
kmuto @kmuto

@reinarration 旦那さまに聞くといろいろわかるんではw。PGだらけではない環境は逆に一般的リテラシだとこう考えるのか、という知見になるので重要です。私が恐れるのはPGは俺だけだと知らず知らず自分が天狗になってしまうことで、そいう意味で新しい血の新人さん重要

2013-08-28 21:44:57
kmuto @kmuto

チャーハン+麻婆豆腐が予想以上にうまくマッチしてうまかったので、研修のことはどうでもよくなった(コラ

2013-08-28 22:30:00