You're happy you still have a job during these tough economic times as scores of your friends are unemployed. Then your boss pulls you into their office and informs you that a more qualified programmer who is willing to work at half your salary will be replacing you.
Sounds impossible? The economic difficulties we are facing are so extreme that they will take years to resolve. Unemployment benefits will run out before highly qualified yet unemployed programmers are able to find jobs. Before they work for minimum wage they will be willing to work for half your pay because it will still be 5 times higher than minimum wage.
It's all about the people
The only way for companies to survive is to get rid of workers. A company can sell off their assets but at the end of the day, they can only employ the workers that can afford to pay. The programmers they will employ are those that allow them to do "more with less". They need the most productive workers.
Here are 5 tools (in reverse order of importance) that I am putting "in my tool belt" to survive the tough times ahead:
#5 - Team Foundation Server - This one costs a bit of money but it is worth it. Using this product for the last year has allowed me to manage multiple projects, log and update dozens of issues per day, manage and version source code and builds, and print reports easily for management. TFS also completely manages the change control process to QA code and move it to production. Using this tool completely eliminates what would be a full-time position.
#4 - Linq to SQL - The DAL+ provided a productivity boost for DotNetNuke developers. However, Linq to SQL provides a productivity boost that can only be properly described as massive. Intellisensce and compilation validation allow for fast query construction and a reduction in errors. Common tasks can have a 90% reduction in development time.
#3 - Silverlight - Silverlight may be seen by some as Microsoft's version of Flash or just "eye candy". What it represents however, is the ability to create user interfaces that use the mouse. This allows for highly productive interfaces that can shave valuable time off of common tasks. If an accountant is able to hold down the mouse and select a group of icons that represent accounts and drop them into a box that automatically totals the money, they are able to avoid the "click... wait... click... wait" that normally saps valuable time.
#2 - Workflow Foundation - When business processes still need to proceed with a reduced workforce, WF is the primary tool to achieve this. Your other alternative is a bunch of "If... Then..." statements. For complex business processes you would end up with a horrible mess of hard to debug spaghetti code.
#1 - DotNetNuke - It never fails to amaze me when developers code website from scratch. It could be a simple family website to hold pictures or a complex e-commerce website. It is not uncommon to see a team of 3 developer's maintain a website that only has about 300 pages and 10 major custom applications. Using DotNetNuke (and a liberal use of buying and reworking source code from the community), the same website, using DotNetNuke, can be easily maintained by a single developer. If your company is paying $210,000 for 3 developers and one developer is willing to replace all three of you for $35,000 you may find yourself unemployed.
There is nothing to fear
It important at this point to remind ourselves that we will survive no matter what happens. We may lose our house and our credit may be ruined and we may pack up our spouse and kids and move back with our parents, but we will survive. We may lose our car and be forced to live on a small fraction of our former income. We will simply learn to not eat out so much and to watch TV instead of going to the movies. We will realize that a day at the park with the family is really fun and makes us just as happy as a trip to Disneyland.
We will survive, but don't we owe it to ourselves and our families to do the best we can?