Эта статья написана как ответ на статью «Собеседование в Додо Пиццу» со стороны разработчика с опытом синьора. Я не претендую на истинность суждений, мне хотелось бы выразить довольно популярное среди моих знакомых мнение о процессе найма в частности и жизни разработчика в целом.
Прежде всего, давайте определимся, кто такой ведущий разработчик, по крайней мере, как это понимаю я. Ведущий разработчик, также известный как синьор, это разработчик с многолетним опытом работы (10+ лет), который успел поработать в нескольких конторах над несколькими проектами. За свою немаленькую карьеру такой разработчик, скорее всего видел и махровый легаси и смузи стартапы и кровавый энтерпрайз.
Прежде чем сказать, ну мол, какой капризный, все ему не то, давайте разберемся, а что обычно хочет ведущий разработчик от компании?
Теперь, определившись с вводными, можно перейти к теме здорового собеседования.
Так как же можно собеседовать таких капризных существ, как ведущие разработчики?
Общение с HR, наверное, необходимый пункт и, вероятно, с него и нужно начинать. Основная цель тут – отбросить заведомо непроходные варианты, чтобы снизить нагрузку на людей, проводящих техническое интервью. Это по сути единственная цель, потому что я лично видел пару раз на своем веку, как адекватные в общении люди слетали с катушек через полгода.
Начнем сначала с того, для чего все это спрашивается? Скорее всего, все это нужно лишь для того, чтобы обезопасить себя от некомпетентных сотрудников. Но вы серьезно думаете, что разработчик с десятилетним стажем, работавший хотя бы по 1.5 года на каждом месте, успешно в течение десяти лет обманывал всех, что он не умеет писать код? А если это так, почему вы уверены, что ну вот ваше техническое интервью его раскусит?
Для чего нужны все эти алгоритмы обхода деревьев на собеседовании? Он что, каждый день будет писать эти деревья или алгоритмы сортировки в прод? Да у нас же пиццерия, у нас заказы в 23.59 превращаются в тыкву, мы тут не в Бостон Динамикс собеседуемся.
Тут, на мой взгляд, гораздо полезнее было бы просто пообщаться с кандидатом за жизнь, оценив степень его погружения в проблему. Одно дело сказать, ну я использовал технологию X на проекте, и совсем другое, узнать у кандидата, что были такие-то такие проблемы, которые они решали так-то и так. Это позволяет оценить опыт человека гораздо больше, чем повторение стандартных алгоритмов перед собеседованием. Также необходимо учитывать, что все люди разные и для некоторых собеседование – большой стресс. Когда что-то начинают выпытывать несколько детективов, то обычно получается даже хуже, чем когда один (если цель состоит в том, чтобы взять адекватного человека). В процессе разговора необходимо честно рассказать реальное положение дел в компании, кто ставит задачи, есть ли стандарты разработки, CI/CD и прочее.
Собственно, и все. Этих двух пунктов вполне достаточно, чтобы нанимать отличных сотрудников, в чем я и мои коллеги убеждались на своем опыте не один раз. Если ваш процесс растягивается на 5 шагов, если у вас десятки разрабов, а собеседует CTO, если вы собеседуете очно, а вам нужен тестовый день – то что-то поломано. Значит тут где-то скрыты чьи-то амбиции или комплексы, кто-то пытается копировать «лучшие» западные образцы не особо вдумываясь, зачем это делается. Сюда же можно отнести тот маркетинговый булшит про культуру и ценности. Я не знаю, действует ли это на джунов и мидлов, но поверьте, синьоры отлично понимают, что это булшит. И если работодатель пытается вешать много лапши на уши, то в какой-то момент внутренний булшитометр срабатывает и кандидат отваливается.
Так что, на мой взгляд, секрет успешных собеседований простой.
И будет вам успех.
Прежде всего, давайте определимся, кто такой ведущий разработчик, по крайней мере, как это понимаю я. Ведущий разработчик, также известный как синьор, это разработчик с многолетним опытом работы (10+ лет), который успел поработать в нескольких конторах над несколькими проектами. За свою немаленькую карьеру такой разработчик, скорее всего видел и махровый легаси и смузи стартапы и кровавый энтерпрайз.
- Он не верит во всякие переходы на .Net Core, разбиение монолита, микросервисный подход и высокие нагрузки. Потому что это ему обещали уже много раз, а на деле кодовая база была слабоструктурированным плохим кодом, а высокая нагрузка – это 100 заказов в минуту.
- Он не верит во всякие гибкие методологии, которые на самом деле сводятся к отсутствию ТЗ и некомпетентным менеджерам, которые ставят задачи. Ах да, и еще тот эджайл коуч без технического образования с опытом работы 2 года, который объясняет тебе, как нужно работать.
- Он не верит во всякие дух и ценности, потому что они куда-то сразу деваются, когда выручка перестает расти и срочно возникает необходимость искать виноватых. Ибо вот эти ребята с систематической ошибкой выжившего не прекращают верить, что они крутые управленцы, а не им просто повезло.
- Он не нуждается в пятничных посиделках в свободной обстановке, шашлыках и выездах на тимбилдинг, так как у него, скорее всего, уже семья и дети и он хочет проводить с ними свободное время.
- Ему не нужны бесплатные энергетические напитки и сэндвичи в офисе, так как он лучше поест дома вкусный и здоровый ужин, чем будет пичкать себя этой химией.
Прежде чем сказать, ну мол, какой капризный, все ему не то, давайте разберемся, а что обычно хочет ведущий разработчик от компании?
- Он хочет адекватный менеджмент. Чтобы руководитель проекта понимал свою предметную область и, желательно, еще немного разбирался в разработке. Чтобы не обещали клиентам заведомо невыполнимые фичи.
- Он хочет работать по согласованным требованиям. И не потому, что он такой привередливый. А потому, что он понимает, что требования определяют архитектуру и сроки реализации, и смена их может привести к тому, что архитектуру нужно будет подпирать костылями, так как время на изменение никто не даст.
- Он хочет, чтобы команде давалось время на разработку архитектуры и рефакторинг не для того, чтобы смотреть интернеты в это время, а чтобы потом, через пару лет не страшно и не стыдно было смотреть кодовую базу.
- Он хочет, чтобы в компании была политика в области разработки программного обеспечения. Чтобы были четкий стиль кода, реализованный в средствах рефакторинга, статические анализаторы, средства CI/CD, тестовые контура.
- Некоторые разработчики хотят отдельные комнаты, а не опенспейс, чтобы не слышать разговоры пятидесяти людей вокруг или не сидеть в шумопоглощающих наушниках.
- И да, разработчик с опытом прекрасно понимает, что он, как и любой наемный персонал просто обменивает свои знания, умения и опыт на зарплату. Конечно, гораздо приятнее это делать в компании, которая приносит пользу людям, но многие, увидев прибавку 50% пойдут и блокчейн делать с бигдатой. У них ведь там семья и дети.
Теперь, определившись с вводными, можно перейти к теме здорового собеседования.
Так как же можно собеседовать таких капризных существ, как ведущие разработчики?
Общение с HR, наверное, необходимый пункт и, вероятно, с него и нужно начинать. Основная цель тут – отбросить заведомо непроходные варианты, чтобы снизить нагрузку на людей, проводящих техническое интервью. Это по сути единственная цель, потому что я лично видел пару раз на своем веку, как адекватные в общении люди слетали с катушек через полгода.
По техническому интервью
Начнем сначала с того, для чего все это спрашивается? Скорее всего, все это нужно лишь для того, чтобы обезопасить себя от некомпетентных сотрудников. Но вы серьезно думаете, что разработчик с десятилетним стажем, работавший хотя бы по 1.5 года на каждом месте, успешно в течение десяти лет обманывал всех, что он не умеет писать код? А если это так, почему вы уверены, что ну вот ваше техническое интервью его раскусит?
Для чего нужны все эти алгоритмы обхода деревьев на собеседовании? Он что, каждый день будет писать эти деревья или алгоритмы сортировки в прод? Да у нас же пиццерия, у нас заказы в 23.59 превращаются в тыкву, мы тут не в Бостон Динамикс собеседуемся.
Тут, на мой взгляд, гораздо полезнее было бы просто пообщаться с кандидатом за жизнь, оценив степень его погружения в проблему. Одно дело сказать, ну я использовал технологию X на проекте, и совсем другое, узнать у кандидата, что были такие-то такие проблемы, которые они решали так-то и так. Это позволяет оценить опыт человека гораздо больше, чем повторение стандартных алгоритмов перед собеседованием. Также необходимо учитывать, что все люди разные и для некоторых собеседование – большой стресс. Когда что-то начинают выпытывать несколько детективов, то обычно получается даже хуже, чем когда один (если цель состоит в том, чтобы взять адекватного человека). В процессе разговора необходимо честно рассказать реальное положение дел в компании, кто ставит задачи, есть ли стандарты разработки, CI/CD и прочее.
Собственно, и все. Этих двух пунктов вполне достаточно, чтобы нанимать отличных сотрудников, в чем я и мои коллеги убеждались на своем опыте не один раз. Если ваш процесс растягивается на 5 шагов, если у вас десятки разрабов, а собеседует CTO, если вы собеседуете очно, а вам нужен тестовый день – то что-то поломано. Значит тут где-то скрыты чьи-то амбиции или комплексы, кто-то пытается копировать «лучшие» западные образцы не особо вдумываясь, зачем это делается. Сюда же можно отнести тот маркетинговый булшит про культуру и ценности. Я не знаю, действует ли это на джунов и мидлов, но поверьте, синьоры отлично понимают, что это булшит. И если работодатель пытается вешать много лапши на уши, то в какой-то момент внутренний булшитометр срабатывает и кандидат отваливается.
Так что, на мой взгляд, секрет успешных собеседований простой.
- Цените чужое время
- Говорите правду
- Не спрашивайте ничего, не относящегося к непосредственной трудовой деятельности
- Умейте слушать кандидата
И будет вам успех.
bm13kk
Почему все так не любят опенспейсы? Они — необходима оптимизация расходов. Современный реалии такие. В каком бизнесе или отрасли остались кабинеты, кроме обслуживания?
rzerda
Той же оптимизацией расходов оправдывали рабство, детский труд и 12-часовой рабочий день. Буквально невозможно вести бизнес, если всё это отменить.
bm13kk
Ну, если общество докажет, что личные кабинеты — это этическая необходимость, я уверен, что бизнес со временем прогнется. Во всех отраслях.
Сейчас же в любой отрасли кабинеты — либо дорогой бонус для начальства. Либо необходимость для сферы обслуживания. А, виноват забыл — третья опция секретность и контроль доступа.
Пока что я вижу, что кабинеты будут только у удаленщиков.
rzerda
Так ведь бизнес для общества, а не общество для бизнеса. Я согласен с констатацией текущего (прискорбного, на мой взгляд) положения дел, но не понимаю, почему эта констатация является оправданием для самой себя.
Palich239
Подписываюсь под каждым словом. И по предыдущему комменту тоже.
bm13kk
Смотрите. Я приведу пример, который ничем не отличается. Вот совершенно. Но почему-то за обсуждения него не сливают карму, а пишут ровно то-же самое, что я написал.
Столы с подьемником. Мне обьективно некомфортно сидеть за столом «стандартной высоты». Мне не хватает 15-20 см. От этого моя производительность страдает куда больше, чем от шума вокруг. Я молчу про очень раскрученную сейчас тему «работы стоя».
Или другой пример. Нормально настроенная вентиляция помещения. Очень мало людей понимает, как редко в офисах бывает достаточно кислорода. И как от этого страдает производительность уже всех. Кто знает о проблеме и кто не знает.
А вообще проблему шума, которую так все любят уже легко решили при помощи белого шума. пример. Была такая же статья на самом хабре, но я ее не нашел.
PS
Рано или поздно бизнес пойдет по еще большей оптимизации и выделит управление офисами в отдельный бизнес. Который будут аутсорсить. И вот тогда все желающие смогут за условные $300 арендовать себе кабинет, вместо стола в опенспейсе. Примерно, как сейчас с парковками в перегруженных офисах. Уверен что тогда все споры быстро закончатся.
rzerda
О, вентиляция. Если бизнес так хорош в оптимизации расходов, почему он не вынуждает строителей и эксплуатантов офисных зданий делать хорошую вентиляцию? Особенно тот, что про ИТ, где основная статья расходов это ФОТ, и теоретическое 5%-ное понижение производительности означает примерно также же прямое увеличение расходов и сроков поставки? Или снова общество должно доказать, что оно тупо задыхается в этих условиях? Причём даже когда это общество таки идёт доказывать, бизнес делает очень грустные глаза и говорит «ничего невозможно сделать».
Примеры хорошие, но получается все равно «а у вас негров линчуют». Проблемы с вентиляцией и столами совершенно не отменяют проблем с опенспейсами, вопрос только в массовости (которую ещё посчитать нужно правильно, конечно).
mad_nazgul
Вот согласен. Проблема всех опенспейсов где работал это вентиляция.
Приходиться включать кондиционеры, чтобы за счет конвенции воздух хоть как-то двигался.
Но тут другая проблема, всегда есть люди, которым «дует».
И решения этой проблемы нет.
Alexus819
конвенция — это что то другое.
вы вероятно имели ввиду конвекцию
eugenius_nsk
Конвенция об использовании кондиционеров
vba
Ох уж эти, кому дует. У нас был один такой, постоянно закрывал форточки и даже в июне врубал отопление.
dimas
О да. Не видел навеное ни одного офиса с опенспейсом, где это было бы нормально решено…
Больше всего меня убило, когда те же проблемы обнаружились у только что построенного офиса…
У меня была только одна мысль — все начальство сидело на нижних этажах, и к концу рабочего дня (обычного офиса) никто не проверял как и что на верхних…
Nick0las
А я видел много опенспейсов с отличной вентиляцией, только было это далеко на западе или далеко на востоке. Просто в помещении всегда +18..+20, небольшая влажность и свежий воздух. А выходишь из здания и только тогда замечаешь что там жарко, влажно или наоборот холодно.
bm13kk
> Если бизнес так хорош в оптимизации расходов, почему он не вынуждает строителей и эксплуатантов офисных зданий делать хорошую вентиляцию?
я не понимаю. Вы только что написали предложение, которое само себе противоречит. «Если я экономлю деньги, то почему я не трачу больше?» В этом посте нет смысла. При чем тут негры?
rzerda
Экономия не про «уменьшите мне номинал всех расходных операций», а про «сделайте так, чтобы в итоге денег на то же самое уходило меньше». Например, найм молодых специалистов на должности QA и саппорта со ставкой 10 тугриков в час может значительно избавить от рутины разработчиков со ставкой 15 тугриков в час, и последние смогут больше фич делать/багов чинить. В итоге мы:
1) получаем лояльный кадровый резерв внутри компании (понятно, лояльность зависит от кучи факторов, но на мой взгляд разработчик, вышедший из QA/саппорта, лучше, чем просто разработчик, потому что видел больше);
2) за менее «хитрую» работу платим меньше денег (да, я в курсе, что тестирование тестированию рознь);
3) получаем больше выхлопа от разработчиков без найма новых разработчиков.
В случае с вентиляцией такая же история: один раз тратятся деньги на пристойную систему вентиляции, потом эти же деньги плюс эксплуатационные расходы все равно размазываются в аренду, но на выходе мультипликатор к выхлопу вообще всех, работающих в этом здании (точнее, снятие штрафа за гнетущую атмосферу, который тоже множитель). То есть, чем более качественно работающего человека вы в это здание посадите, тем больше в абсолютном значении прибыль от вентиляции против ее отсутствия.
И вообще, от зарабатывания появляется больше денег, чем от их экономии, потому что сэкономить больше своих затрат очень сложно (математика запрещает), а получать больше прибыли — просто сложно.
euroUK Автор
Есть же здравые люди! Почему они не в моей компании.
bm13kk
То о чем Вы пишите — гораздо более глубокого уровня, чем то о чем я говорю. Существует много случаев, когда тратя больше люди могут экономить.
Проблема в том, что людей, которые умеют это делать — меньшинство. До тех пор, пока бизнес не выделит «управление офисом» в отдельную сущность. Заработок которой зависит от производительности сотрудников — подвижек не будет. Ни по одной теме, что были уже озвучены.
Большинство бизнесов (любой отрасли) решают все вопросы (кроме получения денег с клиента) как умеют. Очень редко задавая себе вопрос «можно ли лучше».
И мы получаем вывод. Хотелки сотрудников решаются при совпадении двух условий — сотрудники активно этого просят и цена реализации этой хотелки небольшая.
Отдельные кабинеты явно проваливают второе условие.
И поэтому в ближайший пяток лет наипростейший способ получения кабинета — это фриланс.
gecube
Как только бизнес выделит "управление офисом" в отдельную сущность, то внезапно выяснится, что это чисто расходная статья бюджета, а раз так — то на ней всегда будут резать косты. Дальше пояснять? Хотя, конечно, есть шанс (мизерный), что что-то будет хорошо
bm13kk
чем это оличается от сейчас?
gecube
Тем, что выделение управление офисом в отдельную сущность потянет отдельный отдел паразитов со своей иерархией — людей, которые по сути ничего не делают, но тратят деньги компании. Но это ок, потому что туда можно устроить своих друзей, родственников и пр
bm13kk
Так управление офисом — уже отдельный отдел со своей иерархией. Скажу больше — в офисах само здание зачастую имеет еще одну иерархию обслуживающего персонала.
katarsies
Оно не зачастую, а обязано иметь службу эксплуатации, директора по эксплуатации и тд и тп
dimchik_b
Ну почему! Если сделать, как предлагает bm13kk, кабинеты по $300, то, создав невыносимые условия в опенспейсе, можно и зарабатывать!
dimas
Смысл очень простой. В здании с плохой вентиляцией заметно падает производительность и увеличивается количество «перекуров»…
maldalik
Да уж вентиляция больной вопрос… У же много лет бьемся.
rodial
В бывшей фирме была практика устраивать доклады, вроде как считалось что если ты растешь то тебе есть что рассказать. Темы докладов не ограничивались, но предпочтения отдавали тематике твоей работы.
Я сделал доклад про влияние углекислого газа на самочувствие с соответствующими замерами в офисных помещениях, и выступил в филиале, в котором работал. Следующим этапом должен был идти тот же доклад в основном офисе, но мне сказали что тема «скользкая» и давай на этом остановимся.
… через некоторое время ушел на удаленку, в той ситуации это был самое простое решение проблемы вентиляции )
glestwid
Именно, а пока это общество, в массе своей — собрание терпил и лохов, не знающих даже где находится трудинспекция, прокуратура и здравнадзор, то только так к ним и будут относиться.
Fuzzyjammer
> почему он не вынуждает строителей и эксплуатантов офисных зданий делать хорошую вентиляцию
А даже если и вынуждает, на каждую хорошую вентиляцию найдётся девушка с малярным скотчем, которой дует.
bay73
Не отменяют, но взаимосвязаны. При кабинетной системе обеспечить нормальную вентиляцию и дневное освещение сложнее, чем в опенспейсе :)
dimm_ddr
Если бы это было так, то опенспейсов с нормальной вентиляцией было бы больше чем классических офисов. Но практический опыт показывает что это совсем не так. Может быть я исключение конечно, но в моем опыте ситуация строго обратная — я не видел ни одного опенспейса где была бы нормальная вентиляция и нормальное освещение при этом все кабинетные офисы имели хорошую вентиляцию и половина — нормальную освещенность.
bay73
К сожалению, у меня опыт прямо противоположный — в опенспейсах всегда дышать можно (хотя каждый под себя, отегулировать температуру не может), а в кабинетной системе либо кто-то постоянно держит открытой форточку отчего половине сидящиих там сквозняк в спину наяривает, или наоборот всё задраено, как на подводной лодке и дышать совсем нельзя.
Ну и если стол в кабинете у окна — нормально с освещением, а те, что стоят у двери — без искуственного света работать невозможно.
Конечно, все эти кабинеты не в бизнесцентрах класса А были, может быть там и получше — но там я отдельные кабинеты только у начальников встречал.
dimm_ddr
В опенспейсах чисто физически все столы у окна поставить не получится. Ну разве что это не переделанный под офис коридор. Там всегда будет исскуственное освещение для большинства. Кабинет при этом хотя бы в теории может быть достаточно маленьким.
VolCh
В опенспейсе могут быть панорамные окна и тогда даже достаточно далеко от них светло. Иногда даже слишком светло.
siziyman
А как наличие панорамных окон коррелирует с опенспейсностью?
VolCh
dimm_ddr
Они точно так же могут быть и в кабинете, я в таком работал. Я не уверен что там были именно панорамные, я не силен в определениях окон, но окно во всю стену от пола до потолка там было. Кабинет был на 4-6 человек и света там было более чем достаточно.
DGN
Потому что офисные площади арендуются, и если кондиционер еще иногда можно повесить, то сделать свою систему вентиляции (малошумящую, работающую), это уже утопия.
p.s. Как часто в договорах на аренду офиса указывается воздухообмен?
lDrakonl
В нашем небольшом офисе открывался офис сбербанка(тогда еще сбертеха). В старом советском здании. Когда разработчики дружно начали говорить «ВЕНТИЛЯЦИЮ НАМ», ее просто взяли и сделали. С пультами управления доступными для разработчиков.
PS
Не реклама сбербанка, давно там не работаю. Просто говорю, что некоторые работодатели легко на это идут
PPS
А опенспейсы все равно не для меня. Давно работаю из дома из своего кабинета(но тут такой же опенспейс, только с детьми)
bogolt
> Столы с подьемником.
Одно не отменяет другого. Разумеется в нормальных офисах должны быть такие столы. Знаю людей у которых проблемы со спиной если они долго сидят им без стоячих ( а точней меняющих высоту ) столов вообще никак.
Kriger91
В Дании как раз такое и прописано — столы должны настраиваться по высоте. А нормальная вентиляция по крайней мере в законах прописана, другой вопрос что крайне редко совмещают.
Nick0las
Увы вентиляция проблема стран СНГ. Тут владельцы офиса просто не считают нерабочую вентиляцию за проблему. Ну просто нет понимания что обеспечения температуры, влажности, небольшой концентрации CO2 и чистоты воздуха так же необходимо как вода в кране или электричество. Может стоит вносить пункт про требования в вентиляции в договор аренды?
Hardcoin
Ваша ошибка в том, что вы хотите оправдать бизнес, а это не требуется.
Если вы достаточно ценный сотрудник (или можете кооперироваться с коллегами), то получить себе вентиляцию не сложно (я попросил, нам за три месяца сделали на два кабинета).
Если недостаточно (и найти работу лучше вы не можете), тогда да, придётся без стола и вентиляции. Но и в этом случае оправдывать бизнес нет смысла. Их экономия виртуальна (на вашей производительности), никакого особого смысла нет для них, ни для общества в целом тут нет.
bm13kk
ГДЕ я хочу оправдать бизнес? Я только константирую как 95% работает. И в силу того что они не умнее среднего — лучше работать сами не смогут.
Я сам умею выбивать себе нужные мне плюшки, спасибо. Если я захочу работать в кабинете — я знаю как этого добится.
Я просто хочу понять, почему это такая желанная плюшка для большинства. Чем она настолько важнее всех остальных вместе взятых? Почему весь хабр начинает сочится кислотой при упоминании слова «опенспейс»?
Все говорят, что я защищаю бизнес. Я же просто констатирую факт — что это самая дорогая плюшка из всех. Поэтому добится ее от бизнеса сложнее всего.
Никому не интересно обсуждать на сколько близки их желания к реальности. Все обсуждение в сотый раз скатилось к «чем опенспейс плох».
stanislav888
Лично я никогда не понимал ни начальство которое экономит на столах. Ни работников с большими зарплатами которые усиленно экономят 50$ на столяре. И работают в неудобных условиях.
Тут иногда срабатывает инстинкт «а вдруг все такое захотят». Типа почему Васе купили, а мне нет. Мне так, отказали в стойке для монитора за 50$. Купил сам и унёс домой, когда уволился. Ничего ужасного не случилось.
bm13kk
С точки зрения «что на столе» — я полностью согласен. И тоже пришел, что проще лично покупать и забирать при увольнении.
Но есть вещи, которые можно пробивать только обществом. Вроде вентиляции. А для этого общество должно понимать в чем проблема-то и тоже хотеть изменений.
gecube
Хотя бы тем, что эффективность работы растет. Ах, да, никто же это не считает и работодатель это считает само собой разумеещимся… А больничные из-за того, что все в опенспейсах друг друга заражают?
Вы смотрите в суть. Кабинет — становится привилегией. Чтобы начальство друг другу показывало свое значимость
bm13kk
> Хотя бы тем, что эффективность работы растет.
введение 6 часового дня показывает смешанные результаты. Любое предложение по оптимизации офиса и процессов — работает только тогда, когда его делают люди с пониманием происходящего. А не когда это делают ради модности.
> Кабинет — становится привилегией
уже давно стал.
ardazishvili
Всё же данный факт не является аргументом в пользу того, что "оптимизация расходов в виде опенспейсов — зло"
Как мне кажется дело больше в культуре. Я работал в опенспейсе среднего размера, где было тише и комфортнее, чем в большом кабинете с меньшим числом людей на другом месте работы.
r3r
Потому что программирование — это в первую очередь концентрация на протяжении нескольких часов.
ZloyHobbit
Опенспейс лично мне мешает работать шумом и людьми, которые постоянно ходят мимо тебя.
Хотя личные кабинеты, тоже не идеальное решение, сейчас разработка чаще всего ведется в команде и с командой надо общаться. Так что на мой взгляд идеальное помещение — это большой кабинет на команду, где у каждого есть стол с перегородкой, за которой можно спокойно сидеть погрузившись в свою задачу. И общее пространство в центре для внутрикомандных встреч.
euroUK Автор
Именно это я и имел ввиду. У меня хорошо развито периферическое зрение и мне достаточно тяжело сосредоточиться, когда кто-то постоянно ходит. Да и с шумом также — если человек 30 в опенспейсе, то кто-то с кем-то постоянно говорит, что тоже не способствует концентрации.
Что касается затрат — зарплаты разработчиков настолько высокие, что на их фоне размещение по кабинетам или i9 процессоры — это пустяки.
scg
Я вот как-то научился сосредотачиваться на работе и не замечать, что происходит вокруг. Зато, когда стал учиться водить машину, это стало мне боком: внимание концентрируется на чем-то одном и я нифига не вижу окружающую обстановку.
ffs
Все люди разные
glestwid
Ну, вообще говоря, офисы в башне «Федерация» как бы не дороже разработчиков в пересчете на квадратный метр обходятся.
kolu4iy
Значит нет смысла работать в башне «Федерация» в бОльшей части кейсов. Только в тех случаях, когда клиент несёт золотые яйца только в данной башне. И то, нет смысла держать там программистов, их много. Нужны только те, кто этого золотого клиента целует в гузку, дабы он не ушёл.
playerro
Интровертам, которые работают головой сконцентрировавшись на задаче по нескольку часов, придумывая творческие или сложные решения почему-то мешает гул и шум и проходящие люди, действительно, что не так?
kocherman
Сам гул и шум не мешает, не мешает и любое движение вокруг тебя.
Мешают люди, которые к тебе обращаются по мелочам. Мешает даже сам факт, что люди могут к тебе обратиться по какому-то пустяку. Особенно, мешают вежливые приветливые люди, выполняющие функцию социальных клоунов, которые не могут пройти мимо тебя не спросив чего-нибудь из вежливости.
И работая в опенспейсах, меня больше беспокоит не столько то, что ты перед собой видишь, а то, что скрыто от твоего взора — то, что происходит у тебя за спиной. Я ненавижу рабочие места, где сзади тебя могут происходить какие-либо события. За моей спиной должна быть стена и ничего большее!
botyaslonim
Особенно, мешают вежливые приветливые люди, выполняющие функцию социальных клоунов, которые не могут пройти мимо тебя не спросив чего-нибудь из вежливости.
— о да! Поэтому меня напрягает есть на кухне в нашем офисе: раз 20 за обед надо с набитым ртом ответить «Спасибо!» на чьё-то «Приятного»
NSergey
Ох ты ж! Значит я не один такой )
Так и хочется ответить этим очень вежливым людям: «Господа, позвольте мне уже отобедать!»
justK
Я где-то встречал информацию, что по правилам этикета желать приятного аппетита допустимо, но не предписано. Отвечать же допустимо, но совсем не обязательно (как раз по причинам набитого рта, что может привести к конфузам и угрозе поперхнуться). У нас в офисе обычно входящие на кухню желают приятного аппетита, отвечают же им примерно в пропорциях 1/3 так: благодарят (те, кто прожевал), кивают (те, кто ещё жуёт), молчат (независимо от стадии процесса) и недовольных я не встречал ни с той, ни с той стороны
kocherman
Вот он он — офис мечты.
NickViz
ну давайте разберём. ужасный палас на полу, от которого рябит в глазах.
стульчики из икеии, на которых сидеть очень неудобно.
газенвагеныэээ закрытые помещения на 4 кубометра без подачи свежего воздуха (я посмотрел — нет воздуховодов к ним).и для платящего за это — 4 человека на 100кв.м.
так себе офис мечты.
glestwid
Плюс — никаких длинных спинок у кресел, никакого взгляда в окно, а только в стену за вшивым 15дюймовым экраном.
kocherman
Блин, под офисом мечты я имел в виду ту телефонную будку, что на пол фотографии, надо было обрезать, конечно, но тогда бы не было понятно что это такое и где оно стоит.
Кстати, я не люблю паласы, я бы даже его не заметил. Но вот этот вроде не плох.
Стул, на котором сидит чел слева — это стулья для конференций. У них есть особенность — возможность складываться один на другой и тем самым не занимать много места. Это, разумеется, накладывает некоторые ограничения на конструкцию стула и не может положительно сказаться на комфорте. Но, конкретно этот стул обладает строением ножек, за которые можно повесить небольшой столик с поворотом. Столик можно использовать для записи в тетради или для ноутбука с небольшой диагональю.
gecube
Я понял, что я хочу такой поворотнйы столик для кресла IKEA
kocherman
У меня два таких кресла ИКЕА, не помню как называется, но не ПОЭНГ. И отличается он съёмным подголовником. Из особенностей мне показалось кресло немного низковатое для стандартной высоты стола. И ещё с каждым креслом прилагались пуфы для ног, которые вообще не зашли, они могут использоваться как отдельная табуретка, но ноги на них держать — слишком высоко.
dss_kalika
ну так эти кресла для того что бы держать клавиатуру на ногах, а лишь экраны на столе )
kocherman
Ну, дома я не только программирую, я еще люблю порисовать в векторе, у меня до сих пор в строю дешёвейший пятилетний ветеран Wacom CTH-680. Сам удивляюсь, как он до сих пор жив, взял его в 2015 на замену полностью отработанной таблетки Intuos4. На тот момент CTH-680 стоила раза в 2.5 дешевле Intuos4. Сама таблетка по сравнению с Intuos4 вроде хлюпенькая. А живёт в активном юзе уже 5 лет, даже есть кто продают на ebay до сих пор. Без беспроводного модуля обойдётся от $90. Беспроводной модуль стоит столько-же, если не дороже. Так что, могу рекомендовать, таблетка непробиваемая — проверена годами!
kantocoder
Низкий уровень серотонина, вот что не так.
playerro
Когда мне не мешают работать люди рядом у меня хороший уровень серотонина)
mikhailian
Опенспейсы разные бывают. Современные материалы и хитроумная конфигурация пространства может превратить опенспейс в реально удобную для работы среду.
Тем более, что большинство работников умственного труда так или иначе работают из дома, поэтому резервировать за ними кабинет или даже рабочее место не имеет никакого смысла.
tyderh
Без понятия, почему этот коммент так заминусован. Я был приятно удивлен, в первый раз посетив свой текущий опенспейс — звукопоглощающие потолки + ковры обеспечивают очень тихую среду. Лично мне этого более чем достаточно (но да, это все равно не идеально, некоторым коллегам все равно нужны наушники).
Spaceoddity
Это пока у вас в «соседях» не появится такой тип как я. Который любит очень громко, матом, выражать своё недоумение каким-то говнокодом или поставленной задачей. На самом деле (к моему удивлению) такие, довольно эмоциональные реплики от меня почти всегда разряжают атмосферу в коллективе — народ начинает посмеиваться, улыбаться.
Хотя вот лично мне было бы не очень комфортно, когда кто-то за соседним столом периодически крыл бы матом всю родословную какого-нибудь менеджера.
tyderh
К счастью, не могу представить на своей текущей работы такой неадекват (неконструктивную даже-не-критику в направлении конкретного человека)
Опенспейс — это не только "open", но и "space" — и места лично у меня чуть более, чем дофига. Люди могут собираться/кучковаться в произвольных местах, никому не мешая. (Даже не нужно далеко отходить, уже у соседней линии столов ничего особо не слышно). Обычно, если несколько человек из одной команды кучкуются для обсуждения, они только этим действием создают вокруг себя довольно таки большую "зону отчуждения".
К тому же, если кто-то таки мешает, можно пойти в специальные зоны, где обычно никаких громких переговоров нет.
barbanel
На самом деле, разумеется такое происходит не часто.
Но когда все-таки происходит, заглушенная потребность выразить эмоции приносит чувство дискомфорта, что в свою очередь снижает работоспособность и выводит из потока.
Зато у нас высокий корпоративных дух, да!
На самом деле, я лично не знаю как это решать, но не придерживаюсь мнения что любое удивление нужно выражать матом.
Я лично работаю над матерым легаси, и те решения которые я иногда обнаруживаю в коде иногда ломают мозг. Посколько я единственный русскоговорящий сотрудник в команде, я стараюсь не выражаться вслух громко, и это часто действительно приносит дискомфорт.
Как вариант можно выматериться в подушку =)
barbanel
Вы мне уже нравитесь, давайте дружить )))
Spaceoddity
Ну вот видите, интроверсивным обитателям Хабра очень не понравилось моё признание. Т.е. они готовы всех рассадить по загонам как в зоопарке, но когда оказывается что существует вероятность, что среди коллег может оказаться (а это далеко не нулевая вероятность) несколько эмоциональный сотрудник — у них вдруг случается разрыв шаблона. Как же так, все ведь должны молча пыхтеть за клавиатурами.
barbanel
Думаю, дело не в «не понравилось», а в «очень громко».
Я займу нейтральную позицию, имхо «очень громко» и «молча пыхтеть» — это две крайности.
Разряжаться нужно! =)
В годы моего студенчества ходил по фидонету прикол что в японских офисах для разрядки устанавливают боксерские груши с фотографиями начальников.
Еще один прикол — про тумбочку на колесиках, ее пинаешь ногой, а она тебе голосом — «извините!».
Spaceoddity
Это не прикол. Именно отсюда растут ноги всех этих эджайлов и скрамов. На конвейерах Тойоты стояли манекены начальников.
kantocoder
Самое главное при работе в коллективе это не создавать конфликтов. Потому что конфликты трудно разруливать. Об этом мне поведал мой
щёгунбосс в первой моей компании.Вот вы зачем их создаете, конфликты?
White_Scorpion
Я сижу в опенспейсе, который был сдан в эксплуатацию в феврале (это о новизне). В 3 метрах от двери… И каждый день через эту дверь проходят десятки людей. Каждый день я слышу десятки раз эти клац-клац-клац автоматического запирания. Раз за разом, каждый день. Это — ;"(;№)(;№;)
Так что не надо мне врать про "современные материалы" и "хитроумную конфигурацию" — уж на чём на чём, а на этом НИКТО из застройщиков НЕ запаривается. Опенспейс — это НИ В КОЕМ СЛУЧАЕ НЕ "реально удобная для работы среда".
Если вам удобно сидеть, когда регулярное клацанье отвлекает вас от работы — вам повезло. Мне — увы, но нет.
SergeyMax
White_Scorpion
Пиликает, но лишь в половине случаев: только если проходить в помещение, если выходить — обычный клац.
Отвечу тут же и DMGarikk — вентиляции слава богам не слышно.
IntActment
Мне вот «повезло» работать в опенспейсе одном помещении с командами, кто ковыряет эмбеддед/железки (с незаклеенными динамиками) и работающих на каких-то страшных специализированных ПК-моноблоках, которые противно пищат на каждое нажатие чего-либо. И самое главное — звуки не отключают и все вокруг при этом молчат! Пришлось долго к этому привыкать… Кстати да, это дело происходит в Японии, тут есть влияние менталитета на такие мелочи: люди руководствуются принципом «не мое дело», «лучше сидеть и не отсвечивать» и «все сидят, молчат и терпят же». И да, еще одно — сидеть в наушниках запрещено.
DMGarikk
а вентиляция у вас не гудит?
уже в третьем опенспейсе сижу… где весь день в фоне постоянное у-у-у-у-у-у помню в одном было интеллектуальное управление зданием… там после 19.00 она отключалась… буквально оргазм можно было испытать от звенящей кристальной тишины которая буквально падала с потолка
vadimk91
По описанию очень напоминает место в последнем купе плацкартного вагона, около туалета. Сейчас хоть как-то с этим стали бороться, да и билеты на те места бывают дешевле. Но нет, даже за экономию 15% стоимости билета я не возьму то место.
xsevenbeta
Проблема оупенспейсов не только в шуме и мельтешении. Хотя я не понимаю, почему нельзя делать некоторые перегородки выше — такие, чтобы хотя бы сидя движения коллег не видеть.
При коллективах в 30-40+ человек без логических отделений на комнаты сложно добиться того, чтобы люди чувствовали себя одним коллективом. Я слышал объяснение что это связано с тем, что численность племени как раз была примерно в этих пределах. Чем больше людей в оупенспейсе — тем сложней возникновение дружеских/приятельских связей, которые для людей очень важны и сильно влияют на комфорт/удовольствие/общее впечатление от работы. Чем больше коллектив, тем больше средств и усилий придётся потратить на то, чтобы он был сплочён.
kosmonaFFFt
Например в организациях, которые находятся в помещениях советских строений, в которых коридорно-кабинетная архитектура. На моей прошлой работе компания какое-то время занимала помещения советского конструкторского бюро, сидели в кабинетах по несколько человек.
tmin10
На прошлой работе было офисное здание с такой кабинетной системой, кабинеты по 10-20 человек были, у нас в маленьком на 10 было довольно неплохо.
Skerrigan
Тоже советское здание, кабинетное по большей части. Только кабинеты по 3-4-5 человек в основном.
rhaport
Я вообще за home office. И удобно, и реально можно сэкономить. А кабинеты да, остались. Это зависит от компании
m-rv
посмотрите на garden office
a-tk
Это работает, к сожалению, только если работа не связана с производством материальных объектов…
porn
Только если работодатель будет оплачивать этот home office, в котором не будет жены и детей. Многие тогда бы жили в этом «офисе».
dimas
Ради бога, оптимизируйте расходы, но тогда и вводите соответствующую культуру, а не сажайте менеджеров посреди разработчиков, и объясните менеджерам, что двухчасовой разговор с кем угодно, должен делаться из переговорки, а не прямо из опенспейса, потому что ему лень дойти.
И займитесь действительно конфигурацией опенспейса, а не «дизайнерскими» столами, с перегородками которые ничего не заслоняют и не глушат никак шум…
А иначе не удивляйтесь текучке кадров, сопровождая шум в списке причин «а вот в городе Н у нас в офисе еще шумнее!»…
bm13kk
Я не понимаю зечем люди мне пытаются отвечать на этот комментарий. Мне слили карму. Я не могу отвечать. Величайшее изобретение хабра — одновременно заткнуть человека и требовать от него ответы.
Fenzales
Murimonai
Скажите, вот чисто из любопытства праздного, вы зачем спросили то, на что был дан предельно прямой ответ прямо в статье?..
bm13kk
Никто, ни один комментатор не прочел мой вопрос как есть. Все увидели совершенно другой вопрос. И Вы лично.
Я не спрашивал почему не любят опенспейсы. Я хорошо знаю почему.
Я спросил почему из всех проблем работы в офисе — именно эта тема самая больная? На хабре нет 20 статей о плохой парковке почти в каждом бизнес центре. А о опенспейсе есть. Аналогично с другими проблемами, о которых я писал в первой ветке.
DMGarikk
потому что в тех местах где работает большинство айтишников в РФ, ездить на машине, даже при наличии парковки — это боль и страдания
а вот опенспейс есть у всех, можно еще посетовать на воровство продуктов из холодильника
dss_kalika
Потому что именно эта проблема покрывает бОльшее количество народа.
Парковка, в Москве, к примеру, вообще почти никому не нужна (доступность общественного транспорта и дороговизна). Нехватка кислорода вполне списывается на усталость, со столами — вообще очень узкоспециализированная проблема и прочее.
Есть большая разница между проблемой которая достаёт почти всех и теми, которые относятся скорее к разряду вкусовщины. =)
ЗЫ: более того, ситуацию усугубляет абсурдность данного фактора. Опенспейс преподносят как великое благо и пользу — это же обмен идеями! лёгкое общение! Но, по факту, он нужен руководству (экономия), а сотруднику даже мешает.
Fenzales
bm13kk
Возможно проблема в вопросе. Однако почему тогда я получаю минусы за все остальные свои комментарии, где я детальнее расписываю свою мысль?
akalend
когда у тебя за спиной начинают обсуждать очередную рекламную компанию или куда и как лучше лить трафик — это чуть-чуть отвлекает от работы
suguby
я себя в одной комнате с манагерами чуствую вот так: developerslife.ru/16399
leemuar
Потому что работать в них в большинстве случаев неудобно. Проведено уже достаточно много исследований, показывающих что эффективность сотрудников в опенспесах падает существенно. Особенно в сферах умственного труда.
Если вам интересна эта тема — могу рекомендовать начать ознакомление со статей Спольски («тест Спольски») и трудов ДеМарко
П.С. В бизнесе лучше увеличивать доходы, чем сокращать расходы. К сожалению, сокращать расходы проще, поэтому это первое что обычно делают. Увеличение эффективности команды в долгосрочной перспективе с большой долей вероятности даст бОльше прибыли, чем просто снижение расходов. Milfgard в своей книге хорошо описал случай, когда страх предпринимателя потратить чуть больше денег, чтобы получить больше прибыль, мешает быть эффективнее
Firz
Это потому что сама идея «open space» была в том чтобы дать людям больше воздуха и пространства, а сейчас почему-то все пришло к идее впихнуть как можно больше людей на один квадратный метр.
Kwisatz
Угу, такая же оптимизация как, например, новый офис lamoda? Огромные комнаты отдыха, комнаты для разговору по телефону, переговорки и тесный опенспейс? Нуда…
Arris
Сегодня вы сидите в опенспейсе, завтра вы будете сидеть с коллегой за одним столом, а послезавтра делить с ним одно кресло.
Стоп, какое кресло, у нас же необходимая оптимизация расходов! Сидите на табуретке. Вот вам табуретка на двоих, как хотите, так и сидите.
И вообще, если вдуматься, два разработчика лишние. Уволим одного, а второму будем платить в два раза меньше. В качестве плюшки пообещаем опцион, обяжем подписать NDA, а в NDA засекретим даже название фирмы.
Необходимая оптимизация расходов же.
Ах да, корпоративный гимн надо не забыть. И штрафы для тех, кто путает слова.
P.S. [табличка "сарказм"]
sumanai
Дорого. Лавочка же. Автоматически подстраивается под размеры разработчиков, позволяя вместить максимум на площадь. Заодно и на ПК можно экономить, взяв модный длинный монитор и поделив его на 2-3 рабочих пространства.
gecube
И сразу решена проблема с парным программированием. Разработчики вынуждены работать группками. И сразу ревью кода соседа. Ах, да, кто успел — тот и накодил ) никакого простоя для клавиатуры и максимальная утилизация времени нажатия клавиш
rzerda
Сколько мест с таким (или приближенным, желательно с указанием степени приближения) процессом собеседования Вы наблюдали лично? А сколько наблюдали мест, которые удовлетворяли хотя бы четырём из шести «хотелок»? Сколько из них были в РФ?
Я когда это всё людям в компаниях начинаю рассказывать, на меня смотрят как на идиота, и мне интересно понять, обоснован ли этот взгляд.
ZloyHobbit
В последних трех компаниях, где я работал было именно так — одно техническое интервью, в процессе которого больше обсуждаются разные технологии, преимущества и недостатки, архитектурные решения и.т.д. потом оффер. На мой взгляд это уже показатель адекватной IT компании. (Правда, справедливости ради, последние два места уже в Европе)
rzerda
Значит, не сказки это, есть такие места, буду дальше искать.
Меня недавно спрашивали на собеседовании, что такое модель OSI, и настаивали, что это очень важное понятие, и как можно не знать (а я знал о ней в последний раз в институте, когда она в вопросах к зачёту была). При этом на тогдашней моей инфраструктуре за полчаса можно было сделать так, что в пакете с данными три раза встречается заголовок IP и по одному разу TCP и UDP. Но нет, уровни важнее.
bepas
Kanut
Такие места однозначно есть и как минимум по моим субъективным ощущениям их потихоньку становится больше. То есть джуниоров обычно «по азам» ещё гоняют, а вот миддлов-сениоров уже скорее нет. И с тестовыми заданиями примерно такая же ситуация.
П.С. Правда мой опыт тоже «территориально» относится к центральной Европе.
FloorZ
Ну вообще то модель OSI надо знать, если тебе придется работать с сетью или с инкапсуляцией данных в протоколы и обратно. И понимать, на каком уровне модели ты работаешь с чистыми бинарными данными, UDP/TCP, а на каком ты просто отправляешь уже инкапсулированные данные по Web протоколу.
Это очень помогает, когда работаешь в команде.
Например у вас есть какой нибудь modbus, который вы считываете в сыром виде на 4ом уровне OSI. И есть приложение, которое парсит эту порнографию и инкапсулирует в 6ой уровень оси и отправляет по https у в виде запроса.
rzerda
О, давайте побеседуем. Тот пример про три раза IP и TCP с UDP это «всего лишь» HTTP-трафик, завёрнутый в IPIP, завёрнутый в VXLAN и снятый, соответственно, с интерфейса гипервизора. При этом мне известно про существование scapy, где можно заворачивать вообще всё что угодно во всё что угодно пока пакет влезает в среду (на нём я начинал делать blackbox-проверку корректности настройки концов этих самых IPIP-туннелей, но вышло медленно и криво, поэтому переделал на табун фактических туннельных интерфейсов в ВМ).
То есть принципы разбиения на уровни и инкапсуляции я знаю, и также знаю, кто какой «конверт» заворачивает и разворачивает. Но я совершенно не помню, как называются эти семь уровней OSI и какие характеристики они в себе несут, и по своим ощущениям я ни разу от этого не пострадал, включая моменты отладки всего этого департамента мостов и тоннелей, в том числе при разговорах с сетевиками. Даже если это требуется, можно всё за две минуты посмотреть в той же Википедии и потом выкинуть из головы после окончания разговора до следующей проблемы. Зачем эти все мелкие детали прямо специально знать, если встречаешься с этим хорошо если раз в месяц?
FloorZ
Вопрос стоял не «Опишите модель OSI», а «Что такое модель OSI». :)
На практике был случай, когда я говорю «Посмотри, с каким уровнем ОСИ работает та либа, что ты говорил», а мне в ответ «Что такое ОСИ?»
rzerda
Сплоховал, вопрос-то я точно и не помню. Помню, что на ответ «это такая модель коммуникационных протоколов из семи уровней, нижний физический, верхний — приложений, больше про неё ничего не помню» получил огорчение столь поверхностным знанием.
На практике я сам недавно на вопрос собеседующего «скажи мне broadcast-адрес вот этой сети» несколько минут нёс такую ересь, что аж страшно потом стало. Но маски я считаю ещё реже, чем копаюсь в туннельном трафике.
FloorZ
Это уже из уровня «Мы ищем программиста контроллеров коммутаторов» =)
scg
Разве что, чтобы понять что в даташите подразумевается под L2 filter или что-то вроде того.
glestwid
Так ежу понятно для чего спрашивали — чтобы прогнуть по деньгам кандидата.
swelf
Тю, мне как-то дали тестик на собеседовании, был вопрос, какие из адресов серые/белые, ну я посмотрел на первый/второй октет, отметил адреса, на что получил ответ «Не верно, вот этот 10.1.1.256» вобще на валидный адрес, по факту то интервьювер был прав, но это какойто бесполезный вопрос который никаких знаний не проверяет, разве что внимательность. Или еще вопрос от него же, «Минимальное кол-во интерфесов необходимое для маршрутизации трафика», я ответил один, на что получил корректировку совсем не связанную с вопросом «Не правильно, 2, какой смысл настраивать маршрутизацию на машине с одним интерфейсом».
gecube
А ты ему такой заворачиваешь — что там хитрая сетка с хитрой адресной политикой и несколько шлюзов, ЛОЛ. Или впны-шмепеены и вирт интерфейсы.
Viceroyalty
Подтверждаю — было и у меня такое, правда я не программистом а IT-аудитором устраивался
UserAd
Мы нанимаем так людей. Вначале удаленное интервью по zoom во время которого идет обсуждение технологий и опыта, потом второе уже лично в офисе когда показывается код, инфраструктура и прочее и уже сразу делается оффер. Некоторых людей это даже несколько пугает что нет многочасовых раскрашиваний деревьев.
euroUK Автор
Я собеседую именно так. Но у нас в компании другие проекты собеседуют совсем иначе. Тут уж как повезет. Я лично могу сказать, что вот последние три рабочих места мои собеседования были весьма адекватными.
DrunkBear
В Москве встречал 4 места, которые удовлетворяли минимум 5 из 6 хотелок из списка и в каждом из них было 100-500 человек, в основном, не связанных с разработкой — небольшие ( меньше трети работников) подразделения, которые достаточно важны для компании, чтоб обеспечивать потребности отделов.
Забавно, что все большие финтех и продуктовые компании — это с 99% вероятностью оупенспейсы (в смысле — я видел 100%, но вдруг где-то иначе?).
bayarsaikhan
Такие собеседования были нормой в Москве нулевых. Я не помню чтобы у меня было куда-либо больше одного собеседования, а все самые удачные варианты были с собеседованием просто «за жизнь». Потом в какой-то момент по всему миру распространился вирус многоступенчатых собесов, что по большому счету является карго-культом — «давайте набирать людей как это делают в Amazon, станем такими же крутыми».
К примеру, мне абсолютно не понятно, как при дефиците разработчиков, средненький стартап в Берлине устраивает 5 собеседований? В этом есть положительный момент, все это сильно увеличивает желание никуда не дергаться с текущей работы.
sumanai
А что в этом положительного?
paramahamsa
А вам такие не встречались? Как минимум двоих таких знаю, ну может со стажем не 10 лет, но 8 точно. Ребята просто умеют себя продать и ловят рыбку в мутной воде аутсорса.
panteleymonov
Я тоже одного знаю. При мне писал только обертки всего функционала «Common» на С#. Как только доходит дело до реализации алгоритма — «что опять мне писать?». Любой разговор сводиться к «микросервисный подход, высокие нагрузки, облако». Потом начальником стал на новом месте.
Viceroyalty
Печально
Femistoklov
Несколько лет писал простые обёртки? Это что ж у вас за функционал такой? Даже не представляю, где может встретиться такой объём необходимой рутинной работы.
panteleymonov
Речь шла о людях которые работают в среднем год, а то и меньше, на месте работы.
euroUK Автор
Наверняка такие есть. Но мне достаточно 10 минут, чтобы это все понять. Мне не надо тратить целый день для этого. Ну или просить сделать тестовое задание на целый день. На самом деле, в большинстве случаев какое-то понимание наступает и по телефону за 15 минут.
Если кандидат любит свою работу, а это видно по отношению к работе и кругозору, то это уже неплохой взгляд. А если не может сформулировать что именно делал на прошлом месте (ответ задачи в 50% случаев, какие — ну там ПМ ставил) или же блокчейн-бигдата-ai-микросервисы, то тут все ясно.
tmin10
А что плохого в опыте построения ETL пайплайнов для обработки бигдаты батчами или стримами? Да и в микросервисы тоже не совсем понятно…
DrunkBear
При наличии подтверждённого опыта во всё ещё хайповой бигдате — ценник сотрудника изрядно растёт и особо не прогнуть по деньгам: за воротами ещё 10 таких же работодателей в очереди, а денег жалко /irony
И к тому же, на вакансию может набежать десяткок людей с опытом «прошёл курсы Бигдатасатанист за 2 недели» и запросами от 250.
flight
Сейчас собеседую синьйоров в крупной западной компании. В большинстве случаев даже до первого личного собеседования не доходит, т.к. в простейшем тестовом куча ошибок. Люди с 10 летним стажем понятия не имеют про семантику, простейшие основы css и асинхронные запросы.
fillpackart
Всегда в таких случаях вспоминаю свою работу, на которой использовался C# 2.0
Видимо у них тоже нашёлся 10-летний синьор, который не верит, не знаю. Но суть в том, что кодовая база от этого точно не выиграла. То, что даже в C# 4 автоматизируется одной строкой, там приходилось решать сотнями строк.
96467840
вы не совсем правильно поняли написанное. я тоже сначала тоже так подумал, но потом понял что автор имел ввиду «не верят в обещания что будет переход на c# 4 ...»
fillpackart
Фига себе! Действительно, не так понял.
sshikov
Что характерно, но похоже в обратную сторону это тоже работает. Те компании, где собеседование у меня было более-менее таким, как тут описано, были наиболее адекватными.
McKinseyBA
Все так и есть. Если только собеседование не в условный Google. Остается надеяться, что только условные гуглы и будут писать на Хабре о 5-10 этапах найма с задачами о люках. Однако дождемся ли мы таких времен? Вопрос риторический.
glestwid
Чувствую что COVID сделает такие времена ощутимо ближе, судя по томатному пюре на биржах.
alexeibs
В условном гугле процесс многоэтапный и муторный: HR скрининг, кодинг-секция в Hangouts, on-site секции (кодинг, system design interview, HR-секция), беседы с нанимающими менеджерами, рассмотрение в hiring commitee -> оффер. Но в такой схеме кандидат защищен от предвзятого к себе отношения со стороны какого-то одного человека, участвующего в найме. В «собеседовании здорового человека» все зависит от «здоровости» самого собеседующего. Компания, которую он представляет, может быть неплохой, а он сам — не очень. И наоборот.
kofas
Kanut
Хм. Может быть всё-таки не стоит говорить вот прямо за всех.
Потому что я вроде как бы тоже попадаю под описание «сениор с многолетним опытом работы (10+ лет), который успел поработать в нескольких конторах над несколькими проектами. За свою немаленькую карьеру такой разработчик, скорее всего видел и махровый легаси и смузи стартапы и кровавый энтерпрайз»
Но при этом как минимум в «переход на .NetCore», «разбиение монолита» и «гибкие методологии» я верю. И я вполне себе это видел «вживую» и вполне себе работающим. Не идеально работающим конечно, но вполне себе работающим.
И против «пятничных посиделок и тимбилдинга» я тоже ничего против не имею. Особенно если они включают в себя и семью и детей.
И точно так же я ничего не имею против сэндвичей, всяких «фруктово-овощных корзинок» и смузи в офисе. И если такое есть, то я с удовольствием этим пользуюсь.
То есть в статье на мой взгляд многое написано правильно и я готов под этим подписаться. А многое сильно субъективно и я с этим наоборот совсем не согласен.
McKinseyBA
А я с автором согласен во всем, кроме .NetCore, о котором не имею представления.
На правах ИМХО — сейчас статью больше людей плюсануло, чем Ваш комментарий. Конечно, методологическая база моего сравнения не очень убедительна, но более точно сравнить все же можно будет если опишите свое видение в виде статьи и соберете свои плюсы. Однако текущий разрыв в оценках на целый порядок компенсирует несовершенство методологии.
Kanut
Ну что статью плюсануло больше людей чем какой-то комментарий это совершенно не удивительно.
И опять же в статье вполне себе многое написано правильно. Но всё равно не стоит всех грести под одну гребёнку. Особенно если речь идёт о каких-то очень субъективных вещах.
euroUK Автор
Очевидно, что тут личное, кому-то нравится что-то, кому-то нет.
Мысль была в том, что все вышеприведенное — это не решающий фактор. Хорошо, когда кола есть, но лично я ни разу не шел на работу из-за этого.
Более того, я сам не так давно занимался попытками разбиения монолита и переводом на Core, и это было примерно как проктологом работать. Просто сам факт перевода — это не плюс совсем. Вот если с нуля нормально писать, тогда да.
Kanut
Ну так в том что и дело что это всё очень индивидуально что там для кого является или не является решающим фактором.
VolCh
Тут скорее о том, что приходишь на собес, тебе "продают" позицию рассказами "сейчас у нас легаси, но мы всё обновим, на микросервисы разобъём, тестами покроем", принимаешь офер, но ничего особо не меняется. Или меняется, но так что лучше бы не менялось.
tmin10
С другой стороны человека могут нанимать как раз под задачу миграции, смысл его обманывать так, он просто уйдёт куда-то ещё тогда.
EvgeniiR
Если это те же люди что и написали всё существующее «легаси» — скорее всего, ничего хорошего по технической части ждать не стоит.
Как могут люди, не сумевшие качественно написать монолит, построить распределённую систему?
JustDont
Вы немного не так прочитали этот тезис в статье, на мой взгляд. Речь не о том, что так не бывает — конечно же бывает.
Речь о том, что когда мне говорят про это — я автоматически не верю, пока не доказано обратное. Потому что мой опыт мне подсказывает, что в подавляющем большинстве случаев (как минимум 9 из 10) за этим скрывается либо маркетинговый (в плане «продажи» компании кандидату) bullshit, либо же искреннее, но непрофессиональное желание так сделать — это когда, скажем, миграцию на более актуальные технологии действительно хотят сделать, но из-за неопытности не понимают ни масштаба затрат на миграцию, ни масштаба потерь при её отсутствии.
Зато когда мне кто-то рассказывает о том, как они в стартапческом запале налабали кучу кода, которая настолько плоха, что уже превратилась в легаси, а проект всё еще даже не вышел из стадии стартапа — этому я по умолчанию верю. Это как раз дело крайне нехитрое.
PeterPP
Даже конторы есть специальные которые за деньги это вам сделают, не подкопаешься.
Это не для того чтобы раскусить, а чтобы можно было проверить ширину знаний и увидев пробел, можно поковырять его, чтобы нащупать как глубока кроличья нора.
khabib
>интенсив курсами прохода технических собеседований.
Как раз традиционное (сейчас) собеседование легче пройти после подобных интенсив курсов, книг, тренингов. Имея просто 10 лет опыта разработки, успешых проектов и реального вклада в бизнес, собеседование гугла, фб или амазона не пройдешь.
JustDont
Еще ни разу в жизни не видел, чтоб нащупывание «пробела в знаниях» на собеседованиях не было бы чем-то иным, кроме как попыткой самоутвердиться (или «продавить по зп», что тоже самое, только в финансовом разрезе) за счёт кандидата.
Пробелов у специалиста, копающего на безбрежном поле знаний (а разработчики именно такие) всегда можно найти бесконечно. Я бы даже сказал, что если вы в ходе часовой технической беседы не можете найти пробелов у собеседника — это скорее всего означает, что собеседник намного выше вас уровнем (не обязательно в программировании, вполне возможно, что он гораздо сильнее вас в прохождении собеседований).
PeterPP
Если вы сами проводите интервью, то уверяю вас, вы должны были увидеть столько случаев попыток пролезть на позицию повыше, что трудно чему либо удивиться.
Разговор за жизнь, это хорошо, но должна быть техническая состовляющая. Я например привожу кусок легаси кода где сделаны все возможные ошибки и прошу объяснить что сделано неправильно, почему и как поправить.
Никаких сортировок, круглых люков, тестовых заданий и т.п., но работает как магия. Через пять минут видно если человек имеет представление от том что он видит.
JustDont
Попытки пролезть повыше нет смысла фильтровать через поиск «пробелов в знаниях», иначе вы наймете профессионального проходителя собеседований, и — ну, удачи с ним работать.
Подход плох тем, что разговор об ошибках в коде не имеет смысла вне контекста остального кода, если только мы не про ошибки компилятора (а ошибки компилятора найдет и компилятор) или алгоритма (а ошибки алгоритма видны при знании алгоритма и не видны без оного, поэтому это то же самое, что и просить кандидата этот алгоритм написать). Итого вместо того, чтоб действительно проверять технические навыки кандидата, вы, как и обычно, проверяете принадлежность кандидата к «своим» — если у него общие представления о хорошести кода совпадут с вашими, то он ваш тест пройдет, а если нет — то нет.
euroUK Автор
Я думаю, речь идет о всяких Where после ToList, незакрытых подключениях и прочим.
JustDont
Сколько таких штук не видел — всякие незакрытые подключения в них обычно считаются за «простой уровень». А на «продвинутый уровень» обычно предлагается телепать или терзать интервьюера вопросами об окружении, потому что там «ошибки» плохой алгоритмической сложности (на которые плевать если код выполняется редко или если N всегда ограничен сверху), «ошибки» архитектуры (которые имеют смысл только если смотреть на код в контексте всего проекта) и тому подобное.
PeterPP
Ну например идёт что-то типа (C#)
Здесь два момента — отсутствие «using» и directory traversal.Одна строчка, а разговора может минут на десять, чтобы ответить что? почему? как надо?
Подобного всего строк двадцать, но большиство распространнённых ошибок присутствует.
А вы мне рассказываете про ошибки компилятора и «итого вместо того, чтоб действительно проверять технические навыки кандидата, вы, как и обычно, проверяете принадлежность кандидата к «своим»».
Я написал что мы это использовали много раз и результат превосходит альтернативные методы по качеству и временным затратам. Как для нас, так и для собеседующихся.
JustDont
«Представьте себе, что вы компилятор» (с)
А она тут есть. А что параметр filename называется — ну, «так исторически сложилось, публичный API не хотели трогать» (с). Ничего не мешает в нём передавать хвост с директориями.
Одна строчка, а хорошего общения тут примерно нисколько, ибо контекст у этой строчки отсутствует.
PeterPP
Ну вот видете, одна строчка, а так хорошо показывает уровень ваших знаний. Всего хорошего.
Вы конечно будете говорить я C# не знаю, я фронтендер, моё дело аттрибуты цвета выставлять. Ну вот и выставляйте.
JustDont
Я бы очень сильно удивился, если бы у меня, в жизни не написавшего строчки на сишарпе, нашлись бы офигенные знания в нем.
Но вот ваш ответ, с другой стороны, очень хорошо иллюстрирует мой начальный тезис об необходимости самоутвердиться за счёт кого-то еще. Спасибо.
PeterPP
Одна строчка кода выявила три проблемы. Одну общую и две технических.
1. Общая и наиболее важная — не зная C# и осозновая это, вы же незамедлительно бросаетесь судь о чём либо с высоты своего невежества. И после этого оправдываетесь отсутсвием знаний. Это характеризует вас как человека с «душком».
Нормальный человек хотя бы сначала спросил про что вообще речь идёт, вы же сразу начинаете поливать собеседника известной субстанцией.
2. directory traversal это базовая концепция и к C# не имеет отношения. Судя же по вашему ответу вы не имеете понятия что это вообще такое.
3. Поверх этого, вы начинаете рассуждать о проблеме с именованием параметра filename, т.е. вы серьёзно обсуждаете использование анти-паттерна «security through obscurity», что добавляет ещё один штришок к общей картине.
В целом я бы порекомендовал вашему работодателю отправить вас на курсы повышения квалификации. Хотя для джуна, это вполне простительно, не сразу Москва строилась.
Kanut
То есть пример он конечно кривоватый и вопросы вызывает. Но без контекста ваши «обвинения» тоже не то чтобы на 100% верны. Тот же directory traversal подразумевает под собой что Request должен быть каким-то вебреквестом, который вам кто угодно может послать и который никак не валидируется и не авторизируется. А это совсем не обязательно так.
То есть грубо говоря на мой взгляд как минимум у вас в голове какой-то контекст существует и вы оцениваете ситуацию исходя из него. Но с «кандидатом» этим контекстом вы при этом не поделились…
PeterPP
Контекст как бы существует по позиции на которую собеседуется человек.
то это как раз тот разговор который я ожидаю. Сразу понятно что человек мыслит в каком-то направлении и понимает процессы происходящие (или могущие происходить) на более низком уровне.Потом, в моём комментарии я говорил о куске кода где-то в двадцать строк, этого достаточно для понятия контекста.
Ну и тем более если фронтенд девелопер, начинает трактовать два слова Request и QueryString как-либо кроме получения значения параметра из query string, это звоночек посильнее всех трёх вместе взятых. Говорит о том что он вообще не понимает что такое query string. Это уже клиника (для фронендера).
Если же он задаст вопрос
И вполне допускаю что мое мнение не правильное, за что заслуженно получил пару минусов в карму.
Я поделился опытом, который _может быть_ полезен начинающему интревьюеру, привел пример и в благодарность был облит помоями от человека который потом сам говорит — ну я же в этом ничего не понимаю, что вы от меня хотите.
Kanut
Я модет быть что-то пропустил, но я не вижу ни слова о какой-то конкретной позиции или про «фронтендера».
И ваше «Подобного всего строк двадцать, но большиство распространнённых ошибок присутствует» лично я понял как наличие вот таких вот не связанных между собой строк кода, которые сами по себе должны содержать какие-то «распространённые ошибки».
П.С. Ну и у меня например первый вопрос который возник при взгляде на ваш код был а почему «d:\data\» не запихнуто в какую-то константу.
gecube
Я вообще не понял что это за строчка — видимо, что-то сишарп специфичное и мне нужны пояснения ))))
+++
PeterPP
На сколько я помню, FileStream есть и в node.js и в java, я думал что «var fs = new FileStream» в качестве примера это настолько просто, насколько возможно.
Опять же, хороший подовод поговорить. Если человек спросит про что-то подобное, это плюс. Если вместо константы предложит получать значение из конфигурационного файла, еще лучше.Kanut
Только вот с «using» там вроде бы всё не так радужно.
Но не «третий момент»? :)
PeterPP
JustDont
Скажу, пожалуй, и тут «спасибо» за наглядную иллюстрацию моего тезиса про контекст. Так вот за порядочное время и порядочно попереходя на личности, мы выяснили, что речь идёт про какой-то сферический вебсервер. Но на самом деле это далеко не конец попыткам протелепать ситуацию (не относящимся напрямую к поиску ошибок в коде), а только начало. Потому что:
А что это за вебсервер вообще? Как и где он используется? PeterPP явно считает, что его одна строчка кода «плохая», но конкретно в ней одной проблемы минимальны — плохое именование, да обращение к файловой системе где попало — заметим, что от одного только создания FileStream на чтение никому особо не поплохеет. А где режим, кстати? Или мне опять нужно поработать компилятором?
Anyway, автор строчки явно считает, что выход за пределы /data — это нехорошо. Но с чего он это решил? Из этой строчки кода оно вообще никак не следует. И даже из знания о том, что это вебсервер — тоже не следует. Я назову по крайней мере
тричетыре причины, по которым код с потенциальной уязвимостью directory traversal может быть абсолютно нормальным.И вот обсуждений уже вагон, а интересными они всё так же не становятся. Так, игра в «догадайся, что я имел в виду» с интервьюером.
gecube
Ну, видимо, предполагается, что в filename придется ../../../something и приплыли
+1
JustDont
Угу, это наиболее вероятное объяснение. Но мало ли, может там следующей строчкой проверяется fs.Name на «правильную» директорию. Или не проверяется, а просто с fs ничего интересного не происходит, и тогда вообще плевать, что что-то там куда-то вышло.
А еще бывают куда более интересные причины, когда это «норм»:
1) Заведомо уязвимый вебсервер. И не обязательно по банальным причинам типа «это внутренний проект, нам некогда было заморачиваться», иногда причины могут быть и интересными — например, ханипот.
2) Вебсервер не имеет файловых прав за пределами D:/data. И пусть хоть обвзламывают.
3) За пределами D:/data ничего нет и не будет. Банально, но работает :-)
4) D:/data — это симлинк на D:/
?\_(?)_/?
JustDont
Вот только мы не на интервью. Но даже это не мешает вам самоутверждаться, что очень характерно.
И что дважды характерно, это не мешает вам чувствовать себя обиженным, и реагировать через
?\_(?)_/?
Я вообще считаю очень любопытным, когда человек одновременно крайне невежлив и обижается. Вот то самое passive aggressive как оно есть, прям хрестоматийно. Сначала послать лесом, а потом обидеться на импликацию и вернуться дополнительно подтверждать её справедливость.
Меж тем, всё, о чем я писал — это о том, что когда человек спорит со мной о том, что не всякие проверки на «пробелы в знаниях» это самоутверждение, а спустя пару постов высказывает «вы ничегошеньки не знаете, адьёс» — это, ну, настолько смешная иллюстрация моего тезиса, что на самом деле даже и не смешно.
На всякий случай, я тут сразу скажу как на самом деле надо правильно делать в таких случаях: отвечать «ошибка — вот в том-то и том-то». Это — правильный и вежливый вариант, пригодный для собеседования. Любые формы переходов на личности, в том числе и «ваши знания отстой, до свиданья» — не правильные, и на собеседовании применять их не стоит.
Извините великодушно, последний раз имел дело с потрохами вебсервера в 2008 году. Думал, с тех пор стало как-то поудобнее, чем проверять руками пути на выход из корня вебсервера, но видимо нет, по крайней мере в C#.
Если б вы не так сильно преследовали цель уязвить меня, и если у вас действительно есть нормальный опыт — я думаю, вы бы без труда припомнили бы свои варианты ситуации, когда плохо запроектированные и ужасно именованные публичные API живут годами, потому что менять их очень дорого.
Если у вас таких ситуаций не бывало — ну, отлично. Еще будут.
В целом я бы рекомендовал вам не рекомендовать. У вас это получается довольно комично.
PeterPP
В чём заключается моё самоутверждение? И как вы в буковках на экране видете обиду.
Вы хоть погуглите для смеха что это такое, фронтенд девелопер должен относиться к безопасности своего приложения как к приоритету. Опять же, вы не понимаете про что идёт разговор. Имя параметра filename это не проблема, проблема в том, что вы считаете что это является проблемой.JustDont
В том, что вы уже который по счету пост не можете съехать с ad hominem, хотя вроде б все тут взрослые люди.
Я знаю, что это такое. Но чтоб начать соотносить это всё с вашей строчкой кода, мне потребовалось повспоминать обратно всё, что я знал про вебсерверы, но забыл за ненадобностью. Контекст нужный взять, другими словами. То, о чём я вам писал несколькими постами выше.
И, кстати, в вашей одной строчке никакой дыры безопасности нет. Она может появиться (или не появиться) только в последующих.
У фронтенд-девелопера свои проблемы с безопасностью, мало относящиеся к файловым системам, но не менее критичные.
Имя параметра filename, если там может находиться не filename — это проблема. Более того, это одна из двух сложных проблем программирования. Если вы не считаете плохие имена проблемой — у вас проблема.
PeterPP
0xd34df00d
А смысл, если бекенду всё равно надо это всё валидировать? К вашему серверу могут обращаться далеко не только из написанного фронтендером, э, фронтенда.
PeterPP
Ну и теоретизирование в том что такой подход не работает, разбивается о нашу практику его использования (не претендую на истинную-истину).
Никто не жаловался, а что-то я не пойму в чём контекст, наоборот говорили что гораздо меньше стресса от чтения кода, чем от написания или алгоритмирования. К тому же спросить и прояснить непонятные детали, очень легко. Показывает общий уровень воспреимчивости к нечётким требованиям.
0xd34df00d
А зачем ему про них знать? Его фронтенд-действий для защиты от того, что актуально для бекенда, заведомо будет недостаточно. Нужны ли эти действия — тоже хороший вопрос. Из плюсов — пользователю можно показать «вы хэккер, используйте telnet» без отправки запроса на сервер. Из минусов — дублирование логики, размазывание ответственности. Это, наверное, весомее.
Вопрос лишь в том, насколько глубоко надо копать. Про алгоритм Нагла вы, надеюсь, тоже спросите?
То есть, да, широта кругозора — это, конечно, хорошо, но вы тогда уж лучше спросите про лямбда-исчисление, что ли. Или там, не знаю, предел
sin x / x
при x к нулю.PeterPP
gecube
насчет нагибать — это безосновательное утверждение от слова совсем. Может просто быть баг. Зато двойная валидация — это отличный способ удорожить разработку и удорожить поддержку
PeterPP
Kanut
Так его бы и без валидация во фронтенде точно так же бы нашли.
Это каким конкретно образом она вдруг так идёт? Мне аж интересно стало.
Ну на мой взгляд вот именно такие вещи достаточно валидировать только на сервере. Потому что случается очень редко и обычно подразумевает под собой либо наличие какого-то злого умысла со стороны посылающего реквест, либо действительно какой-то баг.
PeterPP
Очень просто идёт. Большинство валидаций, это что параметр необходим, что это число или дата или что максимальная длина не больше той что база принимает или что долен быть валидный емайл и т.п.
Для aps.mvc что-то типа
В .net forms это достигается тем что валидатор на форме автоматом делает это за вас.
Для валидаций в ангуляре, можно автоматически сгенирировать правила валидирования базируясь на определнии модели с сервера.
euroUK Автор
Так-то сервер сайд и клиент сайд валидации разные. Суть первой — проверить валидность заполнения без раундтрипов и желательно в интерактивной форме.
Валидация сервер сайд — это скорее всего проверка с точки зрения бизнес логики.
PeterPP
Kanut
Что значит «неправильные данные ввели» в контексте directory traversal? Ну то есть если формат строки неправильный, то это конечно во фронтенде отвалидировать можно. А если вам надо знать есть ли такой файл и есть ли у пользователя права на него, то как вы это собираетесь во фронтенде валидировать?
Ну во первых если у вас во фронтенде только такие валидации, то как они вам помогут против directory traversal? Во вторых даже такие валидации далеко не везде «идут бесплатно».
dmitry_dvm
Вижу в куске достаточно проблем, начиная от хардкода и NRE и до утечек с юзингом, но что такое directory traversal?
dmitry_dvm
По каментам понял, что это возможность извне указать на другой файл.
A114n
Святая правда.
Но её не замечают, потому что — сюрприз, сюрприз! — большинство из тех, кто таки уже работает они И ЕСТЬ ПРОФЕССИОНАЛЬНЫЕ ПРОХОДИТЕЛИ СОБЕСЕДОВАНИЙ.
Любая социальная группа стремится к самовоспроизводству.
Некоторые полагают, что самовоспроизводство непрофессионалов вызовет удар Невидимой Руки Рыночка, который тут же порешает всех, кто не умеет по-настоящему работать.
Но на практике мы постоянно сталкиваемся с нерыночными ситуациями типа «хайпа», который позволяет создать стартап из трёх индусов и одного недоучившегося студента.
Поэтому никакой рыночек тут не поможет. Мы уже живём не просто в ситуации, когда одни профессиональные проходители собеседований нанимают других профессиональных проходителей собеседований. Так выглядел вчерашний день.
Сейчас уже обе стороны искренне считают, что:
1) То, что они делают перед трудоустройством — настоящее собеседование.
2) А то, что они делают после — настоящая работа.
По факту мы видим на этапе собеседований дебильные проверки на алгоритмы, а после собеседований — дебильный эджайл.
Pavenci
Опытный разработчик устраивается в компанию для того чтобы работать, а всякую корпоративную мишуру и гибкие методологии оставьте детям, им в своей песочнице и так хорошо.
Так уже вышло, что в подавляющем большинстве случаев опытный разработчик работает качественно не в опен спейсе, как выше уже заметили, потому что ему необходимо полностью сконцентрироваться на работе, а не отвлекаться на всякую мишуру вроде пожать каждому руку или послушать как кто-то сходил в прошлую пятницу в клуб.
А главное на мой взгляд: опытный разработчик способен самостоятельно выбрать и эффективно использовать наиболее подходящие инструменты для решения конкретной задачи, а не вот эти ваши модные реакты на каждый чих и микросервисы.
x0rHamster
Про опытных сеньоров, с которыми эффективней «пообщаться за жизнь», вы написали, но что вы думаете о собеседовании с кандидатом, опыт которого, скажем, 1-3 года? Он видел всего пару мест, работал не с самым лучшим кодом под эффектом «разбитых стекол» (и оттого не всегда знает, что можно «лучше», а главное — как это сделать), да и в бизнес особо не погружался. Как рассмотреть в нем потенциал, отличить человека, которому достаточно показать новые пути и слегка подтолкнуть (периодически устраивая обсуждения о прагматизме и «меньшем из двух зол» какого-нибудь архитектурного решения), от того, кто останется на том же уровне и еще через 3 года? Или вы не выращиваете собственных сеньоров, предпочитая брать готовых на рынке?
euroUK Автор
Для мидлов и джунов (что по сути одно и тоже) можно оценивать только общий кругозор и любовь к ИТ в целом.
Следит ли за новыми технологиями? (у меня вот новый проект сразу на Blazor пилим)
Есть ли пет-проекты?
Какие еще языки пробовал?
Смотрит ли конференции/читает ли статьи?
В какую область хотел бы развиваться?
Примерно в эту степь. Естественно, самому надо быть тоже в курсе)
glestwid
Правильно понимаю, что возрастной джун в таком случае будет no go? У него ведь, скорее всего, не pet project, а семья и серьезные финансовые обязательства.
JustDont
Возрастной джун скорее всего сможет многое рассказать на вопросы по общему кругозору и любви к ИТ. И да, если он вместо этого отвечает «пошел в ИТ, потому что тут хорошие деньги дают, а они мне нужны» — то это повод серьезно задуматься, нужен ли он вам. Все без исключения разработчики с существенным опытом работы, которых я встречал — любят именно разработку, или по крайней мере определенные её аспекты. Работая при этом, разумеется, за деньги, и ни в коем случае не от избытка чувств.
Те, кто приходят только за деньгами, не испытывая никаких эмоций к сабжу, даже если они по способностям тянут — сильно долго не задерживаются, как правило. Точно не на десятки лет.
Lolohaev
Если человек приходит за деньгами и хорошо справляется с каким-то кругом задач, то почему он не может задержаться на десяток лет?
IT уже не специальность для людей увлеченных, а ремесло. Ремеслом можно заниматься всю свою жизнь.
glestwid
А что, ИТ — это корова священная, к которой надо какие-то нежные чувства иметь чтобы успешно работать и зарплату получать? От адвокатов почему-то не ожидается что они будут любить читать постановления пленума ВС, клиентов, закрытых по 228й или 105й, блаженно улыбаться, слушая оглашение приговора ил касатку писать особику.
Neikist
От хороших я бы ожидал. Чтение там книг по истории права, изыскиваний всяких юридических казусов. И прочего.
euroUK Автор
Хороший адвокат читает дела. Особенно в странах, где право что-то значит. И на изменения законов явно подписан.
А в IT это гораздо важнее по той причине, что стэк меняется на 100% за 5 лет. Если у человека нет любви к делу, то он не будет развиваться и он сам и компания застрянет глубоко в прошлом. По сути, любознательный джун вырастет до синьора достаточно быстро, а вот унылый мидл так и останется унылым мидлом.
0xd34df00d
Нежные чувства иметь не надо (наверное, даже противопоказано, в каком-то смысле). Но человек, интересующийся областью, вероятно, при прочих равных будет выдавать более качественные решения (для некоторого определения качества).
glestwid
Согласен, просто когда интересов несколько, то у них 100% возникнет конкуренция за самый важный ресурс жизни — время. И тут вопрос встает ребром — или ты свой код педаляешь потому что идея в голову взбрела, или вникаешь с ребенком в его домашку и ищешь ошибки в задании или учебнике. А потом, с плавящимся неокортексом валишься спать прямо на диван, как есть.
0xd34df00d
Ну если от школьной домашки плавится голова, то, наверное, вопросов нет.
А для учебников, кстати, нет типа errata? Я errata нахожу в том или ином виде почти для всех книг, что читаю, а у них аудитория чуть меньше, чем у школьных учебников.
glestwid
Я Вас умолять, какие там errata для школьных учебников в РФ.
0xd34df00d
Ну вот идея для пет-проекта: сделать сервис для собирания таковых errata.
Мне аналогичная идея, но для научных статей, в голову не так давно приходила.
glestwid
Идея была бы хорошей, если бы не отдавала девизом штата Нью Хемпшир — vox clamantis in deserto. Тот, кому она была бы нужна, никак не может повлиять на того, кто способен принимать решения по этим errata. В результате, в лучшем случае будет писаться нечто никому не нужное в стол. Т.е. очередная графомания, которая пишущего Л.Н. Толстым не сделает от слова совсем. А на работу-то не писаря ищут, а Толстого хотят взять.
0xd34df00d
А зачем по ним принимать решения? Если вы просто читаете учебник, а у вас на мониторе errata открыта, то вам не нужен никто, принимающий решения, вы можете просто, ну, посмотреть, когда там в errata следующая опечатка планируется.
Опять же, по личному опыту — запись errata (пусть даже на сайте автора, это неважно) позволяет мне расправляться с ошибками куда быстрее, чем если я ошибку нашёл сам первый. В последнем случае мне придётся потратить несколько часов, чтобы доказать себе, что это ошибка, возможно, спросив на math.stackexchange или сделав аналогичные существенно более тяжеловесные телодвижения.
nev3rfail
Что такое errata в данном контексте? Беглый гуглёж выдаёт что-то странное.
gecube
Опечатки, описки и попросту неточности в тексте
A114n
>Точно не на десятки лет
Ого.
У меня, как у ваннаби «возрастного джуна» сразу два вопроса
1) А что, много компаний нанимает человека с перспективой продержать его у себя десятки лет?
2) Много ли «десятков лет» работы остаётся у 40летнего, например?
Ну и традиционное — а вы, значит, работали бы, если бы вам не платили?
Neikist
Работал бы вряд ли если бы не платили. Занимался бы как хобби в свободное время — однозначно. Я когда в вуз на экономиста поступал — так и планировал, компы ковырять в свободное время а работать по специальности. Хорошо сообразил что можно совмещать.
JustDont
1) Довольно много компаний желает нанять человека на достаточно длительный период. Не у всех по факту это получается, по очень многим причинам, но контор, нанимающих вас «от забора и как получится» — гораздо больше, чем контор, говорящих что-то в духе «нужен разработчик на проект, проект продлится максимум год».
2) Нет. И?
Нет.
Этот вопрос мне подсказывает, что мой прошлый комментарий вы не очень сильно читали.
0xd34df00d
Да, если у этой компании вообще есть планы жить через десятки лет (то есть, если это не стартап, который может сдохнуть через месяц).
На моей позапрошлой работе были люди, которые отработали там и 20, и 30 лет, и их ценили и даже давали пяток дополнительных выходных в год.
Когда я устраивался на свою прошлую работу, и мы обсуждали, насколько мы нравимся и подходим друг другу, со стороны работодателя прозвучали слова типа «мы стараемся нанимать людей надолго, в идеале — навсегда».
Ну пара уж точно. Может и три остаться.
Да. Я вот сейчас работаю, хотя мне не платят. И через этак месяц-два, если повезёт, буду работать за зарплату, в 10-15 раз меньшую, чем привычная. И «повезёт» не потому, что будут платить хоть что-то, а потому, что это будет полезная строчка в резюме, условно.
0xd34df00d
А как семья не даёт делать пет-проекты?
DrunkBear
Сам я ещё не в курсе, но знакомые говорят, что дети и их обучение — немалый такой пет-проект, весьма ресурсоёмкий и требовательный. Часто конфликтует с другими пет-проектами, особенно за время.
0xd34df00d
Прям интересно стало, как эти знакомые умудряются на обычную дневную работу ходить при этом.
GrimMaple
Няни, бабушки, мамы — для тех, у кого есть возможность. Планшеты, айфоны, затычки — для тех, у кого нет возможности сплавить, а заниматься лень.
Детские сады, школы — когда подрастут :)
Отпуск по уходу за детьми не просто так дают, это действительно очень сложная вещь. Именно воспитание, а не «чем бы дитя не тешилось»
0xd34df00d
Ну, то есть, получается, возможность есть?
Так его ж дают на несколько месяцев после рождения всего лишь, разве нет?
GrimMaple
Было бы желание, а возможность найдется :) у нас в России практика с няньками не очень распространена, могут засмеять или дружить перестать. Кто-то просто боится, что нянька покалечит — мало кто хочет платить норм денег, а ведь при подходе найма няни, чтобы ходить ещё на работы, вы должны ей в прямом смысле платить зарплату. Люди не хотят столько денег тратить.
Опять же в России, ТК 256 (ироничный номер для сего ресурса) говорит, что отпуск даётся до достижения ребенком 3-х летнего возраста, и уволить не могут. Мне знакомые говорили, что есть особи, которые рожают с перерывом в 3 года, чтобы получать пособие и сидеть дома в декрете по 10 лет х) хотя не знаю, как это в реальности разруливается, может просто сплетни
gecube
Сидят, но там выплаты не очень большие. Прям скажу
AndreyGaskov
У меня трое детей, pet-проекты есть. Весьма тяжёлые, затратные по времени и абсолютно немонетизируемые. С другой стороны, из кучи моих близких знакомых программистов pet-проекты есть только у меня, а они специалисты высочайшего класса, работающие в компаниях от JB до Гугла.
Всё зависит от приоритетов, желаний, но никоим образом не является каким-то показателем профессионализма.
panteleymonov
Я бы не торопился ставить ровно между «Ведущим» и «Сеньором», есть еще и «главный программист». Но у нас в России понятие «Сеньор» большинством вовсе неверно воспринимается, из за того что берем название зарубежное и натягиваем на наш трудовой кодекс, а чаще на собственное представление. Точнее благодаря тому что есть иное слово как «Сеньор» — дает повод придумывать свой стандарт. Для одних «Сеньор» это гуру и наставник человек понимающий внутренности любого API и организатор, а для других уровень зазубривания команд языка высокого уровня. И получается так что русский «Сеньор» равен зарубежному «Мидлу».
mikhailian
Ставьте криво!
Milein
Да не, ничем тут РФ не выделяется. За бугром есть такие же самые сеньоры-помидоры.
Обычно сеньор он Senior и есть. А вот ведущий — это скорее Principal.
Впрочем эти градации это дело очень расплывчатое. В одной компании тянешь на одно, в другой на другое.
panteleymonov
zagayevskiy
Я вот от человека, работающего в штатах не в самой маленькой компании, слышал, что тамошний сеньор это по сути наш миддл.
panteleymonov
Вы понимаете что лишь подтверждаете смысл мною сказанного?
zagayevskiy
Я сказал, что мой товарищ говорит прямо противоположное. Там человек называется «Сеньор», но он примерно равен тому, что у нас называется «Миддл».
panteleymonov
Смысл был в том что градация сеньера и ведущего программиста это разные вещи и воспринимаются всеми по разному. В таком разе может быть как то что я описал, так и то что вы описываете. В том контексте котором я описал ситуацию это не противоречащие, не потивоположные утверждения, а примеры подтверждающие мною вышесказанное.
tinhol
За 7 с чем то лет регулярных собеседований со стороны нанимателя родился следующий алгоритм:
Слушаем про опыт кандидата, например пару последних или самых интересных проектов, задаём вопросы пытаясь понять, что люди делали и в чем сложность и какова роль кандидата.
Гоняем кандидата по основам технологии (в нашем случае java) от простого к сложному, понимая глубину знаний.
Спрашиваем "А как бы ты сделал ..." — какое-нибудь решение из нашей практики.
Занимает обычно до 1.5 часа. Бывает, что с первых фраз видно хорошего человека, или наоборот, только к концу человек раскрывается.
olezh
Почему бы не начать сразу с 3 пункта?
Ведь в процессе рассказа как бы он сделал будет понятна и глубина знаний и опыт.
tinhol
Наша специфика такова, что разработчикам необходимо писать много кода, в том числе и старшим. Для этого они должны хорошо ориентироваться в технологиях/фреймворках/библиотеках, которые мы используем.
Так вот, если сразу начинать с пункта 3, мы не сможем понять — человек сам может писать код, или он может только рассказывать "как космические корабли бороздят просторы Вселенной". К сожалению, второй вариант встречается довольно часто. Как вы понимаете, рассказать как устроен, например, FaceBook и разработать аналогичное решение — "две большие разницы" (С).
Таким образом получается, что до пункта 3 еще дойти надо. Если человек не знает, как в java коллекциями пользоваться — его мнение по архитектуре уже не такое ценное, просто потому, что понятно, что он руками вообще ничего не делал (потому как вопросы по технологии, мягко говоря, не сложные).
euroUK Автор
Меня как-то в СберТехе просили озвучить все методы на каком-то джавовском интерфейсе. И это при том, что я дотнет разработчик и на Джаве писал 2 года, о чем в резюме написано.
На вопрос зачем знать все это наизусть ответ был — не зная этого, вы не понимаете суть джавы. При этом сам спрашивающий сверял ответы с листочком.
Тут я просто сказал большое спасибо, встал и вышел.
tinhol
В вашем случае интервьюверы явно поступили некорректно.
Лично я вообще не вижу смысла спрашивать на собеседовании именно детали API.
Но вот например, чем Set отличается от List, вы наверняка бы ответили.
euroUK Автор
У меня было 10 лет на .Net на тот момент и 2 года на Java, меня позвали на собеседование именно по Java. Я-то ненароком думал, что будут спрашивать общее умение программировать, ведь очевидно, что я не могу знать все API наизусть.
Но вот оно как было.
glestwid
Возможно, что им и не надо было никого брать, а просто с целью ИБД докопаться до кандидата и завалить его. Вполне ходовой паттерн в больших конторах, где один приказывает искать кандидата, а второй изыскивает способы не брать никого.
tmin10
Про третий пункт: на хабре была статья про людей, которые не могут сразу выдать решение. Им нужно уйти с совещания, походить с этой проблемой час/день и выдать решение. Особенно тяжело может быть соеринтироваться с чужими проблемами, новое окружение, новые технологии. Скорее всего тут получит преимущество тот, кто имел такой опыт и сможет дать быстрый ответ.
tinhol
Именно так. Варианта 2:
1. Человек решает задачу и мы обсуждаем это решение.
2. Человек сообщает, что быстро не может решить задачу, и мы принимаем решение на основе пунктов 1 и 2. То есть даже в такой ситуации сохраняется шанс не пропустить хорошего человека.
scg
Как сказали мне на собеседовании в Одной Компании, Производящей 3D Ускорители:
«Позиция нашей компании (С) такая: мы щелкаем пальцами, вы — выдаете решение». Увы, возразить на это мне было не чем.
tmin10
Чтож, если им нужны первые пришедшие на ум решения, а не оптимальные — их дело.
Rive
Соискатели: выдвигают требования к идеальному собеседованию.
Рынок: запихивает соискателя кодить в опенспейс с колл-центром после многоступенчатого собеседования с гороскопами и неоплачиваемыми тестовыми заданиями длиной с неделю с эйчаром, техдиром, службой безопасности, секретарём гендира, рыбками секретаря гендира, самим гендиром.
barbanel
Соискатель здорового человека через год (месяц/неделю) в этой конторе:
— Я слишком стар для всего этого дерьма. Я устал, я ухожу.
Соискатель курильщика через пять лет в этой конторе:
— Если я буду возмущаться — меня же уволят!!!
kolemik
всё это конечно здорово… но я вот внезапно обнаружил что 10+ опыта жавы никого не интересуют, если мой убитый кровавым тырпрайзом мозг не в состоянии решить простейшие задачки на поиск чего-то там в массиве. увы, но за год, пусть и не самого активного, но поиска новой работы я не получил ни одного реального офера. по итогам собеседования в яндекс мне вообще намекнули, что я и на джуна не тяну, такие вот дела.
если не научусь заново сортировку пузырьком на бумажке делать, то увы, до того самого адекватного менеджера, который сможет оценить мой опыт и уникальность я просто не доберусь — там Пелевенские «три кольца оцепления с пулемётами».
frozen_coder
В Москве? Ну не знаю, что-то вы не так делаете, кмк. За неделю вот нашёл с 4 годами фулстак опыта, но на чистого бекендера, правда мидл+. Собеседований с кодом в онлайн-блокноте было 1,5 из более чем 10 собеседований и никаких сортировок не спрашивали. Есть компании, которые собеседуют за один собес по скайпу или очно. Самое крутое — поговорить за опыт и как работают какие-нибудь штуки или инструменты, которые используешь ежедневно. Более того, вакансий слали просто завались — приходилось отказывать из-за тайм-слот-оверфлоу-еррор :) Есть ощущение большой нехватки java-кадров в Москве.
kolemik
а какую вилку предложений рассматривали? я-то ищу 250, может в этом дело, и ещё отсеиваю вакансии по месту, ибо хочу ездить не более часа от дома…
ну и опять же я зашёл на пару европейских компаний, то же Zalando, например — аналогично яндексу предлагает порешать задачки на время и возвращает результат без объяснения какие именно тесты сломались.
frozen_coder
Хм, возможно дело в вилке и расположении. Да, я просил меньше 250. Тогда пора начать решать задачки. Грустно и странно. Я понимаю, что мб очень много кандидатов и всё такое, но hr из Яндекса говорила, что у них много открытых вакансий сейчас и всё равно упорно не хотят никак пересматривать процесс найма. Вроде как всем нужны разрабы, а на деле такое. Я вот в Яндекс не стал пробовать даже — понял, что не вывезу их задачки, а предложений и без Яндекса много было.
kolemik
да Яндекс меня по расположению не устраивает, так что я просто для проверки сил к ним ходил. но увы… стресс до сих пор.
alex_blank
> не стал пробовать даже — понял, что не вывезу их задачки
Там не на все позиции сложные задачки, далеко не факт что вас будут спрашивать что-то про деревья, графы и сортировки — это вполне может быть что-то уровня «пробежаться по массиву и что-то просуммировать/разбить на группы», т.е. entry level алгоритмы, встречающиеся в повседневной работе.
Другое дело, что решить даже их за 10-20 минут у доски это очень стрессово и там можно забыть даже как цикл писать, несмотря на большой опыт, не говоря уже про какие-то нетривиальные моменты.
Это решается тренировкой, и если потратить месяц-другой на подготовку (порешать где-нибудь такие задачки типовые, в инете полно сайтов-подборок таких задач), то пройдёте даже самые сложные «секции». Если особо не готовиться и идти «на шару» (чисто скилл проверить), то конечно возможны лютые фейспалмы — и у меня были. Но так как интервью многоэтапное и с разными интервьюерами, то итоговая «взвешенная сумма» может всё равно оказаться в вашу пользу, даже если где-то в отдельных моментах вы затупите.
Как я понял, не обязательно решать всё идеально — достаточно быть лучше других кандидатов. А они тоже тупят адово, идеальных не бывает.
FloorZ
год назад, где то, собеседовался у яндекса, удаленно. Теорию я хорошо им сдал, но меня бомбануло, что ВСЕ интервьюверы опоздали! Вот прям ВСЕ! А у меня часовой пояс лютый.
Деревья, хэши, листы. Все с++ структуры данных описал, да и сейчас описать могу, В принципе стандарт до 17ой версии я очень хорошо знаю.
Но вот когда дошло до реализации задачек, тут, если честно, все задачки были люто замудренные.
Такое ощущение, что им нужны олимпиадники-выпускники, которые в реальных проектах не работали, библиотек не знаю, ни буст, ни qt, ни stl, зато могут выдать реализацию алгоритма в пару секунд или сгенерировать грязную реализацию почти мгновенно.
Зачем тогда меня вообще спрашивали по STL, про шаблонную мета-магию в С++, и всем базовым стрктурам данных, если им нужны те, кто эти алгоритмы будет писать с нуля?
После теории через пару дней было практическое интервью. HR обещал мне, что они будут с интервалом в сутки или пару дней. Но ВНЕЗАПНО! в последний день, они решили провести три интерьвю подряд. А я дебил согласился.
— Первый интервьювер, опоздал на пол часа, был какой то сонный и словно на от-сь дал задание и отключился от микрофона: Найти все подстроки и во всех подстроках сделать реверс слов, и что-то еще надо было там сделать, что бы это было в минимум прогонов и сложность была не квадратичной. Без использования stl и библиотек. Т.е. чистый Си по факту. (я итерировал указателями, но пока пришел к решению, пока отладил указатели, ибо с сырыми указателями ногу прострелить, я напомню, труда не составляет, потерял много времени. Вообще то не все люди могут за 15 минут выдать решение реализации, надо подумать, обмозговать, прогнать идею в голове и только потом решать)
с stl и шаблонами, я бы это решил быстро, несколько строк. А без, мне нужно было подумать, в итоге когда ее закончил, мне сказали «для второго задания у нас уже времени не осталось.»
— Второй интерьвювер, так же подзадержался, был какой то уставший. Там была очень мутная-мутная задача, я в начале в условие часа пол вникал, к коду даже не притрагивал, и если честно, за год забыл условие. Я ее решил очень не оптимально и убил все время.
— Третий интервьювер. В начале мне сказали, что «она» опаздывает на час. А потом через пол часа мне позвонила девушка, по звукам было, словно она в метро и говорит такая «Извините, по результатам двум последним интервью, мы решили, что вы нам не подходите».
Ну и у меня сложилось впечатление, что им нужны дятлы, которые быстро штампуют код.
Так что впечатление после их — удручающие, тебя за говно держат, опаздывают и, я бы сказал, саботируют.
Зато, за счет этого ушел в гейм дев, освоил кучу технологий классных и по факту сам на себя работаю, а не сижу в душном офисе со смузи.
glestwid
Именно. Ищут красноглазых задротов, готовых за «интересный проект + понты в резюме + немного денег» тратить время жизни.
cheshirrrr
Вот такие вот вещи у меня сразу отбивают все желание идти на собеседование
alex_blank
На самом деле это довольно интересно и развивает (в плане кругозора), открываются новые грани восприятия :) Не могу сказать что это действительно как-то помогает именно в рутинной повседневной работе (где куда важнее знать API чего-либо или как конфигурить что-то) — но мне кажется что такой опыт может зарешать в 1% случаев когда приходится таки сделать что-то нетривиальное.
Я вот никогда не задрачивал именно алгоритмы и теорию (Кнут et al.), но я постоянно в жизни делал или пытался делать какие-то собственные велосипеды (фреймворки, библиотеки, DSL, интерпретаторы, компиляторы), и думаю именно поэтому задачки Яндекса мне как-то не показались прямо сверхсложными и я без подготовки с большинством из них справился. Думаю, поэтому это работает и в обратную сторону — если целенаправленно «задрочить» алгоритмы, то потом легко будет решать нетривиальные задачи.
Дело в том что «трюки» и «подходы» встречающиеся в решениях таких «олимпиадных» задачек — они на самом деле довольно шаблонные, и поэтому прорешав какое-то их количество (+ изучив чужие оптимальные решения), мозг легко выделяет нужные абстракции и формирует в голове «библиотеку» из типовых подходов, на уровне спинномозговых рефлексов / интуиции.
Конечно, чтобы на это время тратить, нужно либо очень хотеть именно в большую компанию попасть (напр. что-то из FAANG), либо искренне интересоваться тем, как «под капотом» устроены всякие штуки встречающиеся в computer science...
При этом, чтобы просто иметь неплохую зарплату в IT, успешно при этом решая повседневные бизнес-задачи, это всё не нужно — есть полно компаний, где на интервью не будут мучить никакими задачками. Какой-нибудь неизвестный никому стартап, которому нужно нанять людей ещё «вчера» — часто просто не может себе позволить жесткий отбор кандидатов.
А почему в крупных компаниях отбор именно такой, про это уже много говорилось, но всё же, перечислю причины (как мне это видится):
Они могут себе это позволить — желающих слишком много, отбор можно (даже нужно) сделать максимально жестким.
У крупных компаний часто «всё свое», поэтому знания специфичных стеков и фреймворков «на входе» не особо важны, важнее некий raw base skill. Тут идея в том, что если человек разобрался в алгоритмах, то разберется и с любой другой фигней. А вот обратное не всегда верно, наверное.
Наблюдая вживую за процессом решения задачи, можно быстро прикинуть, знает ли человек базовые понятия и примитивы языка, как он в целом мыслит, знает ли на практике (а не в теории) элементарные вещи. А так же как он коммуницирует. Поэтому на интервью полезно «мыслить вслух» и не стесняться взаимодействовать с интервьюером.
GrimMaple
К такому подходу не было бы никаких вопросов, если бы он реально работал. Не скажу за Яндекс, так как им просто не пользуюсь, но у Гугла собеседования бывают и покруче, только при этом у них почта лагает. Куда делись все эти оптимизаторы и задачи то?
alex_blank
Подозреваю, что они просто занимаются не фронтендом, а какой-то внутренней инфраструктурой, и их работа незаметна (вероятно, как раз потому, что они делают её хорошо)...
GrimMaple
Так на фронтенд, внезапно, все те же собеседования, все с теми же алгоритмами и писать на листочке :)
alex_blank
В Гугл не знаю, но в пресловутом Яндексе фронтендеров вроде не мучают как каких-нибудь C++ бекендщиков. То есть алгоритмы и листочки есть, но уровень задач попроще.
glestwid
А с чего им быть другими? Зачем менять процесс, если биомасса кодеров и так валит к ним со всего глобуса?
IvanVakhrushev
Всё же уметь написать quick/merge sort и обойти дерево надо. Без этого нет смысла приходить на собеседование в Яндекс.
Правда есть другая проблема — это никоим образом не помогает в реальной работе. За год с небольшим всего один раз потребовалось придумать и закодировать действительно сложный алгоритм. 90% времени просто читаешь/пишешь в БД и шину.
Kanut
Вы знаете, но единственный вывод который я могу для себя сделать из вашего поста это: наверное просто нет смысла приходить на собеседования в Яндекс:)
Neikist
Э, а что вы хотели с такой вилкой желаемой да еще и в конторах вроде яндекса? Я еще удивлен что у вас что то простое спрашивали а не какие нибудь задачки на динамическое программирование, балансировку деревьев и подобное.
BugM
А в чем проблема написать сортировку пузырьком на бумажке? 10 лет опыта же.
Алгоритм выдумывается минут за 10, даже если совсем забыл что там и как. Просто из общих соображений.
Человек хотящий 250к вроде как должен уметь писать код. Написать 5 строк кода это правда так сложно?
Замороченные задачки аля Яндекс может и не стоит прашивать. Но пузырек это обычная быстрая проверка что человек не врет и на самом деле умеет писать код.
Kanut
Проблема в том что мне в голову приходит совсем не один способ сортировки и пойди там в более-менее стрессовой ситуации вспомни кто из них «пузырьком» :)
П.С. То есть в нормальной фирме это пожалуй не проблема и там наверное можно написать любой. Но в нормальных фирмах обычно про такое и не спрашивают :)
kolemik
я просто пример привёл, соглашусь неудачный. вот более жизненный был вопрос — добавление элемента в бинарное дерево и нормализация его. если последний раз такую структуру данных ты использовал 15 лет назад в студенческом проекте на каком-нить паскале, то вспомнить что к чему за 20 минут несколько затруднительно…
BugM
Так нормально. А то совсем печально получалось. Программист не может простейшую вещь написать. Которая задумывалась на 10 минут проходимцев отсеять.
Я бы тоже выгнал от греха подальше. Он похоже совсем код писать не умеет и врет много.
Хотя что такое дерево знать должны все. Все основные индексы в БД так работают. Без этого знания можно такого в базе наворотить… Тормозить на пустом месте будет. И что самое печальное это обнаружится в проде и есть шанс что малой кровью оно будет неисправимо.
kolemik
вот мне так и сказали, что не умею код писать… а я сижу и смотрю на тонны написаного мною кода и даже вот не знаю, кто же тогда это всё написал? какой-то когнитивный диссонанс возникает.
Rhombus
А если я БД не использую, можно не знать про дерево?
FloorZ
нельзя)
деревья много где используются)
Например классический map, почти во всех языках.
0xd34df00d
Там красно-чёрное, например. И вывести, какие там инварианты должны сохраняться, я бы на собеседовании не смог (хотя всего год назад писал формально верифицированное красно-чёрное дерево, когда читал книжку Окасаки).
abar
Знать что такое дерево и примерно помнить общие правила работы с индексами в БД (общие, или зависящие от конкретной БД) не равно умению отбалансировать красно-черное дерево за 20 минут на листочке перед собеседующими.
А что касается проблем с производительностью — перед продом всегда должно быть нагрузочное тестирование и тестирование производительности. Если вы не можете отловить проблемы там, то кто же вам тогда доктор?
BugM
Примерно помнить общие правила работы с индексами? Это уровень человека за 250к по вашему? Это на мидла-то с трудом тянет на мой вкус.
Нагрузочное тестирование. Ну-ну. Максимум обстрелять инстанс можно. Что там с базой непонятно. И как она себя поведет на ?10 данных тоже непонятно. Только верить разработчику и ревьюеру и остается.
abar
То есть планы выполнения запросов никто не проверяет и метрики с БД по запросам тоже не собираются?
БД точно так же обстреливается, хоть SQL запросами, хоть вызовами хранимых процедур/функций. Да, для этого надо понимать что конкретно у вас за сервис и как у вас вообще запросы формируются, потому что без этого только и остается, что верить разработчику, а это рано или поздно приведёт к ошибкам.
BugM
Сделали. Обстреляли. Все в разумных пределах. Потом добавили какой-то функционал. Выросла база в несколько раз. И все стало плохо. После исследований стало понятно что мина была заложена в самом начале. Но на том функционале и на том размере все работало. Переделывать много.
А человек всего-то не до конца понимает как индексы в базе работают.
euroUK Автор
Кроме индексов в БД есть еще целая куча вещей, которые влияют на результат. Например типы ключей, статистика или блокировки.
Однако, лично мое имхо, если допустим с 50 миллионами записей проблем нет, то все ОК. На объемах больше в любом случае нужен DBD.
А DBD — отдельная специальность, база данных в разы сложнее, чем любой программист думает.
BugM
Люблю такое. Чуть в сторону и должен прийти специальный человек и сделать. Начиная от базы и заканчивая нечеткими тикетами. А что разработчик делает? Непонятно. Переводить четкие тикеты уже декомпозированные донельзя в код и обезьяна сможет. Зато понятно откуда берутся люди не могущие в простейшие алгоритмы.
Только вот в реальной жизни такое не работает. Делается нечто. Оно внезапно взлетает и вот тебе нагрузка и куча данных. И если сразу было плохо сделано все уходит на переделку. Это для бизнеса дорого. И поэтому требования к деревьям и вот этому всему.
euroUK Автор
У меня коллега был ДБД с полной сертификацией майкрософт. Так вот, есть то что вы думаете про БД, а есть то, что есть на самом деле. И, судя по вашим ответам, вы нифига не понимаете, как оно работает.
BugM
Да куда уж мне. Пока работодатель не оплатит сертификацию человек ничего не умеет. Как оплатит сразу все умеет.
Нет бумажки — таблички не делаешь. Делаешь тикет на человека с бумажкой и ждешь. Запросы-то можно писать? Или тоже тикет этого человека делать? Базу можно одним запросом с небольшим рпс завалить при желании. А с jpa такие запросы вообще легко делать стало.
И зачем вообще все эти собеседования придумали?
Профильный диплом — джун.
Сертификация простенькая — мидл.
Много красивых бумажек — сеньер.
И все.
JustDont
Я, с вашего позволения эту вашу линию аргументов разовью немного:
Делается нечто. Оно еще не взлетело, но мы конечно же верим, что да. Будущие падения нас пугают до дрожи в коленках. Денег на ДБД у нас нет. Поэтому давайте мы на нашу обычную посредственную зарплату нарисуем вагон требований, наймем кого-то, кто сумел пройти в наш неадекватный фильтр — или того, кто просто натренировался в них проходить, или настоящего разработчика с офигенским опытом по части баз и с самооценкой ниже плинтуса. Какова вероятность нанять второго? Да к черту вероятности, наняли и ладно.
А работает это всё потому, что множество «нечт» так никогда и не взлетают, и проверки боем никогда и не проходят. А в таких условиях неважно, что там понаворотили супермегаспецы по деревьям на зарплате чуть ниже рынка — всё равно это никто не проверит.
kolemik
не сложно выдумать и написать сортировку, это я умею и просто пример привёл, не сложно и на бумажке написать без ошибок, благо делаю это давно, привычка, но сложно делать это быстро. как мне рассказали в том же яндексе — я решал по две задачи за раунд, а надо было минимум три, минимум. как-то так. увы, мозг в почти 40 лет так быстро не работает.
я было подумал что он вообще уже не работает в олимпиадную сторону, но вот рискнул на одной из конфренций поучаствовать в конкурсе от яндекс-авто и ухитрился третье место занять (а там в-основном молодёжь была), но там не было жёстких временных рамок — что-то около 4 часов получалось на решение.
но при этом, решение олимпиадных задачек никогда не было моим коньком, я даже на физтех-то чудом поступил, завалив экзамены в бауманке :) я всё больше по дизайну уникальных решений, по решению сложных интеграционных задач, по универсальным фреймворкам, вот это всё…
zagayevskiy
Кто вам такое рассказал, про три задачи? На самой главной секции дается максимум две задачи на написание кода, одна сложнее, другая проще. На остальных секциях написание кода и просто вопросы обычно смешиваются.
kolemik
девушка которая мне назначала встречи. по итогам позвонила и сказала шо надо было минимум три задачи. что такое «самая главная» я честно говоря не понял — мне они все показались однотипными, кроме скайп-интервью где меня хоть немного поспрашивали за опыт реальной работы.
0xd34df00d
Лично мне куда проще было бы написать что-то квиксортоподобное (не инплейс) или merge sort. Там корректность очевидна, а с пузырьком придётся включить голову, чтобы доказать, что он завершается, выдаёт сортированный массив и все такое.
BugM
Что-то мне подсказывает что любой собеседующий без проблем на это согласится. Пузырек просят как самое простое. Мерджесорт не напишет почти никто. Зато гневных статей и комментов на Хабре появится море. Как они посмели? Да у меня 10 лет стажа. Чтобы я алгоритм писал? Да никогда.
DnV
Сортировку пузырьком невозможно «разучиться». Это надо быть каким-то узкоспециализированным самоучкой с такими пробелами.
DnV
Извиняюсь, не дочитал пояснение про неудачный пример. С деревом есть известная история, как создателю homebrew отказали в гугле на таком же основании, хотя все разработчики там используют его менеджер пакетов )
Pavenci
воот, наглядное доказательство что компании (даже гугл) больше ценят всякую ерунду, и тратят на неё кучу времени (привет яндекс), чем реальные рабочие продукты, которые используют люди. Берут тех, кто потренировался в алгоритмы, а человека, за плечами которого стоит реально успешный и рабочий продукт шлют на уй просто потому что он не написал сортировку пузырьком.
mmMike
В условиях цейтнота и нервной обстановки — запросто можно не вспомнить сразу.
Давно когда то сдавал deep сертификацию (дайвинг). И инструктор не нашел ничего лучшего чем предложить поделить в столбик два пятизначных числа (тест на азотный наркоз на 40м).
Да я потом минут 5..7 уже на боте вспоминал детали как это делается. Общий принцип то понятен — позиционное десятичное исчисление. А детали… Ни разу со школы не делил на бумажке.
Вот Вы вот так прям сразу поделите 82734 на 36269 столбиком за 2 минуты? Элементарная же задача для школьника. Получилось сразу вспомнить технику деления/записи?
Сортировка пузырьком — общий принцип понятен, но если лет XX это не вспоминал, то на алгоритм уйдет > 2 минут. Потому что вот прямо сейчас (специально не заглядывая в..) у меня сортировка пузырьком только мысль/воспоминания "что то там всплывает и это неэффективный алгоритм".
вот как раз несколько минут уйдет на то, что бы вытащить эти совершенно ненужные для работы детали.
zagayevskiy
А кто требует написать пузырек, тем более за 2 минуты? Это же выдумка, правда?
mmMike
Если вспомнить описание алгоритма (проход по массиву с обменом до тех пор пока обмена не случится), то на примитивную реализацию на python или java или c++ как раз не более 2х минут и уйдет. Чет там писать то.
Специально ща отвлекся и набросал засекая время (intelleJ IDEA java было открыто)
Но это если вспомнить за эти 2 минуты еще и формулировку пузырька..
Сарказм? Судя по тому, что я слышал, иногда и требуют. Да еще на "бумажке" без IDE. Уж не знаю, что этим пытаются проверить? Стрессссоустойчивость или возможность писать срипты взлома под авианалетом что ли..
FloorZ
Кстати, навык писать без IDE оказывается полезным. Когда нужно нужно написать маленький модуль, для какой то системы, при этом этот модуль специфичный для платформы и требует свой язык, и не тратить время на настройку среды программирования, со всеми зависимостями и прочим.
mmMike
Редко востребованный навык, что бы мазохистки прокачивать этот навык.
Хотя приходилось на сотовом python скрипт править в окне простого SSH клиента. Тонкое извращение. Мне не понравилось.
zagayevskiy
Как-то я на скайп-интервью разрешил кандидату использовать IDE. Никогда я так не ошибался. Вместо написания алгоритма были какие-то бессмысленные метания, рефакторинги и поиск в подсказках intellisense. Нельзя было сказать «окей, предположим есть такой-то метод и он делает то-то», ведь IDE его начинает подсвечивать как ошибку, надо обязательно написать заглушку. Всё это жутко отвлекало.
FloorZ
Недавняя практика.
Я сейчас разрабатываю игры на движке Godot Engine. В самом движке почти все пишется на внутреннем gdscript (по сути это тот же питон, но в место сборщика мусора — подсчет ссылок, реализуемые внутреигровым компилятором).
Но я делаю игры кросплатформенные. На андройд и ios. Так вот. Игра при экспорте либо генерирует xcode проект, под ios, который я отдаю заказчику и тестируют, либо apk файл, если экспортирую под андройд.
Мне пришлось дописывать функционал в IAP под ios, на Objective-C, в виде отдельного модуля и компилировать библиотеку, а после линковать ее с xcode проектом.
Тоже самое делать на андройд.
А недавно я начал писать нативную, кросплатформенную либу на С++ для этого движка, что бы работать с GameSparksSDK.
И вот во всех случаях уменее писать грамотно в блокноте — очень полезно, ибо настраивать 2-3 среды на каждый модуль, который состоит максимум из 100 строк — такое себе удовольствие.
Да и еще godot и его нативные либы юзают Scons. А модуль под android оторваны от проекта и grandle файлы представляют из себя набор тегов, для генерации уже при экспорте, из за чего, в android studio этот модуль не загонишь, т.к. он не видит манифест файла, т.к. тот сгенерируется только после экспорта внутри самого APK
mmMike
Эээ. VS Studio это IDE или не IDE. Код подсвечивать помогает… да. А сборка по кнопке и пр. — это опционально.
С++, например, все же в нем гораздо удобнее редактировать (а особенно автоформатирование нравится. Ускорят работу) чем блокноте/Far/nano.
Под IDE я все ж предполагаю не "IDE запускает сборку по кнопке". Для меня это опционально..
siziyman
Это редактор кода, а не IDE, это написано даже на сайте самого VS Code в разделе FAQ:
GrimMaple
vim то найдётся? или vi? или хотя бы nano? x)
zagayevskiy
Нет, это не сарказм. Ни разу ещё не слышал, чтобы при постановке задачи ограничивали время минутами. Бред какой-то.
mmMike
Ну с секундомером не стоят…
но по рассказу это выглядело так:
вот вам задачка. вот доска и маркер. задачка простейшая простейшая. решайте..
… пристально смотрят… человек пытается нервно вспомнить… что то сделать…
прошло 30 сек… 1 минута…
так. ну давайте следующую примитивную задачку если у вас не получается.
По крайней мере так выглядело со стороны соискателя.
Задачку точно не помню. то же что то примитивное типа пузырька.
Но у меня то же как то была ситуация. вот комп. вот IO тест (с интерфейсовм 90-х годов).
В IQ тесте какие то анаграммы (Интернета нет). Что такое анаграммы…
сидел тупил — пытался вспомнить/придумать что это слово означает "анаграммы..". послал всех и ушел.
прошел потом on-line IQ тест, разобравшись в принципах этих идиотских тестов и послал результат (ссылку на) с значением 142.
Идиотская вещь этот тест. На натаскивани на них.
Хорошо что и не попал в эту контору по распилу гос бабла. Прожила не долго
bay73
Со стороны соискателя время течёт по-другому. Я провожу интервью и каждый второй удивляется, когда я говорю, что 40 минут прошло — всем кажется, что не более 15.
barbanel
Femistoklov
del
0xd34df00d
Не забудьте доказать, что это условие наступит за конечное время.
WASD1
наибольший (вар. наименьший) элемент за каждый проход становится на своё место?
TheKnight
Яндекс. Март 2017. Просили написать пузырек, я честно сказал, что не помню алгоритма ибо нафиг его и в реальности я лучше merge sort заиспользую.
avost
Если мозг не способен решить даже простейшие задачки, я бы не ждал от такого мозга возможности решать сложные. Нет повода.
В яндексе в разных подразделениях довольно сильно разные способы собеседования, насколько я понял. В целом они совсем нетрудны технически, сколько трудны продолжительностью. Отсидеть три-четыре секции когда интервьюеры меняются, а ты один и тот же — непросто. Хотя и не запредельно сложно.
Не понимаю. Вот честно не понимаю. Сортировка пузырьком — это три строчки на большинстве современных языков. Словесное описание не длиннее. Вы не в состоянии придумать за разумное время реализацию трёхстрочного алгоритма? Не выучить, зачем это учить — что за глупость? Написать реализацию по готовому алгоритму (если не помните про что там "пузырёк" можно ведь спросить — или это тоже за пределами компетенции человека с "10+ опыта жавы"? Вот, правда, в чём сложность? Я понимаю, что "пузырёк" — утрированый пример, но в реальности задачки ведь такого же уровня сложности. И, нет, это не про знание алгоритмов. Это про problem solving — или вы правда считаете, что это необязательное качество софтваре инженера и достаточно знать десяток ынтерпрайз базвордз? Ну, тогда это и правда уровень джуна — научить базвордам можно даже эйчара (шютка).
"специалист", которому нужно как-то специально учить способ реализации трёхстрочного алгоритма действительно "уникален".
vvpoloskin
Положа руку на сердце ну вы же знали, куда идете, в интернете полно описаний, как там проходят собеседования. Что, трудно было уделить пару часов на подготовку? Если трудно, то зачем ходить? Проверить, как вас отбреют? Со стороны собеседующего это выглядит, как к тебе пришел человек на шару, ничего не умеет и не может показать (10+ лет все-таки опыт зрелого человека, а не вчерашнего выпускника), и просит мешок денег.
kolemik
Ну не мешок, обычная зп.
И да, не знал. Сами нашли, сами в скайп позвонили, всё норм было, а потом вот эти сессии с кодом на бумажке были неожиданны совсем.
euroUK Автор
Да мне не интересно, как в Яндексе или Додо или Гугле проходят собеседования.
Это их право спрашивать всякую муть, они просто лишают себя нормальных разработчиков. При том, что я знаю большинство алгоритмов, которые они спрашивают, почему я должен доказывать со своими 14 годами опыта, что я действительно умею обходить дерево не рекурсией?
У меня в резюме все написано. И там не ООО «Рога и Копыта», а вполне себе крупные и известные фирмы, и работал я там не по 3 месяца.
Проблема в том, что в ИТ много закомплексованных людей, которые используют собеседования так или иначе, как способ повышения ЧСВ:
1) Просто сказать чувакам, что они ничего не знают, показав свое превосходство
2) Показать этим же чувакам, насколько он крутой, чтобы им восхищались
3) Показать директору на примере чуваков, которые ничего не знают, насколько он ценный кадр и его надо держать
И еще куча кейсов.
Потому что если задача стоит найти нормальных людей, то эту задачу можно решать совсем иными способами.
Kanut
Я бы сказал что в ИТ просто полно людей которые просто не понимают как надо проводить собеседования. Вот что будет если взятъ несколько хороших менеджеров по персоналу и попросить их нарисоватъ архитектуру для какого-нибудъ проекта? Ничего хорошего скорее всего не выйдет. И все это понимают(ок, большинство это понимает).
А вот взять несколько айтишников и попросить их заняться собеседованием новых сотрудников это много где считается нормой.
vvpoloskin
Ну да, также их право отсеивать тех, кто пришел на шару на собеседование. Также это и ваше право отказывать таким конторам по причине что вам не понравились технические вопросы на собеседовании. Это же обоюдно. И понятие «нормальный» так себе — вы себя оцениваете «нормальным», а компания — нет.
Есть пример: в резюме написано работа с оборудованием Cisco в крупном операторе, на собеседовании спрашиваешь, как там настраивать, собеседуемый не знает, уточняешь, а что ты с Ciscoй делал, в ответ — фуры разгружал. И тоже ведь не придерешься)
Alesh
ППКС, хотя обычно статьи на эту тематику здесь для «тупо поржать».
botyaslonim
Компании, где мне было (и было бы) интересно работать собеседовали меня скорее как человека. То есть, конечно, необходимые технические вопросы задавались, но так, для галочки, как смоук-тесты: если кандидат не несёт откровенную хрень, то, значит, опыт у него релевантный. Гораздо больше интересовали подходы к решению задач, вынесенные уроки, общее строение мышления.
И было ещё другое: люди как-будто примеривались, свой это человек или не свой. Можно ли на него вообще положиться, будет ли он работать или просто сидеть пинать, что он нового привнесёт, какие у него мотивации. Вот это, кмк, называется собеседованием сеньора.
А формальные задачи. Ну, вот завалил я одну задачу. Не самая сложная, но что-то стресс накатил, ноутбук не свой, время тикает, в голове непонятная для самого себя пустота. Я такой код и гораздо сложнее пишу тысячи строк на своих работах, но на время при собеседовании не смог. Ну бывает. Люди потратили кучу времени на предварительные ласки по скайпу, потом на очном, а в итоге — пшик и для меня, и для них. Зачем это, почему, насколько эффективно?..
ooprizrakoo
Аналогичным образом ичары тоже не заметят подвохов в человеке, у которого всё норм. Ичары ведь не военно-врачебная комиссия для отбора космонавтов. Бывают случаи когда у человека просто что-то происходит в жизни — кризис какой-то жизненный или личностный — и он «слетает». Если всё было хорошо, а потоМ ХРЕНАКС то может быть лучше попытаться помочь?
Однако ичар на собеседовании может помочь сформировать ещё одно мнение со стороны, т.к. может заметить какие-то особенности поведения-реакций кандидата, которые пропустил интервьювер.
DanInSpace
Возможно имелось ввиду, что интервьювер выгорает?
QNoize
Судя по последним собесам вообще не ясно кто и что себе ищет, тк есть компании где видно что ищут человека в команду, а есть где начинают рыть что-то, не пойми, такое чувство как на допросе в полиции, ищут где ты провалишься или еще что. По мне так надо искать просто адекватного человека, на которого можно положиться, и который мотивирован работать.
dyadyaSerezha
Как сеньор с 30+ годами опыта работы, соглашусь почти со всем в статье.
naething
Цель алгоритмического собеседования — вовсе не проверить, насколько вы хорошо знаете алгоритмы обхода деревьев. Алгоритм выступает лишь в роли контекста. Цель собеседования — получить представление об общем уровне вашей «соображалки», оценить коммуникативные навыки, стиль мышления, и заодно проверить навыки перевода идей из головы в код.
Но конечно сложно поспорить, что часто они действительно вырождаются в проверку, умеете ли вы писать обходы деревьев. Тут уж зависит все от собеседователя. Поэтому я понимаю общее недовольство алгоритмическими собеседованиями, но я в корне не согласен с критикой типа «я ж не буду писать сортировку каждый день, зачем вы меня ее спрашиваете». Я поддерживаю критику вроде «зачем вы меня заставляете решать задачки чтобы тупо посмотреть, решил я ее или нет, и докапываетесь до неважных деталей, вместо того, чтобы оценивать мои общие мыслительные способности в процессе собеседования».
kalombo
Как минимум такая проверка дает ложноотрицательные результаты. Ваша компания сознательно идет на этот шаг? У вас очередь из кандидатов?
У вас есть какие-то метрики, которые показывают, что собеседование с алгоритмами показывает уровень «соображалки» лучше, чем собеседования «за жизнь»? Я слышал, что опыт успешного прохождения таких собеседования набивается синтетически на сервисах типа leetcode
ApeCoder
А у вас есть вообще какие-о метрики по качеству найма? Если есть, поделитесь пожалуйста. По-быстрому не получается найти.
euroUK Автор
Я вас удивлю, но большинство современного программирования имеет мало общего с соображалкой. Знание фреймворков, умение найти багу, умение найти решение проблемы на форумах гораздо важнее, чем алгоритм пузырьковой сортировки.
Да, лично я знаю и пузырек, и обход дерева. Но простите, сортирую я LINQ выражениями уже лет 10 и там совсем не пузырек. Так зачем мне показывать это знание? Что оно показывает?
ApeCoder
С моей точки зрения это все требует соображалки. Поиски баги — особенно.
vyatsek
Я не особо знаю алгоритмы, сходу я не скажу разницу между двумя произвольными алгоритмами сортировки, при этом я более-менее знаю как работают ассоциативные коллекции и какова цена определнных операций с ними.
Пару раз упарывался по производительности определенного куска кода и не более того, зато кривой и неповоротливый дизайн, который в свое время не переделали, а после обложили костылями куда серьезнее тормозит развитие продукта.
Если говорить о прикладном программировании, то в первую очередь это дизайн.
Конечно если нанимается человек на ИИ, распознавание и т.д. его обязательно надо спрашивать про алгоритмы, потому, что ему с ними работать.
Когда делаешь ремонт, строительной бригаде не задаешь логичекие задачки, а сморишь с чем работали, как и что делали, по какой технологии, какие решения вообще принимали в том или ином случае.
Почему у программистов то про люки спрашивают, то про забеги по джунглям, а потом садят писать вполне конкретный код.
God_root
Опен спейсы всего лишь инструмент по управлению стадом. Манагер всех видит с высока, каждого может окликнуть и дать в тык(ву), плёточкой Агиловой зачмырить. Так то возвести стенку из гипрока стоит копейки и занимает 1 час времени рабочего, но контроль над сотрудниками важнее.
Да и начальство просто бывает не в курсе душевных терзаний сотрудников, потому что те не удосужились им это всё выложить в лицо, с предложением что то придумать. Так и страдают бедняги.
e_v_genius
Браво! Автору мое восхищение! Не в бровь, а в глаз. Особенно булшита — "духа" и "ценностей", все измеряется прибылью хозяина. )))
gecube
Я думаю, что стоит развить эту тему.
zolti
у «них» 5 этапов собеседования от того, что «рекрутерки» у руля :)
A114n
Просто следует трезво смотреть на рынок труда и понимать, что на нём происходит.
А на нём безраздельно царят работодатели, а не работники.
То есть многие тут в комментариях удивляются — «они что, в соискателях как в сору роются?». ДА Отличный пример привёл kolemik в этом комментарии.
Пора уже понять, в мире слишком много лишних людей, мифы о «дефиците айтишников» это только мифы, и именно поэтому любой набор персонала выглядит как набор в элитный отряд космонавтов. Да, вы должны быть именно тем человеком, ОДНИМ НА МИЛЛИОН, который после десяти лет работы ничего не забыл из студенческих времён, так что способен и все алгоритмы перечислить, и на доске/бумажке написать код, и одновременно решить задачку про круглые люки и попадание в миксер. Такого супермена, так и быть, возьмут на работу. А все остальные просто НЕ НУЖНЫ.
К сожалению, люди не хотят этого понимать, им застилает глаза дымовая завеса из громких криков «у нас дефицит в айти, дефицит». А приглядитесь — кто кричит-то? Кричат те, кому за тарелку супа не хотят блокчейн делать. Нет никакого дефицита на самом деле.
Там, где дефицит есть — там берут всех. Как я всегда говорю — там где нужен работник там нанимают работника, там где работник не нужен там проводят собеседования.
Тут набежали защитники идеи собеседований, мол, да это надо, да ведь обманут — ну это всё оправдания того же уровня, что и поиск принца до старости.
«Право, такое затруднение — выбор! Если бы еще один, два человека, а то четыре. Как хочешь, так и выбирай. Никанор Иванович недурен, хотя, конечно, худощав; Иван Кузьмич тоже недурен. Да если сказать правду, Иван Павлович тоже хоть и толст, а ведь очень видный мужчина. Прошу покорно, как тут быть? Балтазар Балтазарович опять мужчина с достоинствами. Уж как трудно решиться, так просто рассказать нельзя, как трудно! Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому еще дородности Ивана Павловича — я бы тогда тотчас же решилась. А теперь поди подумай! просто голова даже стала болеть.» ©
DMGarikk
ну опять...'вы все врете, нет никакого дефицита'…
Я вот и как работник (собеседующий) видел рынок и как соискатель… в каждой КАЖДОЙ конторе найти сеньора — это задача минимум на полгода и десятки-десятки собеседований
при этом найти мне работу — это неделя времени в течении которого я выбираю из работодателя из толстенной пачки предложений (я обычно выбираю быстро, потому что собеседование лично для меня огромный стресс)
и странно слышать что это работодатель великодушно соглашается меня взять на работу и роется среди стоящих за забором кучи людей… кому отдать ЗП из вилки которая зачастую больше ЗП среднестатистического директора какойнить захудалой ОООшки
glestwid
Вы в 2008-2009 году в Нью Йорке собеседования видели? Так вот, там на сеньорскую вакансию претендовали десятки умеренно подходящих, штук 5 подходящих. Но вакансию закрывали за 2-3 дня, взяв единственного подходящего на 110%. Первичный отсев резюме — по списку из 2-3 десятков баззвордов. Нет одного баззворда — следующий. Версия Oracle 8? А у нас 9 — следующий. Версия Visual Studio 2005? А у нас 2008, следующий. Так что Вы просто не видели реальной жизни во всей красе.
DMGarikk
Это потому что США — центр притяжения ИТшников, это туда они отовсюду едут
При этом каждая вторая контора — тащит людей по h1b и если может то по L и явно не от хорошей жизни она это делает
А в Мск, человек дорастает до 250тыр… и всё давайдосвидания, уезжает за бугор… куда? а вот в этот ваш NY и уезжает… по этому почти во всех странах не из топ-списка нет сеньоров и вакансии висят не закрытыми годами
euroUK Автор
В 2008 году и в Москве можно было так делать, если вы зарплату давали выше рынка.
А сейчас любой студент с 2 годами опыта просит 200 и находятся видимо фирмы, что дают.
A114n
Вы очень много правильных вещей пишете, но я не понимаю этого вашего комментария.
Прямо здесь вот на главной странице висит реклама с хаброкарьеры и в ней отлично видны зарплаты, постоянно вылезают цифры типа «от 65», «от 70».
gecube
Вы оба перегибаете.
Студент с 2мя годами опыта сейчас настреливает от 120 до 200 деревянных в зависимости от наглости
A114n
А о чём тогда эти объявления?
glestwid
И за что минусы, не по нраву правда жизни? Так она скоро вернется, как минимум в туриндустрии и авиаперевозках уже писец пришел. В Boeing — hiring freeze.
euroUK Автор
В Боинге хайринг фриз потому что они по аджайлу сделали не самолет, а гавно, в результате произошла куча аварий и акции упали вниз.
Там было много причин, начиная от индусского кода, заканчивая тем, что вместо полной переделки самолета, они пытались воткнуть в легаси шасси новый огромный движок, из-за чего развесовка и аэродинамика изменились и понадобился тот индусский код.
Сэкономили — получили.
glestwid
Знаю что сотворили они гроб на крылышках. Просто фриз начался с них, как самых «выдающихся» просирателей полимеров, но вряд ли остановится. Там и поставщики их по цепочке пойдут, которые могут вполне себе быть даже честными и хорошими на фоне этого скандала. Но прилетит и им, это 100%.
BD9
Некоторые люди никак не привыкнут к изменчивости рынка и жизни.
У ВСМПО журналисты спрашивали: «Заказы Боинга упали, будет худо?»
Люди с ВСМПО отвечали, что да, Боинг упал, но Airbus увеличил заказы. Т.ч. примерно то же самое.
Какие-то управленцы накосячили — ну их выгнали. Вот когда таких не выгоняют, говоря что типа они незаменимые и всё такое, тогда да, начинается действительно упадок.
Про авиакомпании: да, коронавирус уменьшил пассажиропоток. При этом упала цена нефти -> затраты на топливо упали.
Стало много народу мереть — похоронщики больше денег получили.
Жизнь продолжается.
kolemik
может это связано с некоторым «перегревом» рынка.
то есть денег в IT так много, что вместо десяти нормальных работников, умеющих не только массивы сортировать, но и в паттерны, и в нормальный читаемый код с тестами, можно нанять сотню условных индусов и методом мартышек они таки напишут любого Гамлета. А не напишут — ну что ж, наймём следующих.
плюс эти халявные деньги затягивают в индустрию всяких проходимцев, которые, первым же делом, занимают максимально далёкие от реальной работы места — тренинг-коучей, менеджеров по аджайлу, дизайнеров в пейнте, аналитиков в блокчейне и, конечно, специалистов по найму персонала.
надеюсь, что кризис всё же освежит нашу индустрию. мне вот не сложно потратить и день на собеседование, но я бы хотел его провести в беседе с непосредственным начальником и коллегами будущими, а не с бездушными тестами непонятно как относящимися к реальной работе. Да вы вспомните, когда крайний раз использовали массивы в реальном коде (а не в параметрических junit-тестах) иначе нежели Arrays.stream()?
glestwid
Я бы побоялся надеяться на силу, которая не Вами запущена и не Вами управляется. Как раз в мутные времена проходимцы и приспособленцы будут выживать лучше, чем честные работники, не умеющие в построение «эффективных иерархических отношений». 30 лет назад предки тоже думали, что уйдет КПСС и заживем. Зажили…
porn
TiberiusASP
Очень похоже на мою Статью
За последние пол года я прошел порядка 20+ собеседований чисто из интереса. И только 1 или от силы 2 были более менее адекватными. Всё остальное это: расскажите нам устройство ядерного блока и доказательство теоремы ферма, и тогда может быть мы дадим вам возможность исправлять баги в нашем накостыленном легаси коде, в котором даже и речи не идет о каком-либо SOLID. А ещё пожалуйста расскажите наизусть стишок из Рихтера
Людям в удовольствие издеваться и красть чужое время по причине полной безответственноти, им никто ничего не сделает если они украдут у вас 5 часов вашего времени
tovstalin
К вашей статье есть не менее интересный комментарий
Прочитав данный материал, с ужасом делаю вывод что всё это строится осознанно. С целью выявления тех кто подойдёт на роль «половых тряпок» в устоявшемся коллективе.
Зеленый свет от такого сферического hr-менеджера кандидату, это маркер гопнику руководителю, что об кандидата можно вытирать ноги. Хотя сам hr этого может даже не осознавать.
А кто ещё может понравиться некомпетентному hr, кроме некомпетентного специалиста?
Жаль что такие вкусы на рынке труда доминируют. Стоит опасаться получать одобрение на найм от некомпетентных hr.
Winnie13
Неплохое саммари о том, как взрослые люди нанимают взрослых людей.
Теперь прикол!
Всё то же самое справедливо и к процессу найма студентов. Ну т.е. тех из них, которые потом станут взрослыми людьми или уже ими стали, которым можно работу доверить. Единственное отличие — у студентов может не так чётко работает булшитометер.
MockBeard
Вот чесслово, мне нравится такой адекватный подход и я верю, что в разработке у вас все нормально. Вам бы ребята еще таких-же хороших поваров, чтобы не сидеть долго на фарфоровом троне после посещения додо-пиццерии. :(
MinimumLaw
А не пойдут. Ровно по этой причине. Семья и дети учат тому, что «сейчас» — это важно, на наиболее важно это «завтра». Толку уходить на большую зарплату, которая в любой момент может рухнуть. Толку с добльшей зарплаты, если все добавочные доходы вынужден будешь «проесть» в очередной раз место подбирая. Да и частая смена работы в трудовой книжке — это негативный фактор. Выбирайте любую мотивацию: не уживается в коллективе, неверно оценивает возможности, некомпетентен. Стоит такого брать? Зачем компании сотрудник (за хорошие деньги — другое даже не обсуждается), который с большой долей вероятности сбежит яерез год-другой?
Ну и мой вечный вопрос. Как? Вот скажите мне, как можно стать глубоко владеющим вопросом специалистом, если раз в полтора-два года менять место работы? Войти в тему, разобраться, придумать лучшее решение, реализовать его, обкатать во всевозможных сценариях и замкнуть вечный круг разработки. Разве на это достаточно полутора-двух лет? Или во мне опять системщик embedder'щик играет и в прикладном ПО (фронтэнде/бакенде/подставь-нужное) все совсем иначе?
shushu
добавлю своих «5 копеек»
Уволить сотрудника, если выяснится что он не такой уж и мастер кода как «поболтать» — довольно проблематично, поэтому, желательно, спросить ещё и какие то технические аспекты.
Очень часто люди пишут в резюме, что владют «N технологией» в совершестве, даже если только слышали про неё.
Был случай на интервью:
В резюме, CI/CD, devops, и проче и прочее.
Спрашиваю: — а как вы это реализовывали, какие трудности были?
— нууу, эээ, я не знаю, я кнопку нажимаю и оно все само собирается, магия!
Очень многие просто нагло врут.
— Спрашиваю, а вы знаете про "...."
— Эээ, нет…
— (начинаю обьяснять что это)
— А да, конечно!
— Ок, продолжайте!
— ээээ, нет, не знаю…
Пишут, синьйоры, 15 лет опыта, спрашиваю банальные вещи, (джуниор — мидл левела) — не знают…
Вопросы из разряда:
«чем left join отличается от inner join» и азы по языку программирования.
Мы так уже года полтора никого нанять не можем :(
Я не говорю что надо спрашивать какие-то алгоритмы, которые в большинстве случаев к работе никакого отношения не имеют, но базовые знания все же спрашивать нужно.
DMGarikk
забавно потом… устраиваешся на работу после такого собеседования, когда нос морщат 'оо, он не может объяснить банальные вещи'… в потом в их код смотришь (который интервьювер писал) и кровь из глаз течет и волосы шевелятся на *опе от ужаса…
shushu
Вы так говорите, как будто в воду смотрите и знаете какой у нас легаси код! :) от которого собственно хотим избавится
DMGarikk
я не знаю какой у вас код, я просто свой опыт работы вспоминаю… еще ниразу не видел ни инфраструктуры ни кода — такого уровня который пытаются показать на собеседовании интервьюверы обычно или всё плохо или всё очень плохо… один единственный раз видел 'средненько' (но там на собеседовании всё было сверхлайтово и адекватно)
shushu
Вообще, я думаю вы меня не правильно поняли. Я про то что, в резюме пишут что они синьйоры, а после беседы, выясняется что не такие уж и синьйоры. Мне наверное следовало бы вопросы пошарить. Тогда вы бы поняли насколько все печально
A114n
Так поди «Зарплата не выше рынка».
В ЖЖ было схожее обсуждение, столкнулись бизнесмены из регионов, жаловались на то, какие к ним приходят людишки — пьяницы, наркоманы, ворьё всякое, бомжи. Начали обсуждать, выяснилось, что к предлагающим зарплату выше 40к приходят почему-то нормальные люди, только таких бизнесменов раз-два и обчёлся, а остальные пытаются «среднюю» предлагать.
euroUK Автор
Если предложить зарпалту под 250, то у вас сразу возникнет поток адептов бигдаты и блокчейна, а не нормальных разработчиков. Точно также придется ковыряться с десятками резюме, только уже за 250.
Мне кажется, просто очень мало в России хороших разрабов. Видимо уехали все кто — куда.
shushu
Ну, зп — это не моя часть. Но думаю что в этом что то есть…
Да, забыл уточнить, я про Сидней, если что пишу
botyaslonim
Если предложить зарпалту под 250, то у вас сразу возникнет поток адептов бигдаты и блокчейна, а не нормальных разработчиков
— почему? Нормальных разработчиков отпугивает нормальная зарплата? :)
Хотя вот наблюдаю последние месяцы вакансию senior front от одной беттинговой конторы. Объявили 300+, но никак не закроют. Может, замануха какая
euroUK Автор
Нормальные разрабы затеряются в потоке смузи-хайп разрабов.
А в бетинг многие знакомые как раз таки не пойдут, потому что это противоречит принципам. И я бы не пошел. Даже за 500.
botyaslonim
Мне недавно порнуху предложили. Зарплата сильно выше 250, переезд на Кипр. Но 18+, я отказался
hd_keeper
По возрасту не подошли?
PeterPP
Там наверное через пару месяцев макаронина перестанет работать, от передоза.
hd_keeper
Вы даже не догадываетесь, насколько пластична человеческая психика.
glestwid
Подозреваю, что тема работы скользкая, и в некоторых юрисдикциях подпадающая под «распространение порнографических материалов в составе организованной группы лиц по предварительному сговору».
glestwid
Или «нюансы» типа 50 фикс, а остальное — премия. Или необходимость начать через какое-то время приторговывать персональными данными клиентов, налить через себя и пр. Плюс реальный риск попасть в «маски шоу» под берцы космонавтов ЦСН.
gorgona45
С учетом того, что большинство ИТшников несколько, скажем так, слабоваты в области взаимодействия с людьми, не вижу никаких проблем выкинуть на мороз таких одним днем в 5 минут. Они не то что заяву в прокуратуру не напишут и не заэнфорсят ее движение, они даже не знают где такая находится. Да, еще и постесняются вообще на конфликт идти. Так что в большинстве случаев чуть больше нахрапа — и нежелательный элемент покидает офис под взором охранника. Если что — видел такое в Москве не один раз за период с 2002 по 2017 годы. Причем на мои слова про поход в трудинспекцию, прокуратуру, ФНС мямлили какую-то хрень про образ скандалиста, черные списки и пр.
tovstalin
Перестаньте уже быть школьниками с синдромом отличника. Цель огня воды и медных труб на собеседованиях это всеми способами сбить вашу самооценку и претензии на получение дохода. Навязать чувство вины за «незаслуженное рабочее место». Выявить вашу терпимость к указаний от незнакомых дядь и тёть по ту сторону стола. Причём вы даже можете не догадываться какой стереотип поведения от вас ждут.
Могут даже отказать за то что у вас чрезмерно широкий кругозор.
SeniorQAster
Когда открывал статью, не думал, что увижу такой пост. Как говорится, «наконец-то это кто-то сказал». Спасибо, автор!
Помню себя джуном и мидлом — в булшит начинаешь вникать очень быстро.
Теперь я выбираю места по собеседованиям, если они отклоняются от описанного вами в сторону формализма и прогона по терминам — собеседование для меня заканчивается.
Полтора года назад перешёл в кабинетную контору из пост-заводского опенспейса, небо и земля. Но с нежностью вспоминаю кубики с самой первой работы (у них свои недостатки при неправильном размещении), полное ощущение своего пространства.
Мне крайне необходима возможность изоляции от лишних сенсорных стимулов, при этом сохранение рабочей атмосферы и периодического контакта с коллегами неформально.
Bordes
ППКС вводной части! С повышающим коэффициентов в части требований к компании :)
По второй части: ИМХО — пусть собеседуют, как считают нужным (не претворяясь специально адекватными) — так легче понять, в каком-то приближении, насколько легко вам будет ужиться в данной компании.
Varnavaa
Автору Браво! Приобретая опыт, как собеседуемого так и сотрудника который проводит техническое собеседование, я пришел к выводу, что большинство компаний проводят собеседование как экзамен. Тяни билет — отвечай. А то что сортировка пузырьком никому не нужна, об этом никто не задумывается. Все только знают оправдание — про способ мышления, подхода к задаче, сосредоточенности и прочее. Ещё заметил такую закономерность — чем «умнее» вопросы на собеседование, тем больше ужасов в коде потом.
Ununtrium
А потом еще ноют про недостаток кадров.
AlexNomad
Я тот самый дебильный менеджер, и даже менеджер над менеджерами. Статья, понравилась. Спасибо, взял в избранное.
Но не могу пройти мимо этой фразы:
Он хочет работать по согласованным требованиям. <...> А потому, что он понимает, что требования определяют архитектуру и сроки реализации, и смена их может привести к тому, что архитектуру нужно будет подпирать костылями, так как время на изменение никто не даст.
И вот тот самый управленец (правда из бывших разрабов), не понимаю откуда взять эти чертовые согласованные требования. Не встречал заказчиков, которые четко знают чего хотят. Им все покажи тут, покажи там, а вот тут не так, а вот там вообще вы нифига не поняли… переделывайте…
Я перестал верит в гениальных аналитиков и проджектов, которые способны четко просчитать требования и высчитать сроки. Не встречал их на своем пути, ни в своей компании, ни у конкурентов. А значит приходится с этим жить. А раз не будет согласованных требюований, то будет макет, полу-прототип, прототип, доделанный прототип, прототип читающий, прототип сохраняющий… И каждый раз есть риск выкинуть в корзину и начать сначала.
И времени на изменение архитектуры, переписывания с нуля и пр. я не дам. Это не нужно ни мне, ни заказчику — для меня это чистые убытки, для заказчика срыв госзадания.
Но что я могу дать?
Могу дать только возможность постоянного рефакторинга и изменения архитектуры. Каждый день/неделю/месяц… Но чтобы без остановок бизнеса!
А что это за архитектура такая — да. хрен знает. Решайте сами.
karass
serghd
Статья прекрасна, кроме
Вот это было обидно. Что не так с блокчейном? Кроме того, вы же не думате, что это только крипта?
euroUK Автор
С блокчейном не так хайп, с которым это все проходит. В попытках запихнуть все это туда, где этого не надо. Типа сам видел в Голландии стартап продажи билетов на блокчейне. Зачем?
А ответ просто, можно срубить инвестиций и их освоить и побежать дальше с новой технологией, которая перевернет мир.
На моем веку я помню:
1) БигДата
2) Блокчейн
3) AI
serghd
значит поэтому блокчейн это зло везде?)
То, что вы увидели это неудачное применение, а не плохая технология. Это разные вещи.
embden
Забавно читать комментарии — сеньоры, которые не помнят модели OSI даже примерно, некоторые не знают, что такое broadcast адрес подсети, некоторые не могут отсортировать пузырьком или сбалансировать АВЛ-дерево (нормализовать бинарное?). Зато кучу кода написали.
euroUK Автор
Я возможно вас удивлю, но 99% кода — это бизнес таски вида запросить наличия товара у поставщиков — показать каталог — положить в корзину — провести чекаут — передать в доставку.
Я не против, когда спрашивают алгоритмы и эффективность в НАСА, я против, когда это делает пиццерия.
Daemonis
Ну так людей, которые умеют перекладывать джсон с места на место — миллионы. Логично отобрать из них самых смышленых. Алгоритмические задачки с этим неплохо справляются.
JustDont
Угу, так же, как и круглые люки. Кого-то там как-то там отсеивают. Наверное самых несмышлёных. Или нет. Не понять, критерии-то все кривые.
gorgona45
Просто отсеивают смышленых в абстрактных задачах и при этом несмышленых в построении выгодных отношений в недружелюбной внешней среде вопреки давлению окружения. Проще говоря, за «интересные проекты» вместо hard cold cash покупают горящие глаза.
embden
Я ведь не говорю, что алгоритмы на собеседованиях — это хорошо или плохо. Меня забавляет, как в комментариях "сеньоры" ноют о неправильных вопросах на собеседованиях. Почему забавляет? Сейчас поясню.
Дело в том, что своё образование я получил лет пять назад. Я типичный троечник — прогуливал пары, кое-как сдал матан и дискретку на пересдаче. Если вы посмотрите на мой гитхаб, то заметите там кучу говнокода в моих коммитах. Мои когнитивные способности заметно ниже средних по IT (при этом у меня крайне адекватная самооценка, потому что я смог проанализировать и признать сей факт). Я типичный средненький кодер — ни алгоритмист, ни синьор. Но даже при моём не самом сильном уме, я без проблем логически вывел пять уровней моделей ОСИ из семи. По проводам течёт ток (1-физический), ток надо как-то кодировать-декодировать(2-канальный), провода надо организовывать в сети(3 — сетевой), по сетям надо передавать данные (4-транспортный), приложения используют свои форматы обмена данными (5-уровень приложений). Там еще есть какие-то между 4 и 5, я знаю, что они есть, но я их не помню и не могу вывести. Что в этом вообще сложного?
Или взять, к примеру, сбалансированное дерево. Нужно, чтобы поддеревья любой вершины не различались по высоте более чем на единицу. Вставка в этом случае проста — вставляешь элемент, потом рекурсивно идёшь вверх по дереву и смотришь как бы переставить один из элементов, если дерево потеряло баланс. А там уже все эти левые и правые вращения интуитивно выводятся. В каком месте здесь у развитого ума могут возникнуть трудности?
Или взять тот же broadcast address. Опять рассуждаем логически — сеть обычно описывается в формате X.0.0.0, X.X.0.0 или X.X.X.0 — это легко запомнить. Отсюда же логично вытекает, что какой-то адрес нужно зарезервировать для broadcasting. У нас просто нет вариантов — самый нижний занят, логично, что надо взять самый верхний. Опять же, что в этих вопросах сложного для развитого ума?
Если бы я был работодателем, я бы хотел, чтобы работник, которому я плачу 200к+ умел бы размышлять и решать такие логические задачки. В конце концов я ему плачу как раз за решение задач, а не за знание алгоритмов.
rzerda
Так это Вы TCP/IP изобрели, а не OSI. Двух уровней не хватает, потому что они не нужны сейчас никому отдельно, и тогда были таким же аллюром придуманы из головы комитетчиками потому что модель получалась красивая. В итоге на вопрос про модель Вы не ответили всё равно.
Про сеточки вопрос был а-ля «скажите бродкаст адрес сети 192.168.2.44/21», и вот на нём я словил клина просто потому что ловить клины на собеседовании моя традиция и считаю в уме я плохо настолько, что у меня есть натуральная распечатанная таблица перевода часов в/из моего часового пояса, UTC и других интересных зон. Кстати, классовую адресацию отменили давно, и за пределами SOHO не все адреса сетей теперь бьются ровно по октетам.
gecube
Практика научила писать бродкасты для таких диких сетей, как Вы написали. Достаточно года плотной работы с этим. Или даже меньше. Месяца
Я уж не говорю, что базовый алгоритм подсчёта можно объяснить на пальцах ) а вот в двоичной арифметике ошибиться.
rzerda
Так как первые двое сеньоров это я, то повысим же градус накала: я ещё и не разработчик, а эксплуататор, и код пишу в крайнем случае, т.е. когда другого пути либо нет совсем, либо он ещё дороже. И люди, которые ко мне на работе приходят со своими проблемами, приходят не послушать про маски и OSI, а чтобы я им помог их проблемы решить. А иногда я к ним прихожу решать их проблему, о которой они ещё не знают, а мне уже заметно.
Короче, здравствуйте, я из эксплуатации и я решаю проблемы. Сеньорность измеряется не способностью к запоминанию (хотя это очень помогает), а способностью самостоятельно доставлять нужный результат. Не знаешь — узнай, не делал — сделай.
gecube
Стопицот плюсов
IgorPie
Сжатие статьи методом jpeg: "Эй, вы, из чебуречной! Не будьте м… нехорошими людьми!"
dgolovanov
Большинство людей воспринимает собедедование как некое спортивное состязание. Типа, подготовился, вышел, пожал / не пожал — получил справедливый результат.
Есть масса собедований, когда человека и не собираются брать. Причины уже озвучены выше.
sumanai
Скажу больше — я ходил на собеседования туда, куда в принципе не собирался устраиваться.
DS28
Давайте не будем толкать стереотипы телевизорных домохозяек?
HexNeo
Спасибо вам за статью. Оказывается я не один такой в мире. :)
Eliz
Автору спасибо за статью! Будто я сама её написала — так близкО.
galagankv
После прочтения, ушел в рефликсию на тему: «как я устраивался на работу?» и понял, что последние 15 лет работа находит меня сама ). Однажды, в 2007 году, простая болтовня с девушкой в аське привела к оферу и релокации в крупную компанию (да-да, в кровавый ынтерпрайз) на хороших условиях.
На предыдущее место работы меня пригласил мой будущий руководитель, пересеклись на каком-то межведомственном совещании, он же и проводил собеседование. Основной посыл его собеседования был — расскажи, не что умеешь, а что реально сделал, чем запомнился тот или иной проект, чего вышло в итоге. Короче, беседовали часа 2. Под конец за жизнь, за рыбалку/охоту. В итоге, он меня принял. Через пару месяцев, захожу к нему в кабинет, а он бумаги разбирает, и протягивает мне пачку бумаг, типа глянь. Я мельком глянул — резюме. Пачка приличная такая. Говорю, расширяемся? Он говорит, нет, это были претенденты на твою должность, но как-то не «зацепили» меня.
В последствии сам собеседовал на пару-тройку вакансий и попробовал такой стиль. Многих претендентов ставит в тупик такой подход, видимо, привылки по шаблону, «могу копать, могу не копать». Многие просто не могли связно рассказать, что конкретно сделали на прошлых местах работы, какие результаты.
И еще интересное жизненное наблюдение. Мой тесть, 69 лет, до сих пор работает на автопредприятии автоэлектриком. Ему главный инженер говорит, дед, ты сам можешь ничего не делать, просто приходи на работу, выходи в цех время от времени и смотри кто и как делает и подсказывай, выдавай идеи, учи. И говоря образно, я бы так же хотел закончить свою карьеру.
А в целом, с учетом жизненного опыта, полностью согласен с автором.
Ivan_Zakharov
Мне понравилась статья.
И ваш подход тоже нравится.
Mehdzor
Часто люди все 10 лет опыта занимались перекладыванием кирпичиков со стек оверфлоу, не думая и не зная даже базы. От фразы 'Ну у меня как-то так всегда работало само, не запоминаю', когда спрашиваешь просто жизненный цикл контроллера, уже расшиб все лицо себе.
kolemik
а расскажите, что вы имеете ввиду под этим термином? гугл выдаёт что-то неудобоваримое…
PeterPP
Думаю что что-то типа этого
kolemik
а, это хороший вопрос, соглашусь.
сам люблю спросить людей типа «что происходит когда вы вбили адрес в браузер и нажали ввод»
A114n
Как бы это норма.
То, что вы не используете постоянно вы и не запоминаете.
Есть некоторые уникальные люди, которые всё запоминают. Но их мало.
cheshirrrr
А зачем постоянно помнить детали жизненного цикла контроллера?
Если необходимо в него вмешаться — то можно пролистать инфу и все вспомнить.
Если есть какая-то редкая проблема — то аналогично, пролистать инфу и вспомнить.
А если каждый день сталкиваться с проблемами в жизненном цикле — то тогда эта информация всегда будет в голове
bm13kk
Есть большая разница между «незнал» и «забыл». Во втором случае, когда попадается не стандартный таск в голове сразу всплывает «а вот есть же стандартный механизм, вроде пост евент». И ты знаешь где и что искать.
В первом случае ты идешь в стаковерфлоу и начинаешь с нуля искать.
cheshirrrr
Врядли с нуля. Наверняка первой мыслью будет «должен же быть какой-то стандартный механизм».
А если проблема где-то глубоко во внутренностях, то нужны будут уже довольно глубокие знания механизмов которые врядли возможно постоянно держать в памяти и в результате все равно окажешься на стаковерфлоу с нулевым понятием где и что пошло не так
bm13kk
а эту разницу на собеседовании уже не узнаешь.
если ты работаешь с фреймворком (или либой или что там) то должен знать о существовании 70%-80% ее фич. Не обязательно понить как они работают, как называются и прочее. Но ты должен сразу знать умеет ли твой фреймворк то, что тебе нужно и что именно надо узнать.
anioutka
О да. Такие встречаются очень и очень часто. Их взращивают в маленьких фирмах, где никто не смотрит за качеством их кода, руководство полностью отдает им на откуп, а заказчика интересует только конечный продукт. Со временем (или сразу же) такой спец становится «руководителем» отдела или направления (из нескольких человек), но ачивка и звание в резюме появляются.
Или человек является фанатом какой-то одной технологии или библиотеки, применяет ее к месту или нет и «решает» с ее помощью все задачи. А как работать без библиотеки не знает.
Я считаю, что надо еще давать человеку небольшое тестовое, которое решается за пару часов. Это показывает не только качество кода, но и как человек сможет решить простую задачу, какими средствами. Часто встречаются кандидаты, которые под видом pet-projects выдают форки чужих репозиторий или проекты фирмы, к которым имели доступ, но где собственно их кода нет.
Nikky_N1
Парадокс в том, что несмотря на то, что ВСЕ уже знает, что опенспейс это — 15-25% производительности на пустом месте, почти все софтверные компании продолжают туда пихать несчастных сотрудников-разрабов!
bm13kk
больше. Я общался и «принимал участие» в растановке столов на 600 (кажется) квадратных метрах площади. Если ее бить на кабинеты 5-10 человек теряется 40%-50% мест
gecube
Т.е. это повод людей пихать как скот — а чего — пускай вообще на головах друг у друга сидят, не? А хотя не прокатит — есть же наверняка какие-то санпины по этому поводу. Кстати, меряли CO2 в опенспейсе к концу дня — уровень зашкаливающий. А ты думаешь — почему это эффективность работы после обеда падает
DrunkBear
Жду статьи «установка столов работников над столами работников как средство ускорения коммуникаций и уменьшения накладных расходов» и соответственных изменений в планировке оупенспейсов. /irony
И да, это магическим образом искореняет вражду тех, кому душно и кому дует: кому душно — нижний ряд и окно приоткрыть, кому дует — в верхний ряд, тёплый воздух поднимается вверх.
gorgona45
Не вижу расхождения с тем, что в головах у большинства владельцев заводов, газет и пароходов. Хотя и искренне против такого расклада.
kantocoder
Годная, неимоверно годная статья.
Теперь замечание:
Это они не могут, честно рассказать. Что они, дураки что ли?