Javaren » 09 сен 2018, 23:42
Раз уж забежала сюда, напишу заодно про поиски работы. 6 штук резюме разослано, из них 2 звонка от эйчара, из которых 1 тестовое задание и отказ и 1 собеседование (ответа пока нет, но походу тоже отказ). Занятие получается неблагодарное и возникает парадокс, что когда ты работаешь на себя, все хотят работать с тобой и многим приходится отказывать. А когда ты хочешь работать на кого-то, этот кто-то с тобой работать не хочет На исследование того, чем занимается компания и написание соответствующего cover letter уходит довольно много времени. При этом, если в резюме и CL нет 100% совпадения, эйчары просто не перезванивают. Срабатывает только "А я вот тоже такую же систему разрабатывала на одном своем проекте". Диалоги с эйчарами весьма забавны. Звонят по поводу вакансии PHP программиста, я им рассказываю, расписываю какая я хорошая и через 20 минут вопрос: "Ну вы имеете опыт с PHP, да? ", следом "Т.е. вы разрабатывали сайты на PHP, точно да?" Т.е. здесь приходится прорываться через вот эту стену абсолютно ничего не сведущих в технических вопросах людей. В отличие от России, где часто ИТ отделы отказываются от услуг hr менеджеров. Есть плюс, он в том, что здесь почти все компании рано или поздно присылают отклик и хоть знаешь, что их можно не ждать уже.
Вообще первый звонок был от какой-то конторы, занимающейся подбором персонала. Обычно от них них нет никакого толка, но я согласилась пообщаться. Я очень не люблю разговаривать на английском по телефону с людьми с акцентом. На том конце был чувак, кажется, из Венгрии. Не самый худший вариант, но трубка предательски потрескивала. Я стояла на кухне у открытого окна, опершись на подоконник и закрыв глаза рукой. Из 20 минут разговора 1 слово пришлось догадываться, 1 переспрашивать, это расстраивало. После чувак, конечно же, пропал.
Первый отклик на резюме я получила потому, что компания занималась разработкой AI для подбора релевантного контента, товаров и услуг. И тут-то я им и написала и про то, что уже разрабатывала нечто подобное, и про питон, и про машинное обучение. В вакансии было расписано про важность командной работы, этим же пестрил их сайт. Из разговора с hr выяснилось, что им требовался senior developer, который будет работать один над проектом по интеграции неизвестно чего с их системой (которая для меня является неизвестно чем). Затем прислали тестовое задание, а точнее вопросник: чем POST отличается от GET, REST от SOAP и какой предпочитаете, что такое SOLID принципы, вопрос по регуляркам, ну и т.д. в том же духе, примерно 25 вопросов. Серьезно? Для тех кто не в теме, эти вопросы никак не отличают senior разработчиков друг друга, они только позволяют выявить джуниора. Прислали отказ. Выглядит для меня это так:
- 2*2?
- 4
- сожалеем, другие кандидаты справились лучше.
Второе собеседование было пожалуй самым интересным в моей жизни, задавали на нем вопросы, требующие рассуждений, да и тим лиды произвели впечатление, хотя меня сложно удивить. Но обо всем по порядку. Я оказалась на ресепшен в уютном офисе с креативным дизайном. Хайтек, подсветки, всякие прибамбасы, окна в пол. Их офис имеет какую-то круговую структуру, ты идешь не по коридорам, а прямо по помещениям, где работают люди. Поэтому пока мы с эйчаром шли к тим лидам, я успела посмотреть половину компании. Первое, что удивило. Эйчар сказала, что приветствует девушек в ИТ. Как мне объясняли немцы, в Германии при прочих равных якобы предпочтение отдается девушке. Компания имеет с этого бенефиты, во-первых, она может публично об этом заявлять и это плюс. Во-вторых, наиболее гармоничными считаются коллективы с соотношением, близким к 50 на 50. В Германии, да и не только, есть целые сообщества женщин-программистов, курсы исключительно для женщин и все такое. К моему удивлению, здесь это очень сильно развито и удивляет количество. Случайно, просматривая митапы, я обнаружила закрытое сообщество девушек питонисток, разрабатывающих для Raspberry. И после этого я узнала про сайт, где продаются эти доски, пайтон библиотеки к ним и... там куча статей, как собрать робота и запрограммировать его и какие детальки надо у них купить. Там есть все, вплоть до колес и миниатюрных моторчиков! И тут-то я поняла, что куплю себе в следующем месяце... Лего для взрослых! Все мечтала собрать робота, паять-то я умею, но в электротехнике не понимаю вообще ничего, а тут уже все за меня придумали! Там есть все, даже сенсорные экраны, звуковые и прочие датчики и прочее. И на питоне, чтобы к примеру запрограммировать включение лампочки по кнопке, надо написать всего 3 строчки кода. Можно сделать хоть включение света по хлопку, хоть целый умный дом себе разработать. Я пищу от восторга, муж ржет, он уже привык к моим заскокам.
Так вот, ушла от темы. Идем мы с эйчаром, она открывает дверь и там, заняв собой весь проход между столами и стеной, развалилась собака. А чуть поодаль и вторая. Собаки! В офисе! Конечно, я слышала про дог-френдли офисы, но не ожидала, что первый же посещенный мною офис будет таким! Собака, которая была немедленно почесана за ушком, одарила меня взглядом: "Да что ж вы тут ходите, ко мне пристаете, полежать спокойно не дают".
Собеседование с двумя тим-лидами длилось 1,5 часа. Можно сказать, что все эти 1,5 часа мне задавали технические вопросы, про мое резюме и про саму компанию мы говорили очень мало. Наиболее активный из них имел очень хороший английский и его я понимала на 100%, а вот второй говорил тихо и приходилось вслушиваться. Вопросы задавали общие, не особо сложные. Типа представь, что мы разрабатываем свой фреймворк, как будем это делать, что в нем должно быть. Пусть наш фреймворк умеет только создавать блог, как это делать. Кто решает, какой скрипт будет обрабатывать кнопку нажатия формы (имеется ввиду контроллер). Как будем записывать в БД (проверка полей, sql-injection, модель). Что такое sql-injection, как выглядит, какие еще уязвимости бывают. Представь, что я твой джуниор и спрашиваю тебя, каким должен быть метод и класс (имеется ввиду класс должен выполнять 1 задачу, метод должен быть коротким и т.д.) Если создадим класс по записи в БД, который имеет методы save, update, delete, create будет ли он соответствовать принципу Single? А если мы сегодня хотим писать в MySQL, а завтра в MongoDB, как будет выглядеть структура классов (2 разных класса для скл и монго и абстрактный класс/интерфейс над ними с методами CRUD, для возможности добавления новых классов) Чем отличается абстрактный класс от интерфейса? Unit tests, зачем нужны, как писать, мок объекты, какие бывают виды тестирования. Если создадим такой-то класс и такой-то метод будет ли он тестируемым и почему. Было 2 вопроса с кодом, один по SQL - как оптимизировать запрос (ответ был индексы добавить, т.к. запрос совершенно нормальный), второй - представь, что делаешь code review, чтобы ты исправила (в классе создавался объект другого класса, соответственно ответ был dependency injection и рассказать поподробнее про это). SOLID рассказать про каждую букву, похоже, здесь это все спрашивают. Паттерны проектирования, какие использовала, какие бывают (Singleton, Factory и т.д.) И еще какие-то мелкие вопросы, что такое View, какие типы бывают, какие бывают шаблонизаторы. И про гит, ветки, команды и все такое. Это были вопросы на Senior Backend Developer. Ответила я в целом не плохо, но у них Laravel, которого я не знаю, плюс нужно хорошо уметь оптимизировать sql запросы и проектировать БД, так что я ни на что не надеюсь и ищу дальше. Ну ничего, зато красивый офис посмотрела, понравились вопросы, понравилась очень дружелюбная атмосфера.