Programmers are a unique lot, Well last few weeks I've been pulled up for work on weekends. Almost 18 hour schedules a day. And what do I get in return? Not even a thank you. Its presumed to be a part of my job. Any other profession and unions would be up in arms about bonuses and pay for extra time. But not here, not in our profession. We don't have any work hours, we don't have holidays and vacation, we don't have a concept of over time pay. What we get in return are stupid certificates, mementos and some bravos(as though somebody cares about them).
Compensations in the software world are a huge rip off. There is no co relation between the work and pay that we get.
And please don't tell me about start up's. If you are lucky by any means to end up with good amount of stock, and an another round of luck if the start up is successful then you are OK. But most of us fail ingloriously, spend best years of lives burning through crazy hours, without vacations for peanuts in return. The Start up lottery is what it is, its a lottery.
Over the years my net learning's are:
1. Corporate/Company loyalty is JackCrap.
2. Work only as much as your paid, use rest of your time for personal projects and other ways of making money.
3. Save money, and invest for your early retirement. Never having to depend on employment to make a living post 40's.
4. Make people pay, never do anything for free. Cash counts.
5. Your biggest asset is time. Use your time well to make money, and invest it over large periods of time to make more of it.