If you are not an EU national or a citizen of Iceland, Liechtenstein, Norway or Switzerland, you will need a residence permit to permanently stay in Germany. There are different residence permits for long-term stays:
If you already have a job offer, you can apply for a residence permit in your home Country.
EU citizens have the unlimited freedom of movement for workers – they therefore do not need a work permit. The same goes for nationals of the following countries Iceland, Liechtenstein and Norway, who receive the same treatment as EU nationals. Swiss citizens do not need a work permit, either.
Citizens of so-called third countries who want to settle and work in Germany need a residence permit as well as the permission of the German Federal Employment Agency. You may only receive a residence permit, if you have a concrete job offer. The permit must specifically state that you are allowed to take up employment. Please note, that you are not allowed to work until you have a residence permit stating that you have the permission to be employed.