Так гоу что мешает

Маразм на собеседованиях, который БЕСИТ. Взгляд со стороны соискателя

Так гоу что мешает. Смотреть фото Так гоу что мешает. Смотреть картинку Так гоу что мешает. Картинка про Так гоу что мешает. Фото Так гоу что мешает

Идиотские вопросы

Кроме фирменного вопроса «Кем вы себя видите через 5 лет», бывают и другие, не менее тупые и бестактные. Животрепещущие примеры: «А почему у вас так много мест работы в резюме? Вы что, нигде не можете ужиться?», «Почему вы проработали в этих фирмах так мало?», «А сколько вам платили на предыдущем рабочем месте?».

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

Разберем по пунктам.

2) Здесь вполне серьезно. Конечно, соискатель может сказать что-то обтекаемое про то, что «на позиции дизайнера в ООО «Ромашка» можно получить до 10 стаканов пшена в месяц», но, во-первых, а нафиг оно вообще надо кандидату, а во-вторых, эйчары, вы серьезно думаете услышать реальные цифры?:) Там однозначно будет «бывшая зп + все премии + 20% сверху, чтобы было о чем поторговаться». К чему эти вопросы и на что надеятся кадровики — искренне недоумеваем.

3) У нас было такое, что эйчарки вообще не понимали, что такое это ваше NDA и с чем это едят. Они еще вдобавок бесились, когда мы на просьбы предоставить список клиентов, с которыми работали, или выкатить список работ отвечали тем, что с подписанным NDA это сделать нельзя. Видимо, в эйчары берут особо одаренных личностей, которые не умеют пользоваться гуглом.

В целом, даже с опытом подбора персонала мы все равно недоумеваем, за каким лешим эйчары задают подобные вопросы. Ответы все равно будут максимально обтекаемыми и близкими к ожидаемым.

Отсутствие диалога

Часто у потенциального работодателя на собеседовании просыпается комплекс Бога, и начинается настоящий цирк. Например, вам могут предложить только серую зп с минимальным официальным окладом. Вам принципиальна белая зп, ради которой вы готовы ужаться в размере зп или отказаться от части плюшек. Либо наоборот — вам не нужна полностью белая, вы хотите серую, но побольше. Если работодатель начинает давить вас в стиле «Стакан пшена официально, два стакана в мешке! Или соглашайся, или пошел нафиг!», то это нереально вымораживает. Если на собеседовании работодатель такой отбитый, то каким он будет в деле?

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

Ну его нафиг в общем.

Чересчур личные вопросы

Здесь тоже начинает дергаться глаз и появляется желание втащить собеседнику стулом.

«А вы замужем? А планируете?», «Дети есть? Сколько штук, сколько лет? Часто болеют?», «А у вас квартира своя или в ипотеке». Уууусука, аштрисет.

Боитесь, что принятая на работу незамужняя девушка выйдет взамуж и начнет клепать спиногрызов? Так не берите на работу баб вообще. Не нужно устраивать на собеседовании допрос в стиле приема гинеколога или требовать справку о том, что кандидатка не беременна. Думаете, стебемся. Нифига, реально такие было!

Мужскую половину подобные вопросы также не обходят стороной. Почему-то многие работодатели искренне считают, что мужику с тремя детьми и ипотекой будет тупо некуда бежать. Так вот он засядет в фирме, будет ишачить и делать все, что ему скажут. Огорчу. Это не всегда так. К тому же, соотношение «затраченное время — результат» могут быть весьма паршивыми.

Попытки продавить кандидата по зарплате

На арене блядского цирка (зачеркнуто) наши любимые манипуляции! Представитель фирмы, собеседующий вас, смотрит в ваше резюме и устраивает разнос. Уровень фирм, в которых вы работали — говно, проекты — говно, навыки — говно, одеты вы как говно. Чтобы вы не сделали, ваши опыт и достижения один фиг обесценят и превратят в какашку. Вы ничего не добились. Вы — неудачник и говно. Над вами будут открыто измываться, перевирать слова. Дополнительный способ доебаться до вас — спросить определение любого тупого термина и устроить после получения ответа разнос с упоминанием того, в каком мусорном бачке нужно оставить ваш диплом, резюме и вас. Если вы обладаете бешеной выдержкой (и дико низкой самооценкой) и сумели досидеть до момента обсуждения зп, то ваши запросы срежут примерно раза в два. С мотивировкой «А чо ты вообще умеешь такого делать, чтобы мы тебе столько платили?»

