Ворчливый IT-дед
1.23K subscribers
283 photos
2 videos
1 file
66 links
Авторская колонка, в которой ворчит Дмитрий Александров (руководитель подразделения разработки в Яндекс Лавке).

По вопросам рекламы ... можете даже не писать, а то развели тут свою коммерцию, честным людям высказаться негде, все завалили рекламой
Download Telegram
[▮▯▯▯▯}

7 ноября выступал на конференции Highload++. Там знакомились и общались с участниками, было интересно!
15 ноября был ведущим митапа Yandex Tech Tour в Казани. Много нетворка, классные гости, крутая площадка.
20 ноября модерировал один из столов на сходке TeamLead Club. Мощные дискуссии, интересные собеседники, камерная атмосфера.
22 ноября участвовал в Yandex Tech Tour уже в Нижнем Новгороде. Вел экспертные консультации, много нетворка и крутых знакомств.
26 ноября помогал провести тренинг внутри компании. Тема сложная, но к ней точно есть интерес и спрос на обсуждение.

Tech Tour, кстати, удался на славу. Были интересные доклады, ребята очень круто подготовились. Порадовала аудитория - пришли мощные спецы, задавали грамотные вопросы, и в общении в кулуарах поднимали интересные темы. Любые митапы - всегда здорово, но в этот раз все прошло просто замечательно. Команда организаторов (деврелы, рекрутмент, ивент-агентство) - просто волшебники, спасибо им! Это третий такой ежегодный тур Городских сервисов Яндекса по разным городам, и с каждым годом получается все лучше.

Это я все к чему - и тут я выяснил, что social battery - это не миф. Она и вправду может сесть. Особенно если добавить туда 4х2 перелета за месяц, две рабочие субботы и пяток сложных собеседований (собесы тоже тратят социальную батарейку - нужно быть приветливым и тактичным вне зависимости от контекста и своего состояния, нужно быстро найти общий язык с кандидатом и подстроиться под его стиль общения, нужно все записывать и при этом осмысленно обсуждать предмет разговора - когнитивная нагрузка весьма существенная).

В общем, при всей моей любви к митапам, нетворкингу и новым знакомствам, не стоит их концентрировать в пределах месяца в таких количествах. Либо, как посоветовала мне жена, нужно обзавестись social power-bank. Вот только где такой взять - она не сказала. Может, вы знаете?
🔥2113👍2
304 Not Modified

Новостей по проекту #лёха_строит_бэху на этот раз мало.

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

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

И еще заказал новые хромированные ноздри. Потому что для бмв это святое) Попутно впервые воспользовался авито не как доской объявлений (когда звонишь продавцу и договариваешься о доставке), а как маркетплейсом (тыц в корзину, оформил, оплатил, получил). Посмотрим как пройдет.
👍4
Сферический код в вакууме

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

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

Но на днях я познакомился с одним человеком, у которого специфика работы не менее занятная. Его код работает ... в космосе! Он пишет ПО для спутников связи. Мне тут же стало интересно - какие ограничения накладывает эта специфика, в сравнении с обычными требованиями, когда код работает у тебя "в руках". Основной подход там - это отказоустойчивость, резервирование и способность к самовосстановлению. Потому что ты не можешь удаленно подключиться и что-то перезапустить (да, там нет kvm/ipmi). То есть система должна сама себя восстанавливать при любых сбоях. И рекомендуется не забывать оборачивать код в трай-кетч :). Уверен, это весьма интересно.

А в каких экстремальных средах работает ваш код?

П.С. А познакомился я с этим человеком через штуку, которая называется Сеньёрный разговор. И мне разрешили про нее вам рассказать. Вообще она пока в глубоком пилоте, мы ее анонсировали на нашем Yandex Tech Tour в Казани и Нижнем. Но вы (по секрету) сможете поучаствовать и поделиться фидбеком. Пилот продлится до 22 декабря. Также оговорюсь, что пока оно рассчитано только на разработчиков. Механика простая: идете в бота https://t.me/seniortalks_bot, там отвечаете на пару вопросов о себе, бот ищет вам собеседников. Выбираете собеседника по душе, выбираете слот, созваниваемся по зуму. Среди возможных собеседников - эксперты Городских сервисов Яндекса (разработчики, руководители, но и не только), включая меня. На встречах можно обсудить технологии, конкретные кейсы и обменяться опытом - в целом тематика общения не сильно ограничена. Заходите, поболтаем!
1575
Восьмой класс, вторая четверть

