Каперство в IT. В подражание Киплингу -16


Статья имеет своей целью не только и не столько попытку анализа крайне субъективной сущности термина Team leader, лидер команды, проведя некую полушутливую аналогию с капитаном боевого корабля в условиях морского сражения (почему бы и нет, кстати..?), но и в очередной раз заострить внимание профессиональной аудитории на невероятно убогом (целиком принимая на себя ответственность за использование данного термина) состоянии рынка труда в IT в двух отдельно взятых странах - России и Украины. Белоруссию обойду молчанием, ситуация там иная, как мне кажется... но, что касается первых двух - автор склонен сейчас сделать крайне непопулярное, вероятно, заявление, сказав, что мы действительно один народ. Во всяком случае - когда разговор заходит о соблюдении законов и, в частности, законов о труде.

В качестве кратенького лирического отступления перескажу содержание своего диалога с неким американцем, носителем языка на English Courses, которые некогда посещал. Угораздило меня попросить почтенного препода прокомментировать суть gray salary, дескать, имеет ли подобное место быть в твоей Америке, нет? - он сперва меня попросту не понял, готов предположить, виной тому был уровень моего английского, образчика "лэт ми спик фром май хард"; а, когда наконец дошло (ну, "они тупые", как не один десяток лет восторженно декларировал с эстрадных подмостков некий наш "актер") - бесхитростно расхохотался мне в лицо.

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

В нём проказа внутри, хоть снаружи он бел, и может учуять любой

Запах мускуса, что владелец рабов всегда несёт за собой.

Забегая вперед, к рабам мы еще вернемся... а вот ответ, интонацию которого я попытаюсь при переводе адаптировать на российский лад так, как ее услышал, прозвучал примерно следующим: "Дорогой мой... да, в национальных диаспорах, кое-где у нас порой, Куба, мать ее, месканы/арабы, что скрывать... но - это исключение, подтверждающее жесткое правило: в Америке нет серых зарплат, it's impossible".

Далее перехожу к эпизоду, о котором хочу рассказать. Упоминания о сталинградской битве в моем тексте, ровно так же, как и у Киплинга, не будет иметь места быть; увы, это единственное, что ставит нас на одну доску по части литературного таланта, поэтому я по большей части процитирую, без купюр и as it is, электронную переписку, сохраненную в моем архиве как воспоминание об испытательном сроке на позицию Ruby Developer украинской компании Kodo Labs, Одесса (поставил в известность своего корреспондента о намерении публикации). Предваряя разгневанные комментарии в духе неприемлемости и безграмотности подобного рода параллелей/экстраполяций на "весь рынок труда", начну со следующего утверждения: в отличие от Америки, второй родины безжалостного капера, работорговца и кавалера ордена Св. Анны, потемкинского контр-адмирала Джон Пол Джонса, у нас подобное является именно правилом, а не исключением. Go ahead, my friends.

Непонимание и разногласия возникли у нас практически сразу:

29.04.2021 17:23, Alexey пишет:

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

В качестве такой константы / точки отсчета я всегда предлагаю принять правовое поле, что диктуется не только проявлением уважения к законам страны, в которой живешь и работаешь, но и, не в последнюю очередь, самоуважением. Ты же мне говоришь, что договоров у тебя нет, но, тем не менее, ты хочешь контролировать рабочее время тех, кто де-факто и де-юре работает на твоем предприятии. Причем речь именно о контроле, что ты и сам признаешь, цитирую: "И дело вовсе не, или не только, в контроле..."

Ты это всерьез, про гречку? - забей, не аргумент. Попытка провести аналогию между учетом рабочего времени и килограммами продаваемого товара я даже комментировать не буду, несерьезно. И крайне странно слышать подобную сентенцию от руководителя компании.

Предлагаю следующее. В основу сотрудничества ставим не "условные понятия", которые оставляют возможность многозначных трактовок и, как следствие, злоупотреблений (с обеих сторон), а четкое понимание правовой основы, это стандартная позиция нормального человека в нормальном цивилизованном мире (я, разумеется, не ************ имею в виду): договор у нас с тобой не трудовой, а партнерский, у нас это называется ГПО (гражданско-правовые отношения), и в Украине есть аналог. Такого рода договор (хотя бы и изустный, не имеет значения) предопределяет равноправие обеих сторон, что исключает тот самый контроль, к которому ты так стремишься.

Разумеется, я готов, как это и принято в большей половине украинских компаний, вручную указывать затраченное время. Это некритично; значение имеет именно взаимопонимание, о котором ты сам сказал. Аналогия человеко-часов с килограммами (или попытка представить 15 лет работы компании, перипетии которой мне неведомы, в качестве "гарантии") суть правовой и логический абсурд, тебе то же самое скажет любой юрист, и строить работу на таком шатком фундаменте я не стану: "опыт, сын ошибок трудных".

