2012年10月26日金曜日

制約があった方が,仕事が進む(こともある)



主にプログラムを書く仕事のときだが,制約があったほうが仕事が進む(こともある)というお話.

集中してプログラムを書くために,金野は例えばなるべく静かな環境を作るとか,大きなディスプレイと手に馴染んだキーボードとマウスを用意するなど,快適な環境を用意するように努めていた.
大学の研究室だと,電話があったり学生が来たりするので,プログラミングに集中できない.だからプログラミングの仕事はなるべく自宅でやるようにして,静音パソコンを用意し,部屋の照明をちょっと落とし,部屋を静かにし,環境音楽をかけ(雨の音や水が流れる音が好き),仕事していた.そして,たしかにその環境から生み出されたプログラムもたくさんあることはある.

ところが,それとはぜんぜん反対の,うるさくて不快な環境で生まれたプログラムも多い.特に,新しいプログラムを書いたり,機能を大幅に拡張するのは,なぜかうるさい環境から作られている.

はじめて粒子法に取り組んだときのプログラムは,大きな病院の大きな血液検査室で,たくさんの人が出入りし,20分おき(だったかな?)に呼び出されて血液検査を受ける,という環境で生まれた.
自分は糖尿病の可能性があるだろうかと疑ってブドウ糖負荷試験を受けたのだが,そのときのこと.ブドウ糖ジュースを飲んでからおもむろにノートPCを取り出し,細切れの待ち時間の間にちょっとずつ作った.10分ぐらいプログラムを書いてはノートPCをサスペンドし,血液検査の列に並ぶ,という繰り返し.列では粒子法の資料を読んでいた.

研究で使っている解析プログラムのひとつは,西八王子駅前のデニーズで待ち合わせのときに作った.隣のテーブルでおばちゃん達が甲高い声でぺちゃくちゃおしゃべりしていて,うるさいなぁと思いながらだったのを覚えている.

そして今回.いままさに飛行機の中でこれを書いているのだが,ずっと懸案だったプログラムのひとつが,先ほど完成した.エコノミークラスの狭い座席で,とてもうるさい環境だ.三角柱の頂点の座標や各面の法線ベクトルをプログラムに入れる必要があったのだが,ふだんだったら当然,紙に図を書いて考えるところを,頭の中で考えて作ったり.

記憶が曖昧だが,新幹線で東京に戻る途中で作ったプログラムもあったはずだ.

これらに共通するのは,

  • うるさい環境.多くの場合はSONYのノイズキャンセリングイヤホンをして音楽を聴いている.
  • ノートPCを使っている.
  • ネットにつながらない,またはつながりにくい.
  • ある程度の時間制限がある.
  • 机があまり広くない.
  • 誰かに話しかけられたり,電話がかかってきたりすることは,まずない.
…といったところか.
最後の項目以外は,ふだん仕事をしている環境とまったく逆だ.もしかして,静かで快適な環境にすれば,仕事がはかどるってわけじゃないのか?

もしかしたら,プログラムを書きたくなったらファミレスやファストフード店に行ったほうがいいのかもしれない.意図的に制約を作り,プログラミングを進める,ということができるだろうか.
まだ試していないが,今度やってみようと思っている.

写真はSt John'sのホテルの机.

0 件のコメント:

コメントを投稿