> for new college grads or low experience (under 3-5 yrs) people times are tougher because they are competing with outsourced firms. Those positions
> are the first/easiest to outsource and every manager wants to look like she is saving the co money by outsourcing.
Most companies are trying very hard to hire good technical people right now. That doesn't mean you have to know 50 different skills, but it does mean you should be able to deliver reliably in a particular area. Companies will definitely bring you at a good rate/salary if you can deliver without needing a large ramp-up time.
For people with good technical backgrounds but perhaps not the "rockstar programmer in 10 technologies" that companies unreasonably demand, consider a more junior position in project management or QA. If you can contribute to the day-to-day delivery of a project it gives you a good opportunity to build up programming skills if that's what you want to do eventually, or alternatively a path towards a senior program management role. Most application development companies are looking for such positions all the time. We certainly are at Thumbtack, at least.