Узнали ситуацию? Глаза налились кровью? Вот у нас такая же реакция.

Игра в «Угадай мелодию»

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

Выбешивает такое просто неимоверно.

Тесты

В общем, чего тут распинаться. Тесты — отличный признак шараги. Точнее, признак того, что вы убьете тест, а на собеседование никто потом не позовет.

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

Так что пусть просто эйчарки горят в аду со своей психологией.

Анкеты

Аштрисет. Приходишь на собеседование, а тебе в зубы вручают анкету на трех листах. Где в пунктах кроме той же самой информации про работу, которая есть в резюме, еще охрененные вопросы про близких родственников и их контакты, любимые книги и данные паспорта. Мол, на тебе, сердешный. Как заполнишь — поговорим. А что мешает посмотреть инфу касательно работы в резюме? Вытаскивание информации про родственников, паспортные данные и прочее вообще незаконно.

Хочется периодически запихнуть эту анкетку прямо на месте сами знаете куда и сами знаете кому. Кстати, если не заполнять разделы с личными данными, то можно наблюдать забавную истерику эйчарки и ее попытки показать себя ниибаца хозяйкой в этой фирме. Рекомендуем для развлечения, если жить совсем скучно стало.

Такие дела, котятки. Что делать на собеседовании, если вы столкнулись с подобным, решать уже вам. Кто-то готов налить в уши эйчарке сказку о том, какой он хороший, принести хоть пять справок о том, что нет алкогольной зависимости/долгов/судимостей и вообще ты бесплодный, заполнить пять анкет и сдать десять тестов. Для кого-то такая срань неприемлема. Лично для нас это все — треш, и мы не готовы танцевать на задних лапках перед долбанутым работодателем.

Источник

Почему дизайн Go плох для умных программистов

На протяжении последних месяцев я использую Go для имплементаций Proof of Concept (прим.пер.: код для проверки работоспособности идеи) в свободное время, отчасти для изучения самого языка программирования. Программы сами по себе очень просты и не являются целью написания статьи, но сам опыт использования Go заслуживает того, чтобы сказать о нем пару слов. Go обещает быть (прим.пер.: статья написана в 2015) массовым языком для серьезного масштабируемого кода. Язык создан в Google, в котором активно им пользуются. Подведя черту, я искренне считаю, что дизайн языка Go плох для умных программистов.

Создан для слабых программистов?

Go очень просто научиться, настолько просто, что введение заняло у меня один вечер, после чего уже мог продуктивно писать код. Книга по которой я изучал Go называется An Introduction to Programming in Go (перевод), она доступна в сети. Книгу, как и сам исходный код на Go, легко читать, в ней есть хорошие примеры кода, она содержит порядка 150 страниц, которые можно прочесть за раз. Сначала эта простота действует освежающе, особенно в мире программирования, полного переусложненных технологий. Но в итоге рано или поздно возникает мысль: «Так ли это на самом деле?»

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

Так для чего же он был создан таким простым? Вот пара цитат Роба Пайка (прим.пер.: один из соавторов языка Go):

Ключевой момент здесь, что наши программисты (прим.пер.: гуглеры) не исследователи. Они, как правило, весьма молоды, идут к нам после учебы, возможно изучали Java, или C/C++, или Python. Они не в состоянии понять выдающийся язык, но в то же время мы хотим, чтобы они создавали хорошее ПО. Именно поэтому их язык должен прост им для понимания и изучения.

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

Что? Так Роб Пайк в сущности говорит, что разработчики в Google не столь хороши, потому они и создали язык для идиотов (прим.пер.: dumbed down), так чтобы они были в состоянии что-то сделать. Что за высокомерный взгляд на собственных коллег? Я всегда считал, что разработчики Google отобраны из самых ярких и лучших на Земле. Конечно они могут справиться с чем-то посложнее?

Артефакты чрезмерной простоты

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

Не очень выразительный

Из-за стремления к простоте в Go отсутствуют конструкции, которые в остальных языках воспринимаются как что-то естественное. Вначале это может показаться хорошей идеей, но на практике выходит многословный код. Причина этому должна быть очевидна — необходимо, чтобы разработчикам было просто читать чужой код, но на самом деле эти упрощения только вредят читаемости. Сокращения в Go отсутствует: либо много, либо ничего.

