Is it common and acceptable for a postdoc to leave before his/her contract ends, for whatever reason? How early should a prior notice be submitted in this case?
Usually, a postdoc is a normal contract between an employer and an employee, and as such, terminating it earlier than its date depends on the contract and/or the country. It should be normally specified on the contract, otherwise the laws of the country should apply. For instance, in the UK, I have had a notice of 1 month, in Italy, it was 3 months.
It is normally acceptable for a postdoc to leave before the end of the contract, although it depends on the situation. If the employer does not provide any guarantee for further employment, and if the postdoc has found another offer, starting earlier than the end of the current contract, then that's the rule of the game. If the postdoc has found a much better offer (for instance, a permanent position), then that's also the rule of the game. If personal reasons are involved (going with a partner, going back to home country, etc), that's quite fair.
By acceptable, I mean that the employer should normally not make any problem (assuming the legal obligations are fulfilled), and might even be supportive in the end of the contract. A case that might not be acceptable is to leave in the middle of a contract, breaking some work commitment (e.g., an experiment to run) for a reason that might not appear very strong. But in the end, it depends a lot on the relationship between the postdoc and the employer. The point to remember is that Academia is a small world, and that in general, it is worth keeping good relationship with former employers. In doubt, talk with your current employer, or with a mentor at the place you're working at to know what the rule normally is.
To add to previous answers: if your postdoc includes teaching, you should finish out the academic year, or at the very least finish the current term, and give your department chair as much notice as possible, so that they can find a replacement or adjust teaching assignments.
In my experience (I'm a postdoc now, and hence also know a few other postdocs) leaving before the end of a contract is perfectly normal. The nature of postdoctoral work is that you have to be ready to take the next opportunity when it arises - other people certainly aren't going to make sure the timing lines up nicely for you! Of course if you leave very early in the contract, that might annoy people, but assuming you're reasonably sensible, everything should be fine. Remember that the people employing you have either been through the same process, or observed it over the years1.
As for how early the notice should be, that depends on the contract and the labour laws where you are. There may be certain legal minimums that have to be observed, but the figure seems to normally be 2-3 weeks. Of course your employer may let you out early by agreement, but as your employer is probably technically the University, don't expect a bureaucracy to be particularly flexible.
- Little side note, I gather this might be a bit different in the US, though currently in the process of changing (perhaps someone who went through the US system can add to this). A postdoc in the US has lower status that it does in Europe/Australia/New Zealand/..., so it might be the case that your employers haven't been postdocs at all.
In math, it's reasonably common for people to leave a 3 year postdoc after 2 years to take a tenure track job (or rather, it was reasonably common before the job market crashed). But fields which have postdocs attached to particular grants may be quite different.
I am currently a Computer Science postdoc in Europe. I have the understanding (and full support) with my professor that I will be gone if a faculty position presents itself. I guess, given that postdocs are really just researchers in queue for a faculty position, I am assuming other postdocs will have similar arrangements.
Other than that, I am assuming whether your professor is annoyed by you leaving depends on how much he depends on you, how much time you give him, and how valid your reasons are.
Before my current job I did postdoc at the university where I also received my PhD. I told my old advisor many months in advance that it would be good for me and my CV to leave my almer mater and home country, and he was fully supportive (== good reason, many months of changeover time). On the other hand, the same professor was pretty pissed when another postdoc quit his position to work in industry more or less without prior warning. Circumstances matter.
It should be indicating in the contract, and as long as you are following the written contract, the professor should not take it against you. It is like any other job.
Although, in my experience I have found professors who are not professional enough to respect that. It kind of questions the recruitment process for faculty positions, a mere PhD or some publications should not be the only factor when choosing a faculty member, it should also consider the moral ground, leadership skill and ability to motivate. The same way the professor is not your mom or dad, the student is not your maid.
If either or both parties are miserable, then this is not indentured service and therefore the contract should be terminated. However, the termination shouldn't be to the detriment of the lab i.e. if the PI needs time to hire a replacement, then the postdoc terminating the contract should stay on until the new hire is made and trained.
Sometimes it's better to let a toxic person leave rather than remain for their technical skills. I hired a very unpleasant postdoc in 2012 and luckily she resigned while I was still trying to figure out how to work with her. Now she is probably making her new boss miserable. She never asked for a recommendation from me so perhaps her 5 month stint in my lab was overlooked when she was recruited.
Postdocs out there take note:
Your boss is not your mum or dad, so if you hate either or both of your parents, punishing your boss is just psycho behavior
Your boss is not your mum or dad, so if either or both dote on you and spoil you, consider that your boss is not obligated to treat you that way. A postdoc is a trainee position but it's also a JOB. There are expectations and you are being evaluated by your boss/mentor and colleagues in your field. You are not a student anymore, so time is precious and is not to be wasted with drama and procrastination.
If you regularly got 'A' grades as an undergrad and graduate student, beware that these top grades may have been due to grade inflation. You will now need to get used to the idea that there is grade deflation for academic professionals and faculty. Peer review (journals, grant applications) is harsh and often brutal and you have to deal with it. Your postdoc mentor is not your enemy and can help guide you through that process.
I am a postdoc and I believe that it is right of the postdoc fellow where ever he wants to go though he/she should tell professor few months in advance so that professor can arrange some other postdoc. And if possible, it is better to finish your current project. Professors usually have funding and therefore it is not difficult to find the postdoc replacement for them. However, the postdocs are struggling for a permanent position that is quite competitive now a days specially in some high ranked universities.
There are normally two situations I have observed from the research point of view that a postdoc likes to leave. One is that the professor does not provide good feedback to his progress due to either he has no time since he is more interested in applying for funding or he is not capable answering postdoc questions (it does happens). In both cases, postdoc should leave and make his career better somewhere. The second reason of leaving the postdoc is when the promises that professor did at the time of hiring are not fulfilled. For example, if professor tells you that we are doing empirical as well as theoretical study of such such things and postdoc job will be to make such and such models and analysis, however when you start working, you come to know that they don't have any data and they will get it right in the middle of your postdoc when half of your time will be elapsed.
Sometimes you really feel that your research philosophy is not matching with the research objectives of your group. In such situations, it is beneficial for both to set apart as soon as possible so that professor's funding and postdoc's time can be better utilised.
In the USA, postdocs don't have a contract. Instead, there is an informal agreement between the postdoc and the advisor, that a project be completed. If the project proves to be a dead end, then another project is agreed upon. Leaving a project is viewed negatively, because in the USA, the advisor typically must invest at least $300, 000 on salary and supplies for the project. If the postdoc leaves - that investment is lost. For the advisor, the failure of completion of the project could jeopardize the success of future funding for their laboratory. In the USA, in addition advisors must maintain a certain level of laboratory funding to keep their laboratory space. So, no leaving the lab without finishing the project is not viewed favorably.