1. Always do projects that brings most cash.
I started doing projects on TopCoder when I was in my last Year in Tongji University. The payment was actually excellent. I got 20k per month, even now after tax I don't make as much. However I choose to go to a big Corp. (Autodesk) to be a 'decent' software engineer. Sucks! - I don't mean Autodesk is bad, it an excellent company. However it's not the best for me, but I went there!
The logic is simple, people are willing to pay more cash for some project, it's because the project is more valuable. You should simply work on valuable project because then the experience you got is for more valuable things.
2. Impress your co-workers.
I believe that excellent engineers should earn big cash. Because of their solid programming skills, that can quickly build systems that seldom has bugs, are maintainable, robust, and create great value to the world. As long as there's someone realize some needs from the market, gather smart engineers to build them become crucial.
Your coworkers, knowing themselves to be excellent people, are always seeking this kind of market needs, and when they find it, make sure they believes you to be highly professional and have great team spirit.
3. When you've finally impressed someone, cherish it.
An valuable impression costs time and hard work to build up, and easy to destroy. I've lost something really big, then I know it's so valuable.
To be trusted, you must have been watched on for a few years. So always cherish things that you build up with time.
4. Quit bad companies ASAP.
Yes they do can manage to make the business run, because the boss is already rich and important. But what about you? Are you rich enough to kill time in this way? Do you enjoy wasting your time with no joy?
Don't judge a company by corporate culture/..., just by money. If it's about future money, make sure you can get it.