Одна из способностей, которыми должен обладать начитанный и эрудированный человек - ёмко излагать свои мысли. В том числе с использованием наглядных метафор. В том числе с применением знаний из школьной программы. Плохая метафора - как сыр в поезде, не облегчает понимание. А хорошая должна за счет пространственного воображения собеседника помочь осознать суть дела.

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

Я аж сначала не понял, что он хочет сказать. А потом как понял! Для тех, у кого школьная програма по химии за 8 класс уже слегка заплыла рутинными эксельками, напомню: валентностью называют способность химического элемента образовывать связи с другими атомами. Она определяется числом электронов на внешнем энергетическом уровне. Чем больше у атома «свободных» электронов или незанятых мест для них, тем больше связей он может образовать. Думал ли я, что это знание поможет мне в работе? Пожалуй, нет. Я слово-то это, скорее всего, со школы не слышал.

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

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

В общем, почему-то мне этот метафорический термин так понравился, что я решил им поделиться с вами. А заодно чуть освежить знания по химии.
23🔥11👍2
str = 'Quoliti Ashurenes'

def test_str_correct():
assert len(str) == 17
assert str.count('s') == 2
wrds = str.split()
assert wrds[0][0]+wrds[1][0] == 'QA'
print('PASS\n')


И ведь тесты пройдут! Но что-то тут не так... Давайте разбираться.
Начну с моего любимого анекдота про тестирование. Англоязычную версию считаю первоисточником, поэтому привожу так:

A QA engineer walks into a bar.
Orders a beer.
Orders 0 beers.
Orders 99999999999 beers.
Orders a lizard.
Orders -1 beers.
Orders a ueicbksjdhd.
First real customer walks in and asks where the bathroom is.
The bar bursts into flames, killing everyone.

(Фьюить-ха!)
Так вот.
Есть тестировщики, которые вручную тестируют сервис по тесткейсам. Иногда - без тесткейсов, т.н. исследовательское тестирование.
Есть тестировщики, которые запускают автотесты и интерпретируют результаты. Или сами пишут автотесты, почему бы и нет.
И все они - молодцы и умнички, если того требует конъюнктура момента, команда, продукт, должностные инструкции.

Но есть еще QA-инженеры. Это уже немного другая лига. Что отличает хорошего куа-инженера?
- ориентируется в своем продукте как рыба в воде и точно знает, как продукт должен себя вести, и почему так;
- формирует тест-кейсы, притом на раннем этапе проектирования фичи (подход 3-амиго ftw!);
- участвует в поддержке продукта (л3-л4), чтобы хорошо понимать потребности пользователей;
- знает, что и как нужно проверить, чтобы на самом деле убедиться, что продукт работает как надо (а не как в примерах выше);
- умеет подбирать оптимальный метод проверки в соответствии с пирамидой тестирования (юниты, авто, интеграционные, е2е, ui-тесты);
- заинтересованно участвует в максимальной автоматизации процесса, но понимает ее границы применимости.

Еще важно понимать, что QA - quality assurance - это не всегда должность. Это, скорее, роль. И примерять эту роль на себя должен отнюдь не только тестировщик - хочется, чтобы все участники процесса, включая разработчиков, тимлида и продакта, тоже были немного QA. Потому что только совместными усилиями можно ашшурить ту самую кволити, а мы, в конце концов, одно дело делаем.

Но если и есть выделенные люди на задачи QA - они должны не просто тестировать, а двигать команду, продукт и процессы в сторону обеспечения качества. Что бы это ни значило (а значит оно в разных командах разное). Даже если для этого придется внедрять ИИ. Всем кволити!
8🔥7👍5😁3
"Ура, склад!" (с) Шарик

Продолжаем изучать Лавку изнутри. Недавно рассказывал про сборку заказов на дарксторе. Неочевидно, но сборка заказов - лишь 1 из 72 типов задач, которые выполняются на дарке (число не выдумано, у меня и табличка есть!). Есть еще тьма вещей, от приемки товара и размещения (про это немного упоминал тут), до переборки яиц и фасовки бананов. Большая часть задач выполняется через приложение Полка, которое разрабатывает моя команда.