Поясню. Стойкое неприятие вызвала (как и всегда в аналогичных случаях, имя которым, повторюсь, легион на просторах вставшей с колен державы) следующая сентенция тимлида / фаундера Kodo Labs, от которого я получил предложение принять участие в проекте, цитата: "У нас в компании минимум бюрократии. У нас нет НДА или договоров, потому что все это не дороже бумаги, на которой они написаны."

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

Поясню еще, и двинемся далее. Утверждаю: любой работодатель, на которого ты, уважаемый мой коллега-программист-айтишник, работаешь без трудового договора либо же работаешь "как ИП" - де-юре и де-факто работодателем не является, что бы там тебе не щебетали по этому поводу прелестные девочки-эйчары; невзирая на любые прелести, все это суть нонсенс и грубейшее нарушение трудового законодательства (на хабре несколько лет назад была опубликована весьма примечательная статья о "схемах Ходорковского" и прочих в тему вещах, велкам к прочтению те, для кого сказанное - неожиданность). Как правило, речь здесь может идти о ГПО, договоре (письменном, устном) гражданско-правового характера, который априори не является договором трудовым, заведомо предопределяя равноправие сторон. С этих позиций, на которых величественно и невозмутимо, как истуканы острова Пасхи, покоится КЗОТ (и не только российский), претензия твоего заказчика (ни в коем случае не работодателя) отслеживать твои действия за компом либо пусть даже всего только контролировать время, затраченное на работу - объяснимо лишь степенью его наглости, помноженной на элементарную твою правовую безграмотность. Устанавливая Toggl на рабочий свой ПК, или же иной тайм-трекер, ну или попросту покорно выслушивая от своего горе-эмплойера нотицию о перманентных твоих нарушениях трудовой дисциплины - помни об этом.

Сказанное относится также и к Украине. Напомню: работа как ФОП (фізична особа — підприємець) не есть трудоустройство, за подробностями, пожалуйста - к юристам, специализирующимся на трудовом праве. Здесь же - короткой строкой: априори нет и быть не может ни "испытательного срока", ни "рабочего времени" в отсутствие трудового договора, в полном соответствии с КЗоТ Украины. А если договор имеет место, то, согласно ч. 11 ст. 60 КЗоТ "при дистанционной (надомной) работе сотрудники распределяют свое рабочее время по собственному усмотрению, на них не распространяются правила внутреннего трудового распорядка, если другое не предусмотрено условиями трудового договора; при этом общая продолжительность рабочего времени не должна превышать нормы, установленных статьями 50 и 51 КЗОТ Украины."

Ось так, хлопці. Всі, хто мають іншу думку, можуть йти на Хутір ловити рідкісні породи метеликів.

ОК, идем дальше, дабы попробовать проанализировать, к какому финалу вполне закономерно приводит сентенция "у нас нет НДА или договоров, потому что все это не дороже бумаги, на которой они написаны", возведенная в ранг логики работы предприятия. Получаю пару тасков в работу, клонирую с гитхаба rails-app, анализирую код и запускаю у себя. Формулирую решение технической задачи, решение, однозначно не противоречащее ни одному пункту описанных условий и безусловно работоспособное, и даже, я бы использовал именно эту терминологию - ортодоксальное, классическое решение. И вдруг... я с удивлением и очень не сразу начинаю осознавать, что уровень технических познаний моего заказчика, фаундера и тимлида в одном лице - как бы это поаккуратнее сформулировать, в определенных ситуациях оставляет желать несколько лучшего...

01.05.2021 20:13, Yura Omelchuk пишет:

Начну с того, что сам вопрос поставлен не вполне корректно

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

Вопрос управления доступом к документу решается отдельно и независимо от приглашений. Здесь нужна структура данных, отвечающая за хранение прав доступа. Для авторизации доступа, если говорить про библиотеки, мы применяем pundit а не cancan/cancancan.

Отправлено с iPhone

Здесь снова необходима ремарка автора. Которому, признаться, никогда ранее не приходило в голову, что кто-либо способен расценить использование крайне популярного, "звездного" scambra/devise_invitable как попытку "управления доступом к документу", или что включение данного функционала отменяет основную функцию devise, заключающуюся в регистрации пользователей: "Devise is a flexible authentication solution for Rails based on Warden". Помимо прочего, мою досадную неудачу чтения мыслей на расстоянии ("мы применяем pundit, а не cancancan") постеснялись бы назвать "невполнекорректностью" даже на печально известном imho-форуме, с их вечно живым, как дело Ленина, мемом-слоганом "экстрасенсов здесь нет".

02.05.2021 01:48, Alexey пишет:

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

