After working over 7 years as a Software Engineer I really started to appreciate the three C's rule of career development. Any job must have at least two of the three C's:

  1. Contacts which will help you to find your next engagement.
  2. Content, i.e. an exciting project that will improve your skills and will be challenging to do.
  3. Cash, i.e. a rate of pay that will makes you smile rather than resent your employer or hardly think about money in the middle of the month.

People ask me next questions "I got an interesting opportunity from company X. Should I change my job?", "Should I move to another country?" and so on. My advice is to look at the rules above, your new opportunity and really think.

You should learn at every job, then you don’t have much to lose. But after a while, when you’re not learning anymore, you should pack your bags and leave. The only reason people stick to jobs where they don’t learn anything is money or a promise that they will earn a promotion in the next year. The truth is the promotion might never come, and you will end up wasting your time.

Please, don't waste your time.