Часть первая. Конфликт
Среда, 4 марта 2020, полдень
Я отдыхаю дома. Звонит наш техдир Рома:
— Миша, когда ты будешь на работе?
— Я решил сегодня остаться дома.
— Хорошо, я передам руководству
— По ТК есть норма, что если 15 дней задержка, то можно не выходить
(на тот момент я не видел зарплаты больше месяца)
— Да, я знаю
Рома перезванивает мне через 15 мин:
— Во сколько ты можешь приехать за зарплатой?
— Давай уже завтра, как обычно
— Хорошо, тогда до завтра
Четверг, 5 марта
Прекрасно проведенный день среды настроил меня на рабочий лад, отдохнувший и весь в ожидании свершений ехал я на работу. Еще несколько штрихов, пару недель
кодинга, и наш iOS–клиент для WebRTC вплотную приблизится по качеству к
имеющимся на рынке аналогам. Возможно, мы договоримся и мне одобрят 4–
дневную рабочую неделю. В последнее время мне постоянно намекают, что моя
работа не стоит обещанных мне денег. Я готов пойти на компромисс и работать за
меньшие деньги, четыре дня в неделю вместо пяти.
Ровно в 11:00 захожу в наш шикарный бизнес–центр, через турникеты и дорогие
бутики иду до офиса, привычно вешаю куртку на вешалку. Проходя мимо аквариума
босса, здороваюсь. «Миша, зайди». Захожу, присаживаюсь.
— Почему ты вчера не вышел на работу?
— Ты не заплатил, а я не вышел. 15 дней задержка, по закону имею право.
— Ты #### кем себя считаешь, ко мне обращаться на ты? Еще раз скажешь мне «ты» — я за себя не отвечаю
— Я не привык обращаться на «вы» к тем, кто обращается ко мне на «ты».
— Я имею право, я твой начальник! Как ты решил со мной разговаривать. Обыграть
меня решил? Теперь ты увидишь мою темную сторону!
— Извини, Борисыч. Когда две недели назад всем выплатили зарплату, а мне нет, ты сказал «завтра». Назавтра — сказал «в понедельник». В понедельник — «я твою зарплату потратил». Задержка на сегодня больше двух недель.
— А за что я тебе должен платить? Где результат? Вот тебе листочек, напиши что ты за это время сделал.
— Чтобы составить отчет, мне нужно заглянуть в историю коммитов. Я решенные
задачи в голове не держу.
— Напиши что сделал.
В комнату зазываются другие сотрудники, «совещание» продолжается.
Действующие лица:
ГБ (главный босс),
Вага (юрист),
Сергей (гений и маг программирования, теневой техдир),
Вадик (бухгалтер),
Рома («техдир» с зарплатой 100 000р)
ГБ произносит перед всеми монолог о том, что я мошенник, что не оправдал ожиданий, несколько раз просит записать ручкой на листке список решенных мной задач. Через некоторое время Рома распечатывает и приносит список тасков из гитлаба. Я от себя на словах добавляю несколько пунктов. Монолог продолжается, изредка вставляет свое веское мнение Сергей:
Я: Я так понимаю, зарплату мне сегодня не дадут?
ГБ: А что ты сделал за эту зарплату?
Сергей: Я много раз проходил мимо по коридору и видел, как он работает — сидит и не нажимает кнопки. Просто сидит перед монитором! Даже не скроллит мышкой!
Я: Сергей, ты со своим зрением вплотную текст на моем мониторе не видишь, а сейчас ты мне говоришь, что видел из коридора (с расстояния 5 метров) скроллю я мышкой или не скроллю.
Сергей: Да, видел!
ГБ: Сдай ключи от ящика с телефонами
(кладу ключи на стол)
ГБ: И пропуск
(кладу на стол пропуск)
Я: Я так понял, работать мы вместе больше не будем?
ГБ: Не будем. Пиши пароль от рабочего компьютера (дает мне листок)
Я: Можем пройти к компьютеру, я удалю своего юзера
ГБ: Ты никуда не идешь. Отсюда тебе одна дорога — в дверь. Пиши пароль
Я: Там моя личная переписка в телеграме, и мне не хочется, чтобы вы ее читали
Сергей (фальцетом): Личная переписка на рабочем компьютере! Это неприемлемо!
ГБ: Ты думаешь я не могу заставить тебя сказать свой пароль?
(глаза у Борисыча наливаются кровью, лицо становится пунцовым. Он встает с места и бьет себя кулаком в ладонь)
Вага: Мишаня, братан, были бы мы сейчас на улице, тут был бы совсем другой разговор, сам понимаешь
ГБ: Пиши пароль!!! (подходит ко мне вплотную, делает замах)
Оценив, чем ситуация может обернуться, записываю пароль на листочек. Бухгалтер Вадик уходит в опенспейс проверять пароль, техдир Рома собирает и приносит мои личные вещи. От волнения путаю цифры, мне приносят клавиатуру — свой пароль я помню мышечной памятью. В итоге пароль подходит. «Совещание» идет уже третий час.
ГБ: Что будем делать с деньгами? С деньгами, которые тебе были выплачены за эти три месяца
Я: Это мои деньги
ГБ: У тебя по договору зарплата 15000р, остальное тебе давали как аванс. Что ты сделал за эти деньги?
Я: Я так понял, свои деньги я сегодня не получу. Могу я уйти?
ГБ: Ты никуда не идешь. Сейчас мы составим акт, определим сумму, которую ты должен. Тогда пойдешь
Вага: Все оформим, получишь на руки свою трудовую. Тебе же нужна пенсия?
Что я делаю в этой компании? Как я умудрился отработать в ней три месяца? Но начнем все с начала.
Часть вторая. Маг и волшебник
Серега с детства звезд не ловил. Рос в провинциальном городке, имел проблемы со зрением. День, в который родители купили ему компьютер, он помнил как сегодня. Какой смысл в этой уличной суете, когда есть целый мир за экраном пучеглазого монитора? В какой–то момент проходить игры стало скучно, почему не начать писать свои? Сергей открыл для себя BASIC, а затем и C/C++. С тех пор жизнь приобрела одно направление — стать программистом. Интернет — еще одна точка невозврата. Сетевые протоколы, Unix–подобные системы с их POSIX — это был новый, необычный мир, в котором можно все!
Переместимся в наши дни. Где мы теперь? Все там же, в небольшом южном городке. Технический прогресс уже здесь, и Серега открыл для себя фриланс. Кто из нас мог похвастать, что фрилансил в 2010–м? Серега мог. Разное напишут о нем современники:
У любого гения найдутся как почитатели, так и ненавистники!
Чем хорош фриланс — это тем, что расширяет круг общения. Заказчик хочет одного — он хочет чуда. «Покажи мне чудо, озолочу», как бы говорит тебе заказчик. И вот зашмыганный еле тянущий системник заменяется на последний геймерский комп. Монитор добавляет в диагонали, а еда становится разнообразней. Из мира собственных фантазий ты приходишь в мир красивых автомобилей и просторных офисов. Хорошее дело — быть магом!
Именно тогда, в годы фриланса, Сергей нашел своего покровителя. Им стал Борисыч — эксцентричный средней руки бизнесмен с неуемной энергией и главное — тягой к чуду. Именно Сергей смог убедить Борисыча, что будущее не за цветметом и даже не за крупным рогатым скотом, а за технологиями. Андроид, гугль–гласс, понимаешь ли ты, в какое время живем, Борисыч? Борисыч понимал. И как тут не понять? Мир вокруг изменился! Мессенджеры, социальные сети. А этот человек знает об этом все! Кажется, нет ничего, в чем бы Серега не разбирался! Именно тогда, в 2014–м, было положено начало прекрасной дружбы.
Прошло пять лет.
Дела у Борисыча шли хорошо, партнерские программы намечались на всех фронтах. Партнеры сами приносили им свои деньги! Прототипы на любой случай — это именно то, что умел Сергей. К тому времени он прекрасно освоил Андроид, и ему не составляло труда выполнить любую прихоть Борисыча. Борисыч, в свою очередь, радовался всему как ребенок. Любая необычная анимация порождала в нем дикий шквал эмоций. «Почему так медленно?» — говорил он, и Серега делал быстрее. «Почему выезжает справа, а не снизу?», и Серега делал все как надо. Они чувствовали себя людьми эпохи возрождения, творцами. В их мире не было спецификаций, скучных бизнес–планов. Было только творчество! Как с такой командой да не победить?
Уже в сентябре они переехали всем офисом в Москву. Взяли с собой только самых ценных — дизайнера Искандера (уроженца пяти республик), Володю–маркетолога, еще нескольких проверенных людей. Московские партнеры сняли огромный офис, Борисыч явно прыгнул выше головы, раздобыв себе такого инвестора. Главное теперь — оправдать ожидания. «Понимаешь ли ты, Сергей, сколь высоки наши ставки?» — спрашивал иногда Борисыч. Сергей понимал.
Уже было готово приложение под Андроид и бэкенд к нему. Компонент, важный для инвестора — это мессенджер с функцией звонков. Совсем недавно Google довел до ума WebRTC, а значит стало легко делать звонки peer–to–peer, совершенно безопасно и не загружая сервер. Каждые 5 секунд приложение шлет пинг на сервер, сигнализируя о том, что пользователь онлайн и ему можно позвонить. Приложение может быть открыто, свернуто, или закрыто окончательно — нужный сервис держит соединение и шлет пинг. В любой момент времени приложение может поднять пользователя по звонку. Такая вроде бы простая и гениальная схема. Но есть одна проблема. iOS.
iOS–устройства не позволяют работать по этой гениальнейшей схеме. Apple принудительно ограничил возможность приложениям делать запросы на сервер. Если пользователь закрывает приложение — оно совершенно ничего не может делать в бэкграунде! Сергей не мог в это поверить. Неужели? Неужели совсем нет никакого, самого маленького способа? Все iOS–разработчики, с которыми они работали, в один голос говорили — нет. Если речь не идет о джейлбрейке, то приложение не может себе позволить делать пинг на сервер, и вообще постоянно делать что–либо продолжительное время. Есть возможность запуска бэкграунд тасков, да и то только во время, которое выберет само устройство (для целей, например, подкачки ленты новостей или почты).
Как? Как он мог так просчитаться? Этого не может быть! Весь его опыт свидетельствовал, что программа может делать что хочет и когда хочет. iOS — это ведь под капотом тот же линукс, нет? Серега читал форумы, смотрел презентации, мануалы, искал, искал… Но ничего не находилось.
«Нам нужен специалист по iOS» — сказал Сергей, входя в кабинет Борисыча
Часть третья, в которой становится все ясно
28 ноября 2019 года, пятница
Эта вакансия висела на хедхантере уже больше месяца. НТЦ «Рост», простой поиск выдавал серьезную организацию с масштабными проектами. Работать в команде разработчиков Астра линукса? Ставка, указанная в объявлении, неуклонно повышалась. Начав свой путь с 200 000 рублей, она поднялась до 250 000, затем до 350 000 рублей в месяц. 350 000 рублей — это потолок для разработчика iOS в Москве. Это не была псевдовакансия в стиле LATOKEN — было видно, что реально нужен специалист для работы, и за работу готовы платить. Никакой информации о проекте по телефону, никакого интервью по скайпу, «мы все расскажем в офисе». Время доехать в офис нашлось не сразу, но вот наконец я здесь. «Верейская плаза» — впечатляющий бизнес–центр со странным расположением и бешеными ценами на парковку.
Приехал, встретили. В комнате уже восседают два больших господина — Серега и Борисыч, и видно что меня заждались. Сразу к делу. Без лишних интродукций переходим к существу проблемы — организация работы приложения в бэкграунде. С ходу предлагаю дать свое экспертное заключение по этому вопросу, три дня на аргументированный отчет. Могу выйти на полную ставку, оклад 300 тысяч рублей в месяц, 250 тысяч на испытательный. Чистыми. Испытательный срок месяц, месяц достаточно, что бы понять, справляемся или нет. Соглашаются. Формат отношений мне неважен, на ваш выбор. Удаленку не рассматривают, согласен на фулл–тайм. SwiftUI не рассматривают, поддержка старых устройств, ну ок. Оказывается есть уже приложение, с которым предстоит работать, кодобаза за 9 месяцев. Разработчик подлец и мошенник, чуть ли не в бегах. Второй разработчик здесь, но он ниже уровнем (в собеседовании не участвовал). Рассказывают про миссию компании, наполеоновские планы. Предлагают выйти на работу завтра. Завтра суббота! На всякий случай объясняю свою позицию насчет переработок — никаких переработок, после работы мне требуется восстановление. До понедельника!
Декабрь 2019 года
В понедельник мне было предоставлено достойно оборудованное рабочее место — новенький аймак, рабочее устройство, все как положено. Подключился к репозиторию, начал копать документацию и практику по поставленной мне задаче, попутно разбирая оставшийся от предшественника код. Посчитав количество строчек в проекте, не считая фреймворков, получил около 70 000 строк путаного, наспех написанного, переписанного и не подчищенного кода, типичный набор фрилансерских фреймворков, затащенных к месту и не к месту. Ну ок, за разгребание такого мне и платят. Работаем!
Помимо меня в iOS отделе уже пару месяцев работает один молодой программист, зовут Денис. Суть приложения я постиг не сразу. Какая–то дикая мешанина из whatsapp, telegram, инстаграма, avito. Нет технического задания, есть только постоянно меняющееся приложение на андроиде. Это — ориентир и абсолютный идеал. К андроиду надлежит приблизить iOS. Его я увидел только через пару недель, когда более–менее разобрался в коде существующего приложения. Первые недели прошли на удивление спокойно — не задавая вопросов по сути приложения, разгребал чужой код, а код оказался достаточно запутанным — со своими собственными кастомными (и при этом недоделанными) модулями, попытками внедрить MVVM, реактивщиной. С ходу получилось найти удалить около 10 000 строчек нерабочего кода и ненужной копипасты. Удалил половину сторибордов — приложение несколько раз за 9 месяцев претерпевало полный редизайн.
Задача, на которую меня нанимали, выполнена, в том виде, что мной объективно доказана ее невыполнимость. Не может приложение все время пинговать свой сервер и быть при этом в аппсторе. Технического задания нет и не предвидится. Соответственно, моя задача — улучшать приложение до уровня того, что есть на андроиде, которое по сути всего лишь mockup. Релиз андроид–приложения откладывался и откладывался. Нам рассказывали про партнерские программы, про то, как важно не ударить в грязь лицом перед партнерами.
Проработав таким образом почти месяц, явно стали заметны странности в компании — я сдал все документы на оформление, но трудовой договор мне не был оформлен. Более того, не был он оформлен и у многих моих коллег. Дизайнер, который приехал из отпуска через неделю после моего прихода, оказался гражданином одной из среднеазиатских республик, и жаловался, что летать ему приходится через Белоруссию, потому что фирма документы не оформляет. Он, как и вся фирма, переехал в Москву с Ростова. Культура работы в фирме предполагала неоплачиваемые переработки по первой прихоти начальника, и все с этим молчаливо соглашались. В выходные выходила половина офиса, даже когда очевидной необходимости в этом не было. Так же странно прошли и новогодние — пока вся страна отдыхала и ела оливье, крепостные крестьяне Борисыча отбывали свою барщину. Я тоже выходил, но только часть из дней, чем вызвал бурю негодования в свой адрес. Выплата зарплаты вовремя, наличкой, прямо из рук начальства
День рожденья Борисыча
О нем все узнали заранее. Обсуждали, что подарить. Квест «Лихие 90–е»? Сумку для ноутбука за 15000р.? Вопрос решил сам именинник. Обычно выдача зарплаты происходит так: заходишь в кабинет, там уже разложены кучки пятитысячных купюр. Берешь свою кучку, расписываешься, уходишь. В этот раз процедура слегка изменена. Берешь кучку денег, расписываешься, а сбоку лежит еще кучка пятитысячных. «Это общак», — говорит Борисыч. «Клади сколько не жалко». Меньше пяти тысяч класть нечего — у всех зарплаты округлены. Кладу пять тысяч. Можно было не класть ничего, наверное. Или нет. Не знаю. В субботу дружно выходим на работу — прессинг по проекту нарастает, планируются очень важные встречи. После работы рассаживаемся по машинам и едем отмечать собственно день рождения. Рублевское шоссе — одно из унылых мест области: никаких красот, сплошные заборы из профлиста. Едем в какой–то дикий лес, странноватый торговый центр, помещение без окон. Вспомнился эпизод из рассказа британского репортера о своем общении с Березовским: «мы встретились с ним в месте в место, как будто взятом из голливудского фильма про русскую мафию». Тут было именно такое место — шторы в пол, яства, самогон, никакого вина. Чисто мужская тусовка. Были поздравления, караоке. Заехали совладельцы — солидные люди. Работники за своими столами, руководство за своим. К вечеру тепленькие покидаем это странное место, послезавтра на работу.
Работа происходит как обычно, без спецификаций. Борисыч ставит локальные цели, мы отчитываемся об исполнении. Начинаются задержки зарплаты. Сначала на пару дней, потом на неделю. Безумная организация процесса, неоплачиваемые переработки и т.п. приводят к тому, что увольняются сначала два дизайнера. Затем, не сработавшись с Серегой, уходит старший андроид разработчик. Потом нам говорят, что задержка из–за того, что мы не доделали продукт (деньги на зарплаты приходят траншами от партнеров). В какой–то момент я узнаю, что всем, кроме меня, зарплату выплатили. Прямо спрашиваю Борисыча об этой ситуации. «Я твои деньги потратил», — виновато говорит Борисыч. Ну ок, следующий транш от партнеров через неделю. Сделаю одолжение. Через неделю моих денег нет. Имею жесткий разговор с Борисычем, он начинает обвинять меня в некомпетентности, и что я своих денег не заработал. Уже 3 марта, и фирма должна мне полный оклад за февраль. Решаю не выходить, пока не выплатят. Приехав за своей зарплатой, получаю вместо нее порцию обвинений и угроз. Меня пытаются заставить подписать какие–то документы, и не выпускают, пока не подпишу. Буквально выламываюсь из офиса, прыгаю через турникеты (мою карточку забрали).
Что мы имеем в итоге
ООО «ОПЕН ПРОДУКТ» (на хедхантере зарегистрированное почему-то как НТЦ Рост), совладельцем которой являются серьезные люди, имеет генеральным директором беспредельщика, мамонта из 90–х. Кинувшего меня на зарплату более, чем за месяц, и запугивающего меня своими связями. Добавившего мой номер в черный список и не отвечающего на звонки. Абсолютно уверенного в своей безнаказанности. Не знаю что тут добавить. Фирма активно ищет разработчиков.
Автор: Михаил Байнов