Международный способ поиска работы - через Linkedin. Локальные для Германии - XING, Monster. Еще есть и другие сайты, но там мало вакансий, и все на немецком языке, которого я не знаю.
Для начала там зарегистрируйтесь (еще ранее не были зарегистрированы), подробно заполните профиль (образование, опыт работы, список технологий и пр.). Писать лучше на немецком, но английский тоже можно. В заголовке напишите свою профессию, специализацию и уровень - например "Senior PHP developer", "Android-developer", "Windows system administrator". Я еще добавил "Looking for a job in Germany", чтобы не было сомнений у рекрутеров. На некоторых сайтах есть отдельная галочка "ищу работу", иногда с дополнительным выбором, насколько активно и в каких странах/городах.
Но этого недостаточно. Так вы получите пару предложений в месяц. Если действительно хотите найти работу - надо самому просматривать вакансии и откликаться на них.
CV (резюме):
1 страница (начинающий) или 2 страницы (опытный). Если больше - некогда будет читать.
ФИО - 1 строчка.
Иногда советуют справа вставить свою фотографию. Но можно это не делать, потому что внешность программиста не важна.
Профессия - 1 строчка.
Контакты - телефон, email, Skype и пр.
Что знаете/умеете - список технологий, языков программирования, баз данных,
Опыт работы. От текущей к самой первой. Даты работы, название компании, ваша профессия, ваши достижения (кратко). То, что было давно, можно сократить до одной строчки.
Образование - ВУЗ, факультет, годы обучения, профессия.
Про ваши хобби, наличие прав, супругов, детей, животных и пр. писать не принято.
Cover letter (сопроводительное письмо).
Заголовок письма - название вакансии. Если у компании много похожих вакансий (рекрутер или крупная компания), то в письмо добавлял ещё ссылку на конкретную вакансию.
Само письмо - пару абзацев: кто я и зачем пишу.
Очень кратко описывал свои знания (все языки и технологии здесь перечислять не надо - все это есть в резюме) и достижения: "Backend-разработчик, имею опыт ... лет в ...". И в зависимости от вакансии выделял свой наиболее релевантный навык: работу с высокой нагрузкой, с менеджерами и подчиненными, сферу деятельности компании, администрирование серверов, конкретной технологией или языком программирования.
Важные особенности:
Я писал, что знаю только английский язык, а немецкого не знаю.
"Notice period" и что надо получить рабочую визу. Многие компании ничего не знают про Голубые карты и вообще про визы, поэтому боятся связываться с иностранцами. Вот, вы сами точно знаете, как надо оформлять иностранца на работу в России? И я не знаю про Россию, но зато уже выяснил про Германию. Приходилось объяснять: "Сейчас я живу в Москве, но планирую постоянно переехать в Германию. После подписания пред-контракта я самостоятельно получу рабочую визу Blaue Karte и перееду. От вас больше ничего не требуется. Весь процесс займет 2-3 месяца".
"Желаемая зарплата ... € annual gross". В принципе это можно и не писать, но я писал - иначе все-равно зададут этот вопрос на собеседовании, а мне жалко тратить своё время на повторение одного и того же сотни раз. К тому же отсекает явно нерелевантные вакансии, где они заявили кучу требований как для senior, а на самом деле они ищут junior с соответствующей зарплатой. Для первой работы в Германии зарплату лучше указать на 10-20% ниже средней для вашего уровня. Через год можно попросить повышения до среднего уровня, если вы успешно справляетесь с работой.
Я также сразу писал все остальное ответы на все вопросы Level 0, чтобы сэкономить и себе, и им время.
В подпись добавил ссылки на профили в Linkedin и XING.
Оба файла из Word сохраните в PDF.
Когда пишете email: cover letter - в тело письма, cv.pdf - прикрепить к письму.
Когда заявка на сайте - обычно есть отдельные поля или хотя бы возможность прикрепить эти файлы.