К примеру, консольная утилита, которая читает stdin либо файл из аргументов командной строки, будет выглядеть следующим образом:

Хотя и этот код пытается быть как можно более общим, принудительная многословность Go мешает, и в результате решение простой задачи выливается в большой объем кода.

Вот, к примеру, решение той же задачи на D:

И кто теперь более читабельный? Я отдам свой голос D. Его код куда более читаемый, так как он более явно описывает действия. В D используются концепции куда сложнее (прим.пер.: альтернативный вызов функций и шаблоны), чем в примере с Go, но на самом деле нет ничего сложного в том, чтобы разобраться в них.

Ад копирования

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

И этот пример даже не работает для знаковых типов. Такой подход полностью нарушает принцип не повторять себя (DRY), один из наиболее известных и очевидных принципов, игнорирование которого является источником многих ошибок. Зачем Go это делает? Это ужасный аспект языка.

Тот же пример на D:

Простое, элегантное и прямо в точку. Здесь используется функция reduce для шаблонного типа и предиката. Да, это опять же сложнее варианта с Go, но не столь уж сложно для понимания умными программистами. Который из примеров проще поддерживать и легче читать?

Простой обход системы типов

Я полагаю, читая это, программисты Go будут с пеной во рту кричать: «Ты делаешь это не так!». Что же, есть еще один способ сделать обобщенную функцию и типы, но это полностью разрушает систему типов!

Взгляните на этот пример глупого исправления языка для обхода проблемы:

Эта имплементация Reduce была позаимствована из статьи Idiomatic generics in Go (прим.пер.: перевод не нашел, буду рад, если поможете с этим). Что же, если это идиоматично, я бы не хотел увидеть не идиоматичный пример. Использование interface<> — фарс, и в языке он нужен лишь для обхода типизации. Это пустой интерфейс и все типы его реализуют, позволяя полную свободу для всех. Этот стиль программирования до ужаса безобразен, и это еще не все. Для подобных акробатических трюков требуется использовать рефлексию времени выполнения. Даже Робу Пайку не нравятся индивиды, злоупотребляющие этим, о чем он упоминал в одном из своих докладов.

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

Я бы взял шаблоны D вместо этой чепухи. Как кто-то может сказать, что interface<> более читаем или даже типобезопасен?

Горе управления зависимостями

У Go есть встроенная система зависимостей, построенная поверх популярных хостингов VCS. Поставляемые с Go инструменты знают об этим сервисах и могут скачивать, собирать и устанавливать из них код одним махом. Хотя это и здорово, есть крупная оплошность с версионированием! Да действительно, можно получить исходный код из сервисов вроде github или bitbucket с помощью инструментов Go, но нельзя указать версию. И снова простота в ущерб полезности. Я не в состоянии понять логику подобного решения.

После вопросов о решении этой проблемы, команда разработки Go создала ветку форума, в которой изложили, как они собираются обойти этот вопрос. Их рекомендация была просто однажды скопировать весь репозиторий себе в проект и оставить «как есть». Какого черта они думают? У нас есть потрясающие системы контроля версий с отличным теггированием и поддержкой версий, которые создатели Go игнорируют и просто копируют исходные тексты.

Культурный багаж из Си

По-моему мнению, Go был разработан людьми, которые использовали Си всю свою жизнь и теми, кто не хотел попытаться использовать что-то новое. Язык можно описать как Си с дополнительными колесиками(ориг.: training wheels). В нем нет новых идей, кроме поддержки параллелизма (который, кстати, прекрасен) и это обидно. У вас есть отличная параллельность в едва ли годном к употреблению, хромающем языке.

Еще одна скрипучая проблема в том, что Go — это процедурный язык (подобно тихому ужасу Си). В итоге начинаешь писать код в процедурном стиле, который ощущается архаичным и устаревшим. Я знаю, что объектно-ориентированное программирование — это не серебряная пуля, но было бы здорово иметь возможность абстрагировать детали в типы и обеспечить инкапсуляцию.

Простота для собственной выгоды

Go был разработан, чтобы быть простым и он преуспел в этой цели. Он был написан для слабых программистов, используя в качестве заготовки старый язык. Поставляется он в комплекте с простыми инструментами для выполнения простых вещей. Его просто читать и просто использовать.

Он крайне многословный, невыразительный и плох для умных программистов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *