Собеседование на должность PHP Backend Developer в Германии
Коротко обо мне: программирую c 2003 года. По образованию IT specialist и Application Developer. В последние годы основным направлением деятельности была разработка интернет-магазинов аля Hugo Boss и Tommy Hilfiger. Проснувшись утром в один прекрасный день, пришло осознание, что пора в этой жизни что-то менять.
Хочу поделиться своим опытом прохождения собеседований на должность PHP Backend Developer в Германии. Собеседований, в свое время, пришлось пройти немало. Но о двух наиболее запоминающихся хочется рассказать, возможно, кому-то и пригодится в будущем мой опыт.
Компания 1.
Основное направление деятельности — разработка сайтов.
Кол-во сотрудников: более 30.
Описание должности:
1. Хорошие знания PHP и многолетний опыт работы
2. Прагматичное мышление, ориентация на результат
3. SOLID, DRY, YAGNI vs. BUFD
4. Понимание смысла TDD и BDD и умение их применять
5. Понимание технологий HTTP, Frameworks, Patterns
6. Умение объяснять принятые технологические решения
7. Высокий уровень мотивации и желание работать именно в данной компании
Собеседование
Первым шагом было отправление резюме и мотивационного письма. В подробности вдаваться не буду, но если кому интересно, могу в отдельном посте написать о негласных правилах написания резюме в Германии.
Через 3 дня пришел ответ с приглашением прийти на собеседование в офис. Назначили дату, предупредили, что вся процедура займет примерно полдня. Сначала фраза «полдня» меня смутила, потом, оказавшись непосредственно на месте все встало на свои места. Об этом подробнее:
Началось все с небольшого интервью ( 30 мин.)
Вопросы, которые задавали:
Откуда вы узнали о нашей компании?
Какие у вас ожидания от предстоящей работы?
Есть ли у вас опыт работы в компаниях с плоской иерархией?
Почему вы не хотите открыть свою IT-фирму? (в моем резюме были указаны 3 года фриланса)
С какими языками программирования вы работали и почему именно остановились на PHP?
Что знаете об Agile?
Что такое SOLID и каковы основные принципы?
Если бы вы придумали свой собственный язык программирования, какие фичи вы бы переняли из других языков?
Еще было очень много технических вопросов, подробности, увы, не помню. Обсуждались конкретные ситуации, как бы вы написали код при… или в случае… Попросили написать алгоритм к заданию с фибоначи.
Затем небольшая кофейная пауза и экскурсия по офису. (20 мин.)
Далее посадили в пару к одному из программистов и дали задание, которое мы с ним вместе должны были сделать. (1,5 часа)
Обеденный перерыв со всей командой разработчиков (1 час)
Затем попросили дать отзыв, как, на мой взгляд, прошло собеседование, как мне понравилась фирма и не пропало ли желание в ней работать. (10 мин.) Попрощались, обещали связаться со мной в течение 2ух недель.
Через неделю ровно мне позвонили и спросили, какую зарплату я себе представляю. После того, как цифра была названа, вежливо поблагодарили и обещали написать в ближайшее время.
На следующий день пришел очень вежливый отказ, где было сказано, что решение было принято в пользу другого кандидата.
Кстати, частенько приглашения на интервью и ответы приходят на английском, а само собеседование на немецком.
Компания 2.
Основное направление деятельности — разработка онлайн-игр.
Кол-во сотрулников: более 300.
Описание должности:
1. PHP 5.4
2. Желателен опыт работы в game development
3. MySQL
4. Знание фрэймвокров аля ZF2
5. Опыт в тестировании
6. Знание REST и RPC
7. Осознание, что Linux это не животное
8. Особая любовь с HTML/CSS и JavaScript (jQuery)
9. Понимание разницы между ‘agile’ и ‘хаос’
10. Свободное владение английским и немецким языками
Собеседование
На этот раз нашли меня, нашли через немецкую сеть xing.com. Вкратце описали должность и требования и в случае заинтересованности попросили отправить резюме.
Game Development – штука интересная, поэтому не долго думая резюме было отослано. Единственное, где оставались сомнения — это знания английского. Читаю и понимаю все, но не говорю.
На следующий день звонок с приглашением на личную встречу.
На самом собеседовании присутствовали 3 человека: HR-работник, который меня нашел в Xing, руководитель отдела разработки и рядовой PHP-Developer.
Интервью. (30 мин.)
Вопросы, которые задавали:
Есть ли у вас опыт работы в Game Development?
Почему больше нравится Backend, а не Frontend?
Почему вы хотите уйти из фирмы, где проработали 9 лет?
Как вы относитесь к внеурочной работе?
Чем вы занимаетесь в свободное время?
В какой области вы считаете себя наиболее успешным, а в какой области есть потенциал роста?
Кем вы видите себя через 10 лет?
В конце интервью руководитель отдела разработки сказал, что он заинтересован в совместной работе. Сказал, что в ближайшее время мне пришлют тестовое задание, с которым надо будет справится в течение максимум 2 часов.
А вот и само задание:
Имплементировать систему комментариев с PHP и MySQL. Рядом со статьей пользователь может писать комментарии, которые в дальнейшем также могут быть откомментированы им самим и другими пользователями. Регистрацию и Правила пользования можно не учитывать. Следующие пункты обязательны:
· Акцент на функциональность, а не на дизайн
· Таблицы в БД должны быть понятны и просто оформлены
· Комментарий должен содержать Имя, Email и Текст
· Внешний вид комментария на усмотрение
· В случае добавления ссылки в комментарий, она должна быть рабочая и кликабельная автоматически
· Для избежания спама имплементировать Капчу
· Новые комментарии должны автоматически публиковаться на странице сайта (а не после обновления страницы)
· Удобное и понятное описание CSS и JavaScript
· Во всех браузерах форма должна выглядеть одинаково
Для решения задания можно было использовать готовые фрэймворки, что сводило само решение задания к 10 минутам.
Через неделю позвали на второе интервью, на котором присутствовал только HR-специалист. Обсуждалась зарплата и организационные вопросы. По всем этажам фирмы мне провели экскурсию. Затем через пару дней по почте пришел договор со всеми ранее обговоренными пунктами.
Мои выводы
1. Если вы пишете резюме, то вписывайте туда все программы и фрэймворки, с которыми вы хоть 30 мин. в жизни, но работали.
2. В мотивационном письме постарайтесь себя вкусно продать, при этом проштудируйте историю фирму и узнайте все о корпоративной культуре. Во многих фирмах в Германии тебя могут не принять на работу из-за того, что ты не понравился команде. И никакой многолетний опыт работы и потрясающая квалификация тебя не спасут.
3. Знания английского, как показывает практика, не всегда нужны в том объеме, о котором пишут в описании должности. Чаще всего речь идет об обычном понимании языка и умении читать технические вещи на английских сайтах, блогах и т.п. Т.е. не обязательно быть птицей-говоруном.
4. Знайте себе цену, заранее посмотрите годовой уровень зарплат в вашей области и просите на 20% больше, чем вы хотели бы получать в итоге. В большинстве случаев будет торг.
5. При личном собеседовании важна инициативность и коммуникабельность. Постарайтесь с ходу предложить пару идей для развития фирмы и идеи эти обосновать.
6. Задавайте встречные вопросы и показывайте заинтересованность.
7. Если вам предложат выполнить какое-нибудь задание, не пугайтесь и свободно пользуйтесь интернет-ресурсами, т.к. главное – показать результат, а не заученные в университете истины.
8. Каждую строку кода будьте готовы объяснить.
9. Не бойтесь давать фидбэк о собеседовании. Просто сказать, что вам все понравилось, недостаточно. Если понравилось, уточните, что именно, если есть вопросы, задавайте сразу. Если вопросы появились уже после собеседования, отправьте их по Email.
10. Принципы SOLID спрашивают почти везде.
11. В резюме указывайте ник в Github.
12. Continuous integration тоже часто спрашивают.
Автор: NNadine