Friday, October 2, 2009

Be prepared to leave

I was totally motivated by the book -The passionate programmer. Now I am trying to copy the author’s idea and write an essay using his style, the name is called “Be prepared to leave”.

Usually people start to update their resume when they want to find a new job, then they realize their problems: they found it is hard to review what they did in the past few years; they realize their skills might be outdated; they don’t know where to go, just randomly submit their resumes. Every thing seems to be by accident, not deliberately.

So how can we plan our career deliberately? My answer is be prepared to leave. If you have this mind set, you have a positive attitude of doing your daily jobs. Suppose you are going to leave or be fired, then it force you to update your resume regularly, to update your resume, it forces you to review yourself constantly:

• For every project you finished, you ask yourself: how did I finish it, what kind of skills I used, how can I add a good achievement in my resume? How can I improve it? How can I use the current new technology into my project, so that I can improve my work and also I can add it into my resume? If you summarize and review your work constantly, you will find you have many good points to put into your resume.

• Find your blind spots. Since you are going to leave, you need to take chance trying to learn what you don’t know. Think it proactively, when you find your blind spot, then try to fix it as soon as possible. When you find you have a challenge to do some job, then it is probably a blind spot for you, and it is a good opportunity for you to get improved. For example you found it is very painful for you to deploy or build a project, because it needs you manually do many different steps and easy to make error. So why not improve the build script and improve the build automation process? If you have this attitude, you will find every job is interesting, even it is a maintain job.

• Research the market regularly, try to find the skills the market need and what skills you need to improve and learn; try to find the company you want to go and find out what kind of technologies they are using, then try to learn it, try to use them into your current project.

In summary when you have a “be prepared to leave” attitude, you will not find your daily job is boring any more, you will find many opportunities to improve yourself. Sooner or later your skills and thoughts will go to next level, and you will be easily got a good new job when chances come.


  1. People who can easily leave will have more confidence in everything they do, including negotiating raises.

    It's a job search cliche, but the best time to look for a job is when you already have one. Your insight will help people get ready, and they should take it to heart.

  2. The "be prepared to leave" mindset has hurt my current job--as soon as the manager got wind of it, for whatever reason I did it, he placed me in the "not to be promoted, not to be given any important responsibilities" bucket. Now I might as well leave.

  3. An excellent word. I must point out that your "be prepared" is mostly an emotional state, i.e. not so much as having your resume up-to-date, etc.

    This reminds me of a saying of a friend's father: (who happens to be Chinese--I'm not sure how much tao here):

    "Don't get too comfortable."

    Comfort/routine/complacency is the opposite the 'ever vigilance' of keeping your skills sharp, knowing what the market needs and offers, and keeping up your professional connections.


  4. Excellent Post!!! It's really thought provoking and reminds us that we should not be programmers by accident/chance.