- Take care of your immediate responsibilities first (rent, food, loan payments, etc)- this is non-negotiable unless you have a golden parachute (i.e. mom & dad). It's quite honorable to work for survival.
- Always keep an eye out for a better job, the more interviews you go on the easier they will be. Never be satisfied where you are if personal growth is important to you.
- NEVER expect to just be given the most interesting work out of the gate at a new job. That's not the way it works. You generally have to prove yourself. If they are not delivering on a promise that may be a separate concern, but I'd be skeptical of a job that would give a rookie dev the "interesting" work (which is usually the architecture work).
- Identify problems at work and solve them in your free time, then present them to the appropriate people; that is the best way to fast track your own interesting work. Note the politics of your company and be sure to not step on any toes.
- Most importantly, do your own interesting work on the side. Start a company, create/contribute/maintain an open source project. I can't stress enough the incredible opportunities that exist for skilled developers that have some initiative.
- Get in a good routine that works to accomplish your short and long term goals, it's unusual for a job to satisfy that entirely.