Обычно рассказывают про уже свершившиеся истории: о том как кто-то уже нашел работу и переехал. Я - все еще в процессе, так что расскажу с чем сталкивался и к каким выводам пришел. Советы будут в самом конце. В марте 2020-го приехал я в Берлин на две недели, отдохнуть (тогда корону многие всерьез не воспринимали). Через неделю после моего приезда Германия (и все остальные за ней) закрыли все границы и объявили режим ЧП. У меня было окно в день, чтобы вернуться в Сербию, но я решил попытать счастье. Что-то мне подсказывало что я смогу воспользоваться ситуацией с короной, чтобы получить документы не выезжая. Так и случилось, нашел миграционного адвоката, мы с ним обсудили ситуацию и он взялся за мое дело. Дело было за мной - найти работу. В Германии ситуация на рынке труда для программистов, как и для всех остальных, в период пандемии переживала не лучший свой черед. Многие из тех кто работал на полную ставку были переведены на полставки. Те кто работал на полставки были уволены и уже работали на ту же компанию как фрилансеры. В общем, я был готов, что работу придется искать до полугода. Еще будучи в Сербии я пытался искать работу в Германии, но за два года никто так и не отозвался по двум причинам: Номер обратной связи был НЕ немецкий, а сербский, а значит я НЕ в Германии У меня на тот момент не было разрешения на работу (о чем почти все спрашивали в анкете на момент подачи заявления) Я не оправдываю, но понимаю компании которым эти два пункта важны, ибо визу обычно приходиться ждать месяцами, а иногда и годами (если позиция не очень востребована). Тут все зависит от настроения консульского отдела страны откуда вы подаетесь. Я знаю случаи, когда люди ждут своей очереди на термин по 18 месяцев, а есть те кто решает все за 2. Компании не хотят рисковать или терять время.  Как только адвокат получил для меня разрешение на работу в Германии, и я стал в анкетах указывать что виза у меня есть и оставлять  немецкий номер - то звонки от рекрутеров и HR компаний стали поступать сразу. Только в Августе у меня было 21 интервью. Конечно, из-за Ковида компании начали отвечать только к конце июля. До этого была тишина. Я был готов к тому, что многие люди с бóльшей квалификацией или с такой же квалификацие, но уже на немецком рынке, тоже потеряли работу и при выборе между ними и мной компании выберут их. Это издержки процесс рекрутинга. Подавался я на позиции Fullstack, Frontend и Backend разработчика. Благо опыта было достаточно, а еще я воспользовался пандемией и потратил время на обновление своих знаний, завершил пару курсов на Udemy, получил сертификаты, наполнил свой Github и порешал задачи на HackerRank, как потом оказалось, спрашивали все. Два года назад я выбирал Frontend фреймворки, и выбор пал на Vue и React, потому что чуть ли не каждый второй пугал тем что Angular уже вымер, и держится он только на том, что его поддерживает Google.  Мои наблюдения показали что Стартапы и новые компании ищут в основном React разработчиков.Но серьезные и большие компании ищут Angular разработчика. Который написан на Typescript. На который здесь моляться.Vue почти никто не интересовался, только одна компания просила меня сделать тест задание на Vue и то, на следующий день позвонили и сказали, что прерывают процесс рекрутинга на эту позицию, так как руководство решило подождать.  Почти все компании отзывались о Typescript так, как будто это венец эволюции. Лично я не люблю Typescript. Но для поиска работы пришлось овладеть хотя бы базовыми навыками.  Сразу бросилось в глаза то что, почти никто не искал PHP разработчика, на Backend в основном искали Java, Go, RoR, Node или Python. Из этого списка я работал только с Node.js, поэтому и подавался на позиции где указывался Node. На первом этапе Вам звонит рекрутер который сверяет Ваше резюме с вашими словами, спрашивая и проверяя некоторые данные. В основном, их интересует насколько давно Вы работаете с этими технологиями, какое отношение к вашей будущей позиции могут иметь Ваши опыты в других сферах если они есть, чем вас мотивирует работа именно в этой компании, есть ли у Вас виза и когда Вы сможете приступить к работе.  На втором этапе с Вами говорит кто-то из Тех-команды, или разработчик или менеджер. Вы обсуждаете разные технологии, какой и в каких ситуациях будете использовать и почему, что еще вы знаете, почему именно эти технологии и тд На третьем этапе, Вам посылают тест задание, слова это хорошо, но надо доказать на деле что Вы действительно знаете все о чем Вы говорили до этого. Самое частое задание которое меня просили выполнить - это написать конвертор валюты. Не простой скрипт, а полноценное приложение готовое к билду, со стилями и апишечкой Четвертый этап они называют Behavioral Interview - обычно Project Manager, пытается выявить сможете ли вы следовать правилам выполнения работ (обычно Agile), написания кода и составление документации. Последний этап - это знакомство с командой. К моему удивлению это было не "Ребята, познакомьтесь. Это Азиз", а вполне себе серьезный разговор с большинством команды. Каждый задает вопросы в своей сфере и пытается понять как именно ВЫ будете полезны именно им. До этого этапа я дошел только трижды. Agile: Представьте, что ваш директор дал вам час на написание определенного кода. Не важно, успеете Вы или нет. Вы должны начать писать код тáк, чтобы в случае, когда вы не успеете и передадите задание другому коллеге, он - взяв незаконченный код, понял что вы хотели сделать. 90% компаний ждали именно этого подхода от меня и этот ответ их полностью удовлетворял.На деле это выглядит так: Вы начинаете писать код, создаете функции оставляете их пустыми, дополните потом, или Вы или Ваш коллега, неважно - главное вы начертили структуру. То же самое касается Юнит Тестов. При написании обязательно надо создавать Тесты или до написания кода, или параллельно. Вы должны показать что вы будете командным игроком. Придумайте таймлайн историю своей карьеры - чтобы когда у вас будут спрашивать о том что и когда вы делали, вы рассказывали им свою историю. Со временем вы будете редактировать свою историю, добавлять новые детали, можно приукрасить но не надо перевирать. Создайте несколько резюме, не бойтесь удалять из резюме годы не имеющие отношения к вашей программистской деятельности, если подаетесь на программиста. У вас обязательно спросят чем вы занимались в период пропуска. Можете ответить что хотели попробовать свои силы в другой сфере тоже. И теперь вернулись в программирование, так как эта страсть не угасает никогда. Удалите или отредактируйте позиции с предыдущих работ. Или придумайте хороший ответ который их удовлетворит. Если вы были директором предприятия и подаетесь на разработчика - будьте уверены Вас обязательно спросят об этом. Вам даже могут из-за этого отказать, предположив что Вы будете скучать в роли подчиненного. Не бойтесь получать отказы. Получив отказ не стесняйтесь спрашивать причину. Объясните это тем что это важно для Вас, чтобы вы могли поработать над собой. Дело в том, что компании иногда бояться говорить о причине отказа, чтобы вы не попытались их засудить (бывали и такие случаи).  Из моих отказов один был мотивирован тем что: Склонен к решению всех проблем, это выбивается из стратегии компании выполнять одну задачу за раз.  Благодарю тех кто дочитал до этого момента, тех кто не дочитал тоже благодарю.  Я буду счастлив, если эта информация будет полезной кому-нибудь. В конечно итоге мы в ответе за тех кого приручили знания, которыми овладели и наша задача передать эти знания другим.