An effective programmer cultivates pessimism. If a program is useful, it will have to be changed. If it is running, it becomes almost ipso facto useless.
Depending on its size, a software can appear as a (toolkit) project, as a (solution to a) problem, or as the (One True) Program. One True Program is quite rare : in fact, there should be only one. All the impostors are bloatwares, for the optimist to dedicate all his life to it, be him a programmer or a user, at the expense of his sanity.
Only by minimizing programs should computers become everyday tools. Becoming so transient we fail to notice them, like boards, tabs, pads, pennies and books. Ubiquitously enhancing human capacities by reducing creation time, diminishing carriage returns, making it click in less clicks.
A computer is more than a glorified pen : it's a magnifying pen.