Но кроме линейного складского персонала (кладовщиков) в каждой лавке есть еще старший смены, свой директор и его зам (на фото - как раз их рабочее место в том дарке, где я был), а также супервайзеры на несколько лавок. А в офисе есть еще толпа людей, в обязанности которых входит операционное управление лавками и работа с их показателями. Так вот для всех них у нас есть еще один продукт - админка WMS (warehouse management system).

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

И со всей этой фукциональностью работают каждый день тысячи человек. Тут важно отметить, что это не просто пользователи, которым хочется дать удобный продукт. Это люди, от эффективности работы которых напрямую зависит успех компании. Операционный продукт имеет огромное плечо влияния на бизнес-показатели. Там ведь и проверка качества, и обработка обращений, аудит, инвентаризация, маркировка, ТМЦ, акты, составление графиков. И все это нужно оптимизировать и автоматизировать (где-то даже с применением ИИ, что уж там). В общем, работы - непочатый край.

Я, когда впервые открыл этот интерфейс, был обескуражен обилием возможностей и контроля. А самое удивительное, что оно супер-удобное и работает очень даже шустро. Несмотря на то, что это монолит на питоне. Кстати, его бы-таки распилить. Так что если вы любите жесткое техно и умеете в питон/голанг, мы вас ждем тут (всех остальных крутых разработчиков, аналитиков и мл-щиков тоже ждем, вы гляньте там, много вкусного).
👍11😁4
Buckets Empire

Для продолжения #лёха_строит_бэху нужно, чтобы бэха вернулась из сервиса по слесарке. Но и без авто-контента я не оставлю ни Лёху, ни канал.

Выходные без тачек - пустая трата времени. Поэтому мы отправились в музей старых японских ведер. Точнее, в два его филиала, в Кузьминках и в Орехово. Там в сумме 200+ тачек из 70-х, 80-х и 90-х. Те самые теплые-ламповые машины, от которых в душе что-то шевелится, в отличие от всего современного автопрома. Царство велюра и слепых фар. Антураж музея дополнен старыми японскими магнитофонами и музыкой из форсажа и нид-фор-спида.

И как не упомянуть олдовый игровой автомат, на котором Леха посоревновался в скорости доставки тофу на хачироку!

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

На обратном пути заехали в магазин Форвард Авто. Мы с Лёхой уже сколько лет болеем за их команду в дрифте - и ни разу не были в их магазине, надо было исправлять. Увы, восхищаться мы к тому моменту уже устали, а все слюни выпустили в музее. Поэтому в Форварде взяли сыну кепку и модельку, а на около-стоковую е30 у них, ожидаемо, ничего не было.
93👍1
К ветеранам C++

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

Есть же еще userver - дружелюбный опен-сорсный фреймворк для С++, родившийся в Городских сервисах Яндекса. Штука классная - снижает порог входа, снимает много болей, повышает продуктивность разработки. Но есть нюанс.

Честно говоря, сам я перестал писать на плюсах еще во временя 17го стандарта, и новинок 21 в глаза не видел. Но если вы - практикующий плюсарь и следите за трендами - рекомендую заскочить на встречу российской рабочей группы по стандартизации С++ 15 декабря в 18:30 (Москва + онлайн) - это «голос» русскоговорящих разработчиков в вопросах совершенствования стандарта языка. Встречу проведёт тот самый Антон Полухин, член российской рабочей группы по стандартизации С++ и руководитель группы общих компонент в Техплатформе Городских сервисов Яндекса. Будут и ответы на вопросы о стандарте С++, и афтепати.

А если вы уже достаточно суровы и бородаты, у нас и вакансии есть - советую присмотреться!
🔥8321
Ложь и провокация

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

Сын как раз на неделе с таким столкнулся - искал информацию для доклада в школе. Начитался он всякого и мне рассказывает какую-то чушь. Пришлось тоже погрузиться немного в тему и найти достоверные источники. Вот в наше время для подготовки докладов я использовал бумажные энциклопедии. У меня была целая полка, книг 25 издательства аванта+, энциклопедий по всем наукам и предметам.

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

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

Проверяйте свои источники и не верьте интернетам на слово.
💯238😁31