Good post.  Random thoughts from me on reducing layoff potential:<p>When hiring people, hire people that can work in many different roles&#x2F;projects, think about hiring a person that will improve the business, not just someone to do a particular thing.  This is not saying hire marketing&#x2F;programmer&#x2F;designers, but rather, know that a software developer can learn anything in a few weeks and is not just a developer in language XYZ.<p>Hire people when you are really hungry for people and can&#x27;t handle what you need to do with the number of people you have in a particular area, and you expect that need to be sustained for the long term.<p>Avoid the idea that you can hire contractors for short term things, when contractors is really a euphism for disposable employees.  Push management to hire full time employees.<p>Make sure there is available revenue and burn rate to cover people.  Even if you need help, hiring people when you are in dire straits may be bad for them if finding a new job is difficult.  (Still, providing jobs == good).<p>When projects end, give these folks new jobs and give them time to learn new things, rather than getting rid of them and then hiring new people for the next project that may be booting up in just a few weeks.<p>Larger companies seem rather guilty of thinking a person just is hired for a department&#x2F;project, and somehow thinks it&#x27;s ethical to shut down or shrink whole departments.  They should instead look about how to have lots of potential ideas in the pipeline for the future and move people around better.