ПОЧЕМУ РОССИЯ НИЩАЯ? ЧАСТЬ 13.
Как гнобить разработчиков.
2.3 Прием «покажи код». Собственно, названием приема все сказано. Запомните: программиста всегда можно подловить на написании говнокода или хаков. Одни искренне хотят, но не могут. Другие могут, но искренне не хотят. Третьи и могут, и хотят, но не получается по причине того, что:
- Там уже и так наговнокожено.
- Сама система спроектирована через жопу.
- Нужно поддерживать всякое legacy.
- И так далее.
Как применять:
- Потребуйте у противника продемонстрировать примеры своего кода, которые он считает особенно удачными.
- Если он начинает мямлить что-то про NDA, пригрозите, что будет хуже и код придется писать на бумажке, а то и на доске.
- Спросите, почему вот здесь избран именно этот подход, и какие могли быть альтернативы. Необходимо задать вопрос таким тоном, чтобы собеседник заволновался и начал думать, будто упустил из виду какую-то элементарную деталь.
- Поинтересуйтесь, что та или иная конструкция представляет собой синтаксически. Вы не поверите, сколько пишущих код людей даже не задумывается, является ли то или иное слово ключевым в используемом языке, или же это, скажем, вызов какой-то функции. Разочарованно протяните:
«Ну, это же самые основы».
- Высший пилотаж - это зачморить за неверную (как вам кажется) расстановку отступов или фигурных скобок, но так, чтобы человек и впрямь почувствовал себя невеждой, а не подумал, будто вы придираетесь по пустякам.
Опасность. Их здесь две.
Во-первых, разбирать чужой код - это уныло, в особенности, если он действительно отстоен. Тут уже вообще теряется какой бы то ни было спортивный интерес, и от гнобления перестаешь испытывать всякое удовольствие.
Во-вторых, некоторые люди (очевидно, посетившие слишком много тренингов по коммуникации) умеют дистанцироваться и не воспринимать критику своего кода, как критику себя лично. Но мы ведь добиваемся вовсе не этого! Гнобить код бессмысленно: он все равно ничего не почувствует. Так или иначе, применяя данный прием, следует помнить одно простое правило: ад - это код других.
2.4 Прием «оценка английского». Ни одно интервью не может считаться полным, если в нем не будет предпринято попытки загнобить собеседника за уровень владения английским. Ваш собственный уровень и компетентность как экзаменатора не играют никакой роли. Это тот случай, когда гнобить можно, даже заметно уступая собеседнику в данной области. Уместно добавить сюда же толику психологии - опять же, вне зависимости от вашей компетентности в этой сфере. Разумеется, если у вас на проекте в компании приоритет отдается, скажем, венгерскому, то методику необходимо скорректировать под этот язык. Как применять?
- Предложите собеседнику переключиться на английский язык, даже если он у него (или у вас) на откровенно низком уровне. Попросите его рассказать о себе и своих проектах, своих сильных и слабых сторонах. Самых желторотых можно будет поставить на место уже на этой стадии, так как многие и по-русски, то на подобные темы связно говорить не умеют.
- Поставьте его в тупик каким-нибудь хитроумным вопросом с подковыркой, например:
«Why are you feel yourself as a senior automatization engineer?».
- Отметьте, что словарный запас собеседника выдает неуверенность в себе и слабость познаний в программировании, что и само-то по себе непростительно, а для той позиции, на которую он претендует - и подавно.
- Безапелляционно изреките, что заявленного уровня языка вы здесь не слышите, и максимум, на что может рассчитывать ваш оппонент - какое-нибудь худосочное A2. От такого клейма он уже не отмоется никаким IELTS’ом.
Опасность. Бывают случаи, когда человек в принципе не владеет иностранным языком, о чем сразу прямо и заявляет. Можно, конечно, слегка пожурить его:
«Ну что же вы, батенька, как же в наше-то время без языка?».
Но едва ли он из-за этого почувствует себя по-настоящему униженным. Что ж, чувствовать он может что угодно, но промоушна ему при таком раскладе все равно не видать! Еще одна опасность состоит в том, что сейчас в айтишники, а особенно в программисты и тестировщики, прут все кому не лень, и всегда есть шанс нарваться на какую-нибудь выпускницу иняза. За английский ее не загнобишь, но зато у нее наверняка с паттернами беда. Тут-то вы и развернетесь.
2.5 Прием «бесконечность». Иногда попадаются особо настырные типы, к которым на кривой козе не подъедешь: и паттерны они знают, и Оксфорд они заканчивали, и технологии все изучили вдоль и поперек. Здесь и приходит на помощь рассматриваемый прием. Заключается он в том, чтобы задать собеседнику какой-нибудь изощренный вопрос, а затем на каждой итерации уточнять условия задачи, давая понять, что вы хотите услышать немного не то. При этом иметь в виду какой-то конкретный ответ вовсе не обязательно; главное – продолжать допытываться и создавать видимость, будто вы пытаетесь подвести собеседника к какому-то решению, а он все никак не допетрит, чего от него хотят. Некоторые утверждают, будто подобные вопросы позволяют посмотреть, как человек будет решать проблему, но на самом деле их цель - запутать собеседника и продемонстрировать, какой он на самом деле недотепа. Как применять? Простор для фантазии здесь на самом деле безграничен - не зря же прием так называется! Приведем здесь лишь один из миллионов возможных вариантов развития беседы.
А: Допустим, вы - тимлид, и заказчик просит вас срочно сделать POC фреймворка по автоматизации их продукта с каким-нибудь необычным интерфейсом. Ваши действия?
Б: Ну, я исследую рынок тулов автоматизации для данного интерфейса.
А: А допустим, есть только один подходящий тул, и тот коммерческий.
Б: Ну, я посчитаю затраты и экономию и выкачу цифры заказчику.
А: А допустим, заказчик наотрез отказывается платить за коммерческий тул.
Б: Ну, я рассмотрю возможность встраивания в интерфейс каких-нибудь хуков для автоматических тестов.
А: А допустим, девелоперы утверждают, что хуки встроить невозможно.
Б: Ну, тогда я попытаюсь использовать какое-нибудь низкоуровневое API самого приложения.
А: А допустим, никакого API наружу не выставляется. Или ну хорошо, а вот, допустим, объем работы слишком большой, чтобы сделать все в одиночку, а уже вечер пятницы, и вся команда ушла домой.
Б: Ну, я обговорю с заказчиком перенос сроков сдачи.
А: А допустим, заказчик требует, чтобы все было сделано ASAP.
Б: Ну.
Как вы понимаете, этот обмен репликами можно продолжать до бесконечности. Рано или поздно оппонент окончательно утратит нить ваших рассуждений и перестанет понимать, чего вы от него добиваетесь. Вы же потом можете сказать, что он недостаточно гибко мыслит в техническом плане, да к тому же склонен уходить от ответственности, и не умеет работать с командой. Опасность. Данный прием следует с осторожностью применять на юных и неопытных, так как они ломаются и уходят в ступор довольно быстро, так и не позволив вам в полной мере продемонстрировать собственное превосходство. Если же ваш собеседник - тертый калач, он может просто послать вас подальше с такими вопросами, и будет прав. Плюсов ему это, конечно, не прибавит, но и загнобленным он себя опять-таки не почувствует, а это никуда не годится.
3. Микрогнобление. Помимо масштабных и многоходовых приемов унижения соперника существует еще так называемое микрогнобление. Оно включает в себя мелкие вопросы и придирки, перемигивание с другими собеседующими, гнусное хихиканье, обмен записками или сообщениями в скайпе, пренебрежительный взгляд, перебивание и многое другое. Микрогнобление помогает заполнить паузы в разговоре и не позволяет сопернику расслабиться. Также оно может использоваться, чтобы сменить тему беседы и перейти к следующему макроприему. Более того, один удачно проведенный микрогнобительный выпад может обернуть в вашу пользу уже, казалось бы, проигранную схватку. Рассмотрим несколько типичных примеров, связанных с автоматизацией тестирования. Все эти приемы, опять же, никак не привязаны к профессии, но если вам удастся ввернуть сюда нужную специфику, это пойдет вам только в плюс.
- Можете спросить, умеет ли оппонент считать ROI или метрики по автоматизации. Их никто считать не умеет - а вернее, все делают это по-разному, так что всегда остается возможность для маневра.
- Поинтересуйтесь, сколько фреймворков по автоматизации оппонент нафигачил с нуля, или, как вариант, почему в его проекте используется технология A, а не B. Очень многим приходится заниматься поддержкой легаси-кода или же работать в составе крупной команды - вы же сможете обвинить оппонента в неопытности и архитектурной безграмотности.
- Время от времени отпускайте комментарии типа:
«Да, жиденько. Или, а что ж архитектуру WebDriver не доучили?».
Если подадите это с правильной интонацией, человек заволнуется, даже если регулярно контрибьютит в проект Selenium. Победа? И вот, враг повержен, унижен, раздавлен и позорно бежит, размазывая по щекам слезы, а вы стоите, гордо вскинув голову, и пьете вино из его черепа. Но не стоит почивать на лаврах: рано или поздно он обязательно вернется - если только не произойдет самое страшное, что может случиться с программистом, и он не станет бизнес-аналитиком. Заключение. У кого-то может сложиться ощущение, будто бы я самый что ни на есть демон во плоти. Возможно. Однако не все столь добры и бесконфликтны, и обязательно найдется мерзавец, которому захочется вас загнобить. Но теперь, когда вы вооружены знаниями, вы сможете распознать все его гаденькие приемчики, а в идеале и обратить их против него самого. Вопросы?
Как выжить в РФ программисту?
- Как при устройстве на работу, так и при дальнейших обсуждениях вашей заработной платы в данной компании никогда не вестись на мошенничество в духе:
«Ваш опыт работы с ZeroMQ - всего 1 год, поэтому мы вам не можем платить много».
В нашем чересчур динамичном мире одни технологии быстро сменяют другие, и сейчас требование опыта работы с конкретной крайне специфической библиотекой, измеряемое не в неделях и не в конкретных задачах, а в годах, - это очередная попытка обесценить работника. При этом сам бизнесмен может нагло врать на сайте своей компании о том, что его компания - один из мировых лидеров в десятке направлений и якобы имеет десятилетний опыт работы с ZeroMQ и сотнями прочих инструментов, библиотек и технологий, несмотря на то, что ни один из сотрудников не имеет опыта применения ZeroMQ больше полутора лет, например.
- Всегда двигаться вперед. Если вы работаете над каким-либо небольшим российско-американским продуктом, который является всего лишь компонентом, продаваемым другой компании для ее большого проекта в рамках B2B-модели, то напишите в ту компанию, объясните, что вы - старший или ведущий разработчик этого компонента, в совершенстве знающий этот компонент изнутри и хорошо разбирающийся в данном коде. Вам могут предложить уволиться из вашей мелкой компании и перейти работать в крупную компанию, чтобы заниматься там практически тем же самым, но за более адекватный годовой доход. Если повезет, то ваша новая компания вообще откажется сотрудничать с предыдущей и начнет сотрудничать исключительно с вами. На новом месте не останавливайтесь, анализируйте бизнес этой компании, разведывайте список ее крупных B2B-клиентов, чтобы выйти уже на них напрямую, повысив ваш годовой доход еще раз.
- Никогда не прогибаться на собеседованиях и не снижать планку денежных требований, даже если тот, кто вас собеседует, открыл свежайший стандарт вроде C++14 и, читая его сверху вниз и задавая вам вопросы, обнаружил, что вы не знаете чего-то. Всего знать и помнить невозможно, и это нормально, ведь в реальной работе вы всегда сможете в случае необходимости открыть PDF-документ с тем же стандартом и быстро вспомнить или понять конкретную вещь. Сейчас во многих компаниях самый востребованный сотрудник - это аутист и офисный раб, который легко позволяет окружающим снижать его самооценку, поэтому вам никогда нельзя прогибаться ни под кого. Современные собеседования все больше напоминают ментовские допросы и представляют собой не отборы компетентных кадров, а акты психологического отбора рабов. На собеседовании специально обученные люди могут обвинить в незнании C++ даже Бьерна Страуструпа. Если вы поняли, что данной конкретной компании требуется не компетентный разработчик, а галерный раб, то тут же прерывайте собеседование и вежливо прощайтесь навсегда.
ПРОДОЛЖЕНИЕ СЛЕДУЕТ…
Материал предоставил Андрей из Германии.
Комментарии