「単純作業好き」は「プログラマ」向き
どれだけ効率を上げることができるか?
プログラミングの至上命題は「効率を上げること」である。
プログラムが行う演算は本来プログラムなど用いなくても可能であるが、圧倒的な計算速度というアドバンテージを利用すると人力よりはるかに短い時間で演算を行うことができる。世の中のすべてのプログラマはそのためにプログラミングをしている。
趣味でツールを作ったりするプログラマも多いと思うが、(私含め)彼らの目的はただひとつ、
地道に手作業>プログラミング時間+プログラム実行時間
である。この差が大きければ大きいほどプログラマは時間を節約することができる。そうするとほかの作業の時間を短縮するプログラムを書くことができ・・・というすばらしい好循環が待っている。
実際の操作に基づいてUIを設計する
作業短縮のための自動処理プログラムには2つあり、
と分けることができる。大きな違いは「UIの有無」である。
UIのあるプログラムでは、本来の自動処理のルーチンによるパフォーマンスと、さらにもうひとつ「作業フロー」が実作業時間に非常に大きい影響を与える。
- ボタンの文字や位置などが広く利用されているアプリケーションに準ずる設定だとユーザに違和感がなく、また新規学習の時間が減る
- 同じ処理なら2クリックよりも1クリック
- ファイルを保存する場合はファイル名の自動生成なども積極的に行う
等、この利用感の向上には地道な検証が必要になる。これを突き詰めると作業時間を1秒短縮するために開発に1時間かかったりするわけ。結果、本末転倒になったりするんだけど、一度改善を行えば今後は永遠にその作業は1秒短縮できることが約束される。そのへんのマネジメントの結果、自分専用に作ったツールなんかはエラー処理完全無視とか、バグ放置とか、中途半端なものになる。(多分みんなもそうだと思う)