Computation heavy algorithms cost more money before optimized. You can feed your server systems enough RAM and CPUs to handle the CPU cycles and memory they require. This is not one of the most recurring investments and generally good for the application it is serving overall. If you are developing Smart Client/Desktop applications, your software can take as much as it can as long as it is running. However, in two cases careful software design can save (saving is earning) obvious money: Windows Phone and Windows Azure.
Let me tell you beforehand that this article is based on pure fundamental data structures, yet I have tried to give a Windows Phone and Windows Azure flavor lest developers should miss it. Everybody talks about new features, but this topic was needed to be brought to developers’ attention for our very nature of getting hands on the code first.