It all depends on exactly what your skill set it. I got laid off a couple of weeks ago. Here is my experience.
My experience is in ASIC and FPGA design. I can do pretty much any digital design work, and can code RTL, as well as do ASIC physical design (laying out gates on silicon). I can even design the board that the ASIC or FPGA will go on. I actually am finding some job openings but none in my geographical region, so I am having to look for contract work away from home to keep food on the table.
Now, I AM seeing a ton of jobs for verification engineers. If you really learn SystemVerilog and UVM well, you will probably have it made and can find a job reasonably close to any geographic region that you want.
As far as "working for nothing," that is the general trend. I have had careers at two different employers since I left college (both jobs were around 6-1/2 years), and have seen the same thing at both. Companies want 95th-percentile employees for 50th-percentile salary. The focus is a lot more on the shareholders and very little on the employees who actually do the work. You need to give the employees at least as much consideration as the shareholders, or your company will start to drive off the good employees -- well I would like to think so. If every employer treats the employees as fungible assets, then I guess that there is little reason to choose one over the other.
Maybe engineers need a union... I have seen the evil that happens when the union is too powerful. Ideally, you want a fairly balanced system where both the employer and employee has power. Bad things happen when one side has a lot more power than the other. No union = employee has all the power, which is very bad for salaries. With unions, it is possible for the employee to have too little power, which makes the company less productive and competitive due to a bunch of mindless union regulations.