All engineers need to demand proper compensation for their efforts. If engineers are willing to work for free it's no longer a profession.
Proper compensation means a level of pay which is commensurate with the demands of the job in all respects: educational requirements, personal responsibility and liability, compensation for extra effort, recognition of creativity, innovation and extra effort, and the contribution of the work toward the company's bottom line.
If you want to donate your services, there are numerous worthy volunteer agencies out there. Don't donate your time to profitable corporations people- you're just ripping off your fellow engineers.
As far as dedication to an employer is concerned, what goes around comes around. Treat me with respect and I'll give you respect. Keep me on when things are slow, invest in my continuous learning and offer me opportunities for growth and advancement ALONG WITH a fair compensation scheme which respects my contribution to the company and I'll give you my very best effort. Treat me as a commodity and lay me off when the economy takes a downturn and I'll leave the minute someone else gives me a better offer.