понедельник, 28 сентября 2009 г.

Спасибо тебе, Assembler

Я получил предложение.

Краткие итоги:

  • Почти 5 месяцев без работы, из них 4 месяца активных поисков.

  • Собеседования с 12 работодателями.

  • Лишь 2 из них отказали. 1 сделал предложение, 1 звал на ещё одно собеседование, а 10 остальных просто замолчали, и на емейлы не отвечали.

  • Всего 17 личных и 2 телефонных собеседования (если я никого не забыл).

  • Около 7 встреч с рекрутерами (сделать копию паспорта, попить кофе, поговорить ни о чем).

  • Количество вакансий, на которые подавал: кто его знает... наверное, тысячи полторы. Правда, среди них было много дубликатов.



Я уже давно сократил свои запросы по зарплате... потом сократил ещё раз, но толку не было. Находясь в отчаянии, даже прошел два собеседования по Delphi. Кроме лета и глобального кризиса в поисках мешало и слишком богатое резюме: за последние 5 лет я сменил 6 работ. Практически каждому работодателю приходилось долго объяснять причины. И вдруг начали звонить. Так всегда бывает. Уже четвертый раз я искал работу летом, так что мне хорошо знакома летняя депрессия и шквал звонков в сентябре.

Рекрутер оказался хитрым жуком - он обманул и меня, и клиента: без согласования со мной назвал им сумму больше, чем я просил. Очевидно, чтобы его комиссия была больше. В результате зарплату мне назначили такую же, как и была на прошлой работе, чему я очень рад.

Собеседование, которое принесло мне удачу, было необычным. В течение часа почти все вопросы были так или иначе связаны с оптимизацией кода. Например: что быстрее - for или foreach, и почему? как hashtables устроены изнутри? как устроены индексы в базе данных? что быстрее - array или list, и почему? как устроен Interlocked, почему он быстро работает?

Кое-что я ответил, потом задумался и сказал: "Не знаю, как в .NET, не интересовался особо... а в C++ было так-то, но, наверное, в .NET сделано умнее". При слове "C++" собеседник обрадовался и сказал, что .NET работает так же тупо, как и C++, так что все мои соображения оказались справедливыми.

А потом на вопрос про Interlocked я ответил, что, вероятно, он использует всего одну мнемонику Assembler, поэтому и работает быстро и безопасно. Как образно сказал наш друг Игорь, я случайно нащупал эрогенную зону!

- Ты знаешь Assembler? А почему же ты не включил его в резюме?
- Ну, блин, писал на нем 15 лет назад, и ни один рекрутер про этот навык не спрашивал.
- Ты что, обязательно надо было включить! А как делать цикл в Assembler?
- Эээ.... loop? И ещё какие-то другие похожие варианты...
- А почему он быстро работает?
- Ну... потому что одна мнемоника...
- А ещё почему?
- Ну, я уже не помню, пожалейте...
- Нет, вспоминай!

И вдруг из глубин подсознания, из-под пожелтевших листьев ненужных знаний всплыло: read-ahead cache! Поскольку процессор точно знает, куда пойдет наш цикл, он может закэшировать данные заранее, не дожидаясь, пока мы их затребуем.

Бинго!


Перед первым рабочим днем я не волновался. Потому что уже хорошо знаю - если shit и happens, то никак не в первый день.

Пока впечатление хорошее. Уже был готов стол и компьютер с двумя мониторами. Меня поразило, что на столе лежала папка с надписью "Добро пожаловать, Валентин!" В папке тетрадь, ручки, бланки визиток, брелок для ридера (с его помощью можно ходить в туалет без посторонней помощи). Кроме того, там инструкции по пожарной безопасности, по правилам использования кухни, краткая история фирмы, сведения о больших начальниках с фотографиями и пр.

На прошлой работе у меня вообще не было induction. На позапрошлой была какая-то чушь: о великой миссии нашей фирмы в жизни Лондона и планах развития личной коммуникабельности... В этот же раз всё было быстро, по-деловому: кадровичка показала, как резервировать комнаты для совещаний, находить телефон и фотографию сотрудника, рассказала о бенефитах и о том, что делать с отпускными и больничными. Сняла копию с моих документов. Дипломы на украинском языке никаких вопросов не вызвали, переводы я не показывал.

Кого-то недавно уволили за разглашение конфиденциальной информации. Кадровичка предупредила, что конкуренты пользуются самыми грязными методами. Звонят и говорят что-то вроде: "Алло, это Вася? Привет, это Петя из бухгалтерии. Слушай, мне тут срочно надо сделать шефу отчет, а программа что-то зависает... Ты не подскажешь, какая у нас была прибыль в прошлом году? Ага, понял... А сколько новых клиентов? Спасибо, выручил!" А доверчивые программисты всё рассказывают. Ну, я вроде в этом смысле человек бывалый, в моем украинском банке к защите информации относились очень серьезно...

