Sound advice, but I guess this is more for sticking with a craft and getting better at it.<p>Hmm, as a programmer who works for a salary, I think it is a very important skill to know when to quit the circumstances which are stopping you from being happy with your daily work.<p>You can be extremely spirited and self-motivated, but many things will gnaw away at your core. A micromanaging boss who thinks programming is easy (because he did it a decade ago), an office environment where you are regularly entangled in poisonous politics, or people who plain demotivate you.<p>When it is time to go, it is time to go. :)