Позвонили мне тут из рекрутинговой компании и предложили прийти на собеседование в компанию theweathernetwork. Зарплата на много выше, чем у меня сейчас, лучше бенефиты, работа за пределами Торонто (где жилье дешевле) и работа над простым сайтом погоды, а значит никакой e-commerce больше и на много проще. Я подумал, и решил – а почему бы и не поехать. Собеседования в Канаде бесплатные, поэтому можно поехать и посмотреть, что там будет.
Но только собеседования не бывают одинокими. Первое было по телефону и прошло вроде бы нормально. На второе собеседование поехал лично в саму компанию и общался с 4-мя людьми (понятия не имею, кто это были). Опять, вроде бы прошло нормально.
Еще через день позвали на третье собеседование. Там был явно начальник аналога отдела кадров и будущий начальник отдела ИТ, в который набирали народ. Компания делает новый проект thetravelnetwork и под него набирает программистов. К тому моменту они уже наняли начальника и он проводил собеседование.
Пол часа общались в общих чертах и потом этот начальник начал задавать «технические» вопросы, после которых я понял, что я работать в этой компании не буду.
Первый вопрос был что-то типа как я буду обрабатывать ошибки проведения оплаты на своей странице. Ну я подумал, что человек намекает на транзакции и начал описывать, что я сделаю в коде, как проведу предварительные проверки, создам транзакцию, выполню запросы к серверу и завершу транзакцию. Он все это выслушал и говорит: «это все прекрасно, но я имел ввиду, как ты обработаешь ошибку, если во время оплаты произойдет ошибка». Тут я не понял, что он хочет и даже потерялся.
Ну, говорю, в C# полно вариантов проверить на ошибки, включая блоки try..catch и просто проверять результат работы каждой функции. Если что-то пошло не так, просто отображаем ошибку пользователю. Смотрю в глаза этому «начальнику» и вижу непонятный блеск, ведь я ничего такого не сказал. Он говорит – вот, к этому я и веду. Как ты отобразишь ошибку пользователю. Блин, он всю эту фигню придумал только для того, чтобы я объяснил ему, как отображать ошибку на странице?
Я еще в большем замешательстве говорю, что можно в html коде страницы поставить div блок, дать ему класс error и прорендерить туда ошибки. При этом с помощью CSS можно изменить стиль div по своему усмотрению. Мой ответ был неверным. Оказывается в Visual Studio есть какой-то компонент для отображения ошибок и нужно поместить его на страницу. Я хотел встать и уйти. Работать под начальством драганддропера я не собираюсь. Я остался в кабинете только для того, чтобы посмотреть, чем все это закончится.
Как я буду проверять на ошибки формы. Я говорю, что с помощью JavaScript буду проверять на стороне клиента, чтобы сэкономить трафик не мучать сервер кучей проверок, но доверять этому не буду и после отправки данных, буду проверять на стороне сервера. Этот начальник явно не понял меня, и говорит, а зачем второй раз проверять на сервере? Попытался ему объяснить, что проверку JavaScript легко отключить. Большинство народу не будет этого делать, поэтому можно сэкономить трафик и ресурсы сервера, но если хакер сохранит страницу на своем компьютере и удалит JavaScript проверки, то проверка сервера не позволит сохранить на сервере некорректные данные.
Это драганддроперское создание не поняло меня, как это можно удалить JS из страницы. Он спросил меня, а можно ли удалить проверку, которую делают валидаторы Visual Studio. На что я сказал, я понятия не имею, потому что не использую их. Я сказал, что я буду делать проверки на обеих сторонах – клиенте и сервере и этой мой окончательный ответ, и никакие подсказки зала мне на фиг не нужны.
Я так и остался на своем месте и стал Team Leader в моей команде из 4 человек и мы втроем поддерживаем два сайта, один из которых очень крупный (четвертый программист в команде только учится), и скоро запускаем еще один большой сайт. А за последние две недели я уже несколько раз получал от различных рекрутинговых компаний письма с предложением, которое явно соответствует theweathernetwork – крупная медиа компания до сих пор ищет программистов. Неужели драгендроперов нет в Торонто? Или для работы над одним средним проектом нужно болльше народу, чем над крупным сайтом типа, например, ebay (я работаю не на ebay, но по сложности сайт моего клиенто примерно такой же, если не сложнее).
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Михаил, такие как ты говоришь "драганддроперское создание" в РФ тоже хватает). Я когда менял работу пришел на собеседование мне рассказали что типа надо 1с 8.2 кодить для мясной переработки. Спрашивают давно я кодю на 1с я говорю что на 7-й версии 5лет на 8-ке не кодил, далее сказал что там не чего такого страшного нет. Меня допустили к пк дали задание 1час сказали у меня есть. Через полчаса мне сказали что мое время вышло. И там тоже народ посмотреть на то что сделал и говорит а почему я не использовал код на проверку обязательных полей для заполнения). Я говорю а зачем придумывать велик если есть валидаторы проверки который и так не пропустят сохранение в бд). Получается и код писал только там где надо было писать для расчета, подстановки и для печать документа. А начальника ИТ отдела задело то что спец функции данной платформы и не создаю лишних функций и процедур. А так все что они поставили я все сделал за исключением я не написал не строчки кода на стороне сервера. На что я ответил что речь шла о часе а я пробыл за ПК 30мин. В итоге с этой конторы посей день идут письма о приглашение на собеседование. Не которые начальники не понимают что они хотят видеть в итоге. И набор персонала будет идти вечно в таких конторах т.к, я ходил 27 февраля а письма все идут и идут...
Меня кажется, босс удивился, потому что подумал зачем писать 2 кода проверки и на клиенте и на сервере когда на этих самых Validation компонентах все это делается изменением одного свойства.
Кстати, я уже в Канаде 2 недели. Начинаю искать работу. Пока не представляю насколько сложно найти работу в Калгари. Если тут есть люди из Калгари помогите найти работу ?
да ничего страшного, в соседнем дружественной нам конторе, начальником программистов был поставлен чемпион РФ по перетягиванию палки :-)
видимо думали, что раз с палкой справится, то и программистов работать заставит
Михаил, такой вопрос:
С таким опытом и знаниями, как у тебя, - почему ты до сих пор работаешь на дядю? Ведь ты же с легкостью можешь придумать свой собственный проект, организовать свой бизнес, продавать свои разработки. Я понимаю что это трудозатратно и не стабильно в первое время, но все же создавать что-то свое интереснее и обычно прибыльнее, чем писать для кого-то.
Для того, чтобы не работать на дадю, нужен не опыт, а как раз уникальная идея и нужно иметь предпринимательскую жилку. Я работаю в обоих направлениях.
Михаил, если тебя не затруднит, расскажи, пожалуйста, как ты учился говорить по английски. Работал с преподавателем или занимался по аудиокурсам? У тебя сильный акцент?
Напишу заметку сегодня об этом, чтобы не мусорить здесь в комментариях
о, это будет круто!)
может не в тему, но на хабре появилась статья "Устраиваемся программистом за рубежом", думаю вам будет интересно
http://habrahabr.ru/post/142950/#habracut
Вот отличный сайт, там много примеров реальных собеседований (как по России так и за пределами) в том числе по Objective-C, Java, Ruby http://it-interview.ru/
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.