Но могут действовать они
не прямиком:
Шасть в купе — и притвориться
мужиком,
А сама наложит тола
под корсет...
Ты проверяй, какого пола
твой сосед!


Внимательно прочел employee handbook. Позабавило два момента:

  • Запрещается приходить на работу в грязной одежде. Если вонь становится невыносимой для окружающих, провинившегося отправляют домой принять душ и переодеться, причем потерянное рабочее время не оплачивается.

  • Запрещено использовать Интернет в личных целях. Примечание: исключением явлются развлекательные цели (например, онлайновые игры), если они не мешают коллегам и не отвлекают тебя от работы.

17 комментариев:

Анонимный комментирует...

Поздравляю!
Насчет помыться - это наверное из-за бабаев ввели, прости Господи.

Анонимный комментирует...

Привет!

Подскажи, пожалуйста, точно ли Interlocked быстро работает?

Здесь написано, что как раз не очень-то быстро:
http://stackoverflow.com/questions/1034070/performance-of-interlocked-increment

И еще вопрос общего характера: в какой книге можно прочитать ответы на эти вопросы из собеседования (касающиеся оптимизации)

Заранее спасибо за пояснения!

Tagir комментирует...

Поздравляю! рад наверное как слон? после четырех месяцев-то.

Valik комментирует...

Да, я очень рад.

А с Interlocked, похоже, и правда вышла незадача. Думаю, что ошибся и я, и собеседник :) Насчет книг не подскажу, я сам давно не интересовался этими вопросами.

dp комментирует...

И снова поздр :)

Bashir Magomedov комментирует...

Поздравляю!
Это shico с форума Чемодан! Мы полчается коллеги - программисты. 4 месяца - кошмар. Надо мне умерить мой неуемный оптимизм! И приготовиться затянуть поясок потуже... :(

Анонимный комментирует...

Поздравления!!!!

Z комментирует...

"Запрещено использовать Интернет в личных целях. Примечание: исключением явлются развлекательные цели (например, онлайновые игры), если они не мешают коллегам и не отвлекают тебя от работы."
Надо будет своим паказать. Пацаны-то не знают..

Valik комментирует...

Башир, может, ты найдешь и гораздо быстрее. Сегодня официально закончилась рецессия в Британии. Кроме того, летом всегда работодатели впадают в спячку.

Ну, и ещё очень важно на какую зарплату и должность претендуешь. Один из моих читателей был на Родине ген.директором фирмы, ищет работу уже больше года, кажется. С другой стороны, другой приятель нашел работу поскромнее буквально за пару недель.

Но, конечно, лучше быть психологически готовым к тяжелым поискам.

KEHT комментирует...

Поздравляю!!! И в тоже время грустно, что "каникулы" закончились. :)

Aneliya Karim комментирует...

О, четыре месяца в 2009 г. - очень быстро, по-моему :) я искала 6 месяцев в 2007 г.

Aneliya Karim комментирует...

Да и, конечно, CONGRATULATIONS!

Valik комментирует...

Ну, Анелия, у меня специальность более интернациональная. А ты, как я понял маркетолог - вам в чужой стране тяжело искать первую работу, потому что другая культура, законы, рынок...

Анонимный комментирует...

Намекните, зарплата нормальная для Лондона (имхо > 35'000) или нет?

Хочется знать порядок для следующих поисков работы, чтобы не развели и демпинга не было...

Если секрет, не обижусь :).

Спасибо!

Valik комментирует...

Больше :) Я лично не знаком с лондонскими программистами, которые получали бы меньше 35K.

Хотя объявления видел на 25K, даже на 20K...

Анонимный комментирует...

Искренне рад за вас. Теперь знакомы с таким программером в моём лице заочно :). Хотя веселого для меня здесь мало конечно. Может потому что у меня опыта _после_ универа меньше полугода? И не нравится что учился и работал одновременно (3 года)?
Валить надо на бОльшую зарплату... Как думаете полтора года на одном месте нормально будет? Не скажут что прыгаю?

Valik комментирует...

Да, среди моих приятелей свежих выпускников нет. Если Вы пошли учиться сразу после школы, то, вероятно, ещё слишком молодо выглядите. А тут не Украина - не принято студентов назначать тим лидерами.

Ну, ничего, молодость - это недостаток, который исправляется :) Я думаю, полтора года - это нормально, ведь видно, что это была первая работа после универа.

В какой области работаете? Можно, кстати, писать мне на admin@valiki.com

Ratings by outbrain