Мой профиль...

Search This Blog

Thursday, September 20, 2018

Жизненная история, или Как не стоит проводить собеседование

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

Утро понедельника было тяжелым. Тимлид Саша и сеньор Паша, отходившие от корпоратива в воскресенье, еще были на сушняке. Но вспомнив, что через час-полтора к ним придет кандидат — зашевелились и начали думать, что же все-таки у него спросить. Не долго думая, Паша загуглил «<название технологии> вопросы на собеседования». Саша был более продвинутым чуваком, а посему искал «top ten interview question for <название технологии>». Выписав трясущейся рукой 10-20 вопросов на листочек с эмблемой лидеров рынка, они отправились в переговорную. Новая HR Таня, за заигрывание с которой вчера обоим было стыдно, завела кандидата, который, нервно покусывая ручку, сидел и ждал своего часа.

Все начиналось со стандартных вопросов, на которые нужно было просто списать время: расскажите о себе, с чем работали ранее, с чем хотели бы работать и так далее. Естественно, ответы кандидата нигде не фиксировались, и вспомнив, что все-таки им отчитываться перед ПМ-ами за потенциальных кандидатов, Паша и Саша начали задавать технические вопросы. Все как по накатанной:
Что лучше — абстрактный класс или интерфейс?
Что такое инкапсуляция, наследование, полиморфизм?
MVC/MVP/MVVM?

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

HR-менеджер Таня пришла за кандидатом и сказала, что ей необходимо задать еще пару вопросов: почему вы хотите работать в нашей компании, кем вы видите себя через пять лет.

Вопросы явно сбили кандидата с толку, ведь работать он там еще толком не захотел, да и не ясновидящий, но как-то выкрутился. После HR невзначай добавила: «Я же психолог. Я вижу, что там, где вы сейчас работаете, вас не замечают. А здесь вы станете прямо звездой в нашей самой прогрессивной компании!».

Далее Таня дала понять, что это еще не все. Нужно будет еще написать свою точную дату и время рождения для построения личной карты совместимости на основании гороскопа и физиогномического портрета, которую их компания давно использует как передовую технологию оценки потенциала персонала. Потом пройти IQ-тест, написать небольшой текст на тему «Почему вам понравилась наша компания» и в завершение — собеседование с директором. Назвав его по имени отчеству — Валентин Петрович, — она двузначно кивнула, то ли побаиваясь, то ли сильно уважая.

Кандидат, особо не парясь, выполнил все, как просила Таня, и отправился в кабинет к директору. Он тоже был не огурчик, но в отличие от своих подчиненных, он успел утром выпить не только кофе, чтобы голова лучше варила. В углу комнаты красовался мини-бар, а в центре стоял огромный стол. Сидеть полагалось как можно дальше, чтобы когда кандидат хотел что-то сказать — делал это прилагая максимум усилий.

Первым делом директор пытался выяснить, насколько кандидат осведомлен о рынке зарплат. Спрашивал: «И на что ты столько денег тратить будешь? У тебя что, жена есть и дети? Ты же понимаешь, что это очень много?».

Кандидат, пожав плечами, ответил: «Ну, я на DOU читал».
— Врут все на DOU, — однозначно ответил Валентин Петрович. — Да, Танюша?
— Да-да, Валентин Петрович, — кивнула Таня, чуть не выронив какие-то бумаги.
— Но мы в лидерах рынка, и наша компания может позволить такую зарплату тебе платить. Но ты же понимаешь, какое доверие тебе оказано? О том, что ты будешь получать больше всех в отделе, ты не должен никому рассказывать. Это будет наш маленький секретик.
— И ты должен вкладываться в работу соответствующе, — продолжал Валентин Петрович. — Согласна, Танюш?
— Да-да, Валентин Петрович, — на автомате кивнула Таня.
После десяти минут вакханалии и восхваления компании Петрович таки отпустил кандидата восвояси, а Танюшу попросил остаться.
Последнее, что услышал кандидат, было: «Мы вам обязательно перезвоним! До связи».

После собеседования HR-департамент просто испарился. Ни письма с результатами, ни звонка. Попытки писать в корпоративный скайп или почту не увенчались успехом. После двух недель ожидания кандидат решился прийти к ним в офис лично, но в скайп пришло сообщение: «Извините, наш HR заболел, я вместо него. По вашему вопросу пока нет ответа от клиента, ждем».

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

Tuesday, March 27, 2018

Мусор

Мастер Якао изучал программу, написанную попередниками. На мониторе очень большие фрагменты кода светились серым цветом. Они были закомментированны.

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

«Это можно понять» — кивнул мастер.

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

«Услуги вашего настоятеля больше не требуются» — сказал мастер — «Но оставьте его тело разлагаться над вами. В конце концов, однажды его методы могут снова потребоваться, и было бы расточительно обучать нового с нуля»

В своем отчете мастер отметил быстрое изменение методов работы клана. Он приписывал это хорошему примеру покойного настоятеля и писал «Нам следует рассмотреть возможность его восстановления в должности»

Monday, March 19, 2018

Writing universal PHP Extension for different version (PHP5 && PHP7)

After 7.x version ZEND changed Zend_API for PHP extentions.
For making universal extension, you can use the next structure:

#if ZEND_MODULE_API_NO >= 20151012
// ...
#endif

The following table lists PHP versions within Zend products with their internal API versions and Zend products versions.

PHP Version PHP Extension Zend Extension Zend Server Zend Guard Zend Encoder ID
PHP 5.2 (EOL) 20060613 220060519 5.6 (LTS, EOL) 5.5 3
PHP 5.3 20090626 220090626 6.3 (LTS) 6 4
PHP 5.4 20100525 220100525 7 (LTS) 6 5
PHP 5.5 20121212 220121212 8 7 6
PHP 5.6 20131226 220131226 8 (LTS) 7 7
PHP 7.0 20151012 320151012 9 (EA) N/A N/A

Notes

LTS stands for "Long Term Support", which means that within a specific Zend Server version, one PHP version will be maintained with stability and security fixes by Zend beyond the timeframe defined by PHP community. You might also find out that specific PHP versions appears in multiple Zend Server versions, but only one LTS PHP version exists in every Zend Server version, and appears below as such.
EA stands for Early Access.
EOL stands for End of Life project status.

Zend (Guard) Encoder / Loader ID is an embedded number within each encoded PHP file, identifying PHP version according to the above table. When encoding PHP scripts using Zend Guard, the runtime PHP must be the same version as encoded version, otherwise you get an incompatible file format error instead of script execution.

PHP for Windows

PHP is built by Zend labs as Non-Thread-Safe (NTS), with these Visual Studio versions:
PHP 5.3+5.4: VC9, VS 2008 SP1
PHP 5.5+5.6: VC11, VS 2012
PHP 7: VC14, VS 2015

    Monday, March 12, 2018

    Релевантные посты...

    Related Posts with Thumbnails