Agree. And let me add this bit. Test them yourself! We had a run of really bad programmers until I wrote a test that shouldn't take more than an hour if you actually know what you applied for. Once implemented, I started seeing degree after degree and certification after certification stumble through the test. Some took 6 hours (seriously, after 2 hours, you should have left and saved everyone their time). It got so bad I started doubting my test and was in the process of making an easier version until a couple people actually completed it. We hired those who finished the test correctly and they have essentially ended our dry spell of under qualified candidates.
Portfolios, and resumes can be inflated and lied on. And background checks help some, but there was one employee who gave us his friends from their old company who would lie for them. Testing them yourself is the best way to filter the unqualified.