自社商品を開発しているところはもっと大変だよ。顧客の顔が直接見えないので、どんなアプリケーションを顧客がこれ望んでいるのか、ということを想像しないといけないから。
もちろん、市場からアンケートを採るとか色々方法はあるけど、ノイジーマイノリティの意見が優先されてしまった結果、大多数の購入見込みがある人たちからそっぽを向かれることは避けたい。
こういうマーケットリサーチを専門にやる部署があるところもあるんだろうけどね。ないところは、やっぱりプログラマがそこまで考えないといけない。
まぁ上のは業務使用の部分だけど、プログラムに直接関わるところとしては、例えば一般的な顧客が使用するデータ量を想定し、使っているパソコンのスペックを考え、そのスペックで最適に動作するようにプログラムを組む、とかね。
もちろんある程度の差はあるけれど、それでもメインメモリが4GB乗ってることを前提に作っちゃいけないよね。
これはただの一例だけど、つまるところ趣味プログラマと職業プログラマの一番の違いは、「このプログラムを使うのはどういう人たちなのか」、ということを最初から意識しながらプログラムを書いているかどうか、だろうね。
会社を維持・発展するための仕事、という意識でプログラムを作るなら、これくらいは考えないといかんのかなぁ、と思うのですよ。