もっと考えよう

今日は残業なし、当然サービス残業もなしで帰ってこれました。来週も一切残業無しで帰らないとまずいのですが、仕事の進捗がいまいちなのでどうなるか…。今月中に行う作業はそれほど重いものは無く、いずれも手をつければ普通に完了するはずの作業ばかりです。他のところとのやりとりや、データを作ってもらうときの作りやすさに関わってくるところなのでデータ構造の設計はしっかりやる必要があるのですが、そのあたりは先輩プログラマとみっちり議論したので安心です。なので、あとは設計にしたがって実装するだけ。それなのに、進捗のペースが遅いんです。
進捗のペースが遅い理由は、「僕の手が遅いから」に尽きるのですが、自己弁護をすると、「割り込み作業が多いから」というのもあります。とある作業Aを行っている途中で、それよりも優先度の高い別作業Bが入ってくると、そちらの作業を行います。作業Bを行っている途中で、さらに優先度の高い作業Cが入ってくるなんてこともあります。その結果、各作業を細切れに行うことになり、その際のコンテキストスイッチに時間がかかってしまっています。
つまり、適切なタイムスライスを設定しつつコンテキストスイッチのコストが下がるような工夫をするか、そもそものスケジューリングを変更しないといけないわけです。ひとまず、今は「これ優先度高いから早めによろしく」と言われると今の作業をそっちのけでその作業を行っていますが、そこはその言葉を鵜呑みにして作業するのではなく、もう少し考えて作業するようにしたいと思います。自分で判断付かなかったら上の人に相談してもいいんだしね。
プログラマとして仕事をするようになって早4ヶ月。おぼろげながら、自分のペースや仕事の進め方がわかってきましたが、今のまだじゃまだ全然ダメダメです。もっと効率よくなるよう考えつつ、楽しく仕事ができるよう精進しよう。