О работе с мудаками 1

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

VR для нищих

Ходили сегодня в VR-“салон” (не знаю как это правильно назвать). Короче такое место в трц, там сделаны такие “клетки” из дерева 2х2 метра, висят окулусы/htc на подвеске сверху, чтобы провода не путались (на вайфай не хватило денег или не рентабельно), дают в руки контроллеры и вперед. Перед этим я был в VR год назад в квест комнате. Там был сидячий вариант (садишься в кресло и не двигаешься, только вертишь головой и руками), зато с трекингом рук, но даже этот простой квест (чё-то там в космосе, надо короче ядерный реактор спасать от взрыва), оказал на меня неизгладимое впечатление.

О сломанных авто/интеграционных тестах

Люблю тесты. Особенно интеграционные или авто (те которые в браузере кликают). Запустил — и сидишь смотришь как у тебя все красиво и все работает. Одна проблема. Такие тесты всегда сломаны. Всегда, просто всегда. Конечно, поначалу, пока сценариев мало, то все красивое и зелененькое. Но как только продукт становится чуть более сложным чем сайт-визитка с формой контакта, то моментально наступает коллапс. Длительность прохождения сценариев увеличивается экспоненциально, количество мест отказа в распределенной системе и комбинаций сбоев разных подсистем так же растет, в итоге мы имеем по факту тесты которые могут сказать только “не работает вообще ничего” (логин отвалился) или требуют квалифицированного QA для анализа того, что же действительно упало.

О неработающем скраме

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

Еда

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

Фуллстек. Фронтенд для бекендеров 5

Одним из партнёров в нашей аутсорс шлюпке был крутой фуллстек парень. Кодил он на js, был большим любителем ноды и к тому же отлично знал PHP. К нам тогда по наследству приехал среднего размера проект как раз написанный на PHP, к счастью, на Laravel (это такой аналог Rails в мире PHP, в целом довольно годный), и он ним занимался. Сам проект (который кстати живет и здравствует до сих пор, только поддерживаю его уже я) состоит из бекенда для мобил и SPA и админки для управления контентом и прочим.

Релизы в пятницу

Многие склонны привязывать активности к рабочей неделе. Например — часто выходят на новую работу с понедельника а увольняются в пятницу. Агиле спринт часто принято начинать с понедельника и заканчивать в пятницу (через 2 недели или больше — неважно). И еще почему-то очень любят делать релиз в пятницу. Типа всю неделю работали-готовились и вот, как раз к пятнице все готово, отполировано и можно релизиться. Я и сам множество раз делал релизы в пятницу.

Фуллстек. Фронтенд для бекендеров 4

Следующий подход к фуллстечности состоялся аж в 2017 году. Я тогда был уже ко-фаундером аутсорс шлюпки, у нас были фронтендеры, бекендеры, мобильщики и дизайнеры, в общем полный набор. В Киеве почти каждый год проводится благотворительный оффлайн ивент под названием “Кубок Барбоса” — выставка беспородных собак, а моя жена состоит в оргкомитете этого самого кубка. Long story short, в предыдущие года люди (и собаки) регались через гуглоформу, это было неудобно и куча времени тратилась в оффлайне на то чтобы заматчить конкретного человека со строкой в гуглотаблице.

О планах карьерного развития, 365 degree review и прочих способах платить меньше

Не верю ни в какие планы развития, грейды, схемы повышения и прочие штуки которые менеджерье впаривает гребцам. Конечно же я демонстрирую искажение выборки — так как могу говорить только о тех местах, где я работал (или работали мои знакомые) и не знаю о тех местах, где схемы действительно работают, а ведь они наверняка существуют. Тем не менее. Все такие схемы — мучение и для менеджера и для сотрудника. Менеджеру сверху дают указку не повышать зп просто так.

Фуллстек. Фронтенд для бекендеров 3

И немного про стартапы. В 10-11 году мы с женой вложили 10k в зоомагазин (физический) и стали партнёрами в мелком бизнесе (спойлер — партнёрство не зарегистрировали должным образом, бизнес не взлетел, точки закрылись, деньги сгорели). Параллельно с этим планировалось запустить еще и интернет-магазин, и я, как человек, что-то понимающий в разработке, взялся за это дело. Естественно, вместо того, чтобы взять опенкарт/shopify/мадженту/что там еще есть, я решил что б-гомерзким PHP связываться не стоит и нужно потрайхардить.

Инженеры vs программисты vs кодеры

Люто бесит когда вылазит какой-нибудь олдовый PhD совецкой закалки (не в обиду PhD и советскому образованию) и начинает делить нас на “инженеров” и “кодеров” (иногда “программистов”). Дескать, инженеры, в белых халатах, они решают инженерные задачи, проектируют (с подругою в НИИ) значит всякие штуки, а кодеры — обезьяны для набора текста, сидят в подвалах и забивают перфокарты мудростью, спущенной с верхних этажей. Алё, дядя! Ты когда последний раз “кодеру” давал алгоритм в виде блок-схемы на реализацию?

Фуллстек. Фронтенд для бекендеров 2

Тройку лет назад я задауншифтился (из молодого и перспективного менеджера с процентной ставкой томагавком торчащей из головы) и устроился в стартапчик, бэкендером пилить микросервисы на джаве. Кроме девелоперов в команде были дата саенс ребята, которые делали чё-то непонятное — искали источники данных, сваливали их в постгрес, и ковыряли питоном. Задачи у нас особо не пересекались, поэтому я не особо вникал, что там происходило. Каждый месяц у нас была маленькая обще-корпоративная презентация, на которой все хвастались своими достижениями.

Фуллстек. Фронтенд для бекендеров 1

С html, css и js у меня как-то не особо складывалось по жизни, хотя большую её часть я занимался разработкой именно веб-приложений. В 2010 помню была у меня задача рисовать на экране что-то вроде диффа между двумя деревьями, в виде таблицы. Сам дифф я изобразил довольно быстро, но никак не получалось сделать так, чтобы высота пустых ячеек в таблицах была такой же, как и для заполненных. Для рисования таблицы я пользовался не table/tr/td а нашим внутренним фреймворком для рендеринга в html, который добавлял кучу вложенных элементов.

О кабанах. Рефлексия о старом

Во времена моей работы в NC одной из главных головных болей в разработке была производительность. Приложение, которое мы делали, ворочало монстроузными деревьями данных, хранящихся в EAV виде в оракле. Помимо деревьев, сложных самих по себе (хотя если ты 5 лет ворочаешь одну и ту же структуру — то она уже и не кажется особо сложной), там еще было навернуто сотни слоев бизнес логики с возможностью расширения и кастомизации под каждого отдельно взятого заказчика.

О минимально необходимом качестве инструмента 1

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

О рабочем железе 2

В итоге я оттуда ушел, предварительно озвучив руководству отсутствие SSD (в 2015 году!) как одну из важных проблем, и через полгода-год ребятам вроде как начали обновлять машины. Ура. Победа. Спустя 5 лет. Конечно же я понимаю, что не все так просто. Что купить один SSD за 100 баксов вроде как и немного, а купить 300 штук на всю контору — это уже существенные цифры, они в бюджет не закладывались и вообще, вот люди сидят — работают?