I'm a recent graduate looking for jobs as a software engineer and trying to understand the industry.

My question:

* Are permanent contracts easy to get? Say I spent 2 years at a company (with a limited contract), then they want me to stay for another project, then is it normally, in the German software industry, that I will get a permanent contract or should I negotiate for it?
* And what about entering a new company after 2 years of experience, is it easy to get a permanent contract from the very beginning? Or are there special conditions for it?