Продолжаю догадываться: в модель документа добавляем еще один столбец, куда станем записывать юзеров/мыло, которым автор дока предоставил доступ. Соответственно, на указанной тобой новой (фейковой) вьюхе дока - будет отображаться филд, содержащий уже введенные emails, с возможностью этот список редактировать. Посредством которого любым из десятков возможных способов будет предоставляться доступ уже существующим юзерам, несуществующим - отправляем приглашения (можно новый мэйлер сделать, но по уму предложил бы попробовать devise_invitable).

Как вариант. Что скажешь про такой сценарий?

02.05.2021 05:53, Yura Omelchuk пишет:

Мы для того и обсуждаем план, чтобы синхронизировать подходы. Что касается атрибута документа, куда записывается список адресов пользователей - это не гибко, нужна отдельная сущность.

Отправлено с iPhone

02.05.2021 13:00, Alexey пишет:

По-прежнему не понимаю, чем обусловлен выбор pundit в данном случае. Пусть он хоть 10 раз гибок, суть его подхода - политики и роли, что уже не вписывается в логику задачи. Разумеется, можно и на вордпрессе интернет-лабаз сделать, да и от руки доступ накатать, без pundit / cancan и ещё десятков аналогов, с граф. интерфейсом или без - не проблема. Это такой корпоративный стандарт на все случаи жизни, pundit, либо есть иная аргументация?

02.05.2021 13:18, Alexey пишет:

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

02.05.2021 13:25, Yura Omelchuk пишет:

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

Отправлено с iPhone

Комментарии по большей части излишни. Кроме, разве что, следующей констатации: как видите, господа-товарищи, "работа" на том или ином коммерческом предприятии, руководитель которого исповедует принцип "у нас нет НДА или договоров, потому что все это не дороже бумаги, на которой они написаны"... не добавляет высокого литературного штиля автору этого рассказа, разумеется, но при случае приравняет профессиональную ценность любого из вас, дорогие мои друзья и коллеги - к стоимости черного живого товара контр-адмирала флота российского Павла Джонеса, которым тот весьма неплохо зарабатывал на жизнь в бурной своей молодости. "Тимлид", владелец и руководитель одесской веб-студии Kodo Labs Юра Омельчук попрощался настолько эффектно, что даже забыл предложить оплатить время, потраченное на работу анализ, запуск и тестирование своего кода; я уж молчу про то, что ни на один из заданных ему технических вопросов он не попытался ответить, ни одного аргумента в пользу своего мнения не привел. А это уже ничем не прикрытый моветон: по окончании любого профессионального тестирования принято озвучивать правильные ответы, приходилось ведь и мне когда-то поступать таким образом. Справедливости ради добавлю, на этот знаковый момент "ты уволен, и ты мне ничего не должен, бывай здоров" я обратил внимание своего незадачливого корреспондента, добавив на прощанье "плати, если хочешь", и подразумевая тем самым, что не стал бы настаивать на оплате, выиграв в карты у местных на одесском Привозе; правила игры, знаете ли, предопределяют, да не деньги и были. Результат предсказуем: "не хочу и не плачу", и вот на сей раз, не в пример прозвучавшему ранее, все действительно логично.

Вот интересно, кстати сказать. Как думаете, что сказал бы родом из Шотландии американский капер, если бы удостоившая его высочайшей аудиенции Екатерина II предложила, вкупе с контр-адмиральским патентом, аналог "оплаты на ИП"? - или, еще того лучше, "давайте без налогов, мой очаровательный капитан, зачем вмешивать государство в наши отношения? - оставьте нас, мсье Зубов, nous vous parlerons plus tard..." (почти что такую формулировку мне доводилось слышать, и неоднократно, от российских работодателей)? Может статься, и проканало б, а?- капер, он и есть капер, какая похер дым ему разница.

Из мачты не станет он делать гик, из рубки строить вельбот,

Фок-мачту взял и рубку украл — янки, дьявольский род!

Я драться не мог: надвигалась тьма, и океан бушевал,

Я дал по нем выстрел - за грубый увод, и второй - за то, что он лгал...

Была мысль выложить на гитхабе (ну, уж коль скоро NDA "не дороже бумаги") rails-app, о котором речь, дабы рубисты-рельсовики на досуге глянули, чем так приглянулся одесситам pundit в контексте данного проекта; на мой субъективный взгляд, здесь он, хотя и безусловно возможен, но был бы все равно что интернет-мем Black Lives Matter во времена войны за независимость Североамериканских штатов, в бытность которой Джон Пол Джонс получил известность как капитан шлюпа Providence... хм, тоже ведь своего рода Team Leader, не правда ли. Но, пожалуй, это частность, малоинтересная крайне широкой сегодня аудитории российских любителей поэзии и прозы Редьярда Киплинга.


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




К сожалению, не доступен сервер mySQL