Обновить
64K+
4,39
Оценка работодателя
440,32
Рейтинг
198 866
Подписчики
Сначала показывать

Масштабируй! Почему Cassandra 5 стала спасением, а FoundationDB прилегла в чулан

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели12K

Привет, Хабр! Меня зовут Роман Ананьев из команды DBA в Авито. В этой статье я расскажу о поиске альтернативы для многошардовых инсталляций MongoDB. Основная цель исследования — найти базу данных с поддержкой автошардирования, которая упростит эксплуатацию и лучше утилизирует ресурсы.

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

Это текст не про то, что MongoDB плохая, она — прекрасный стандарт рынка, в топ-5 движков БД. Я расскажу про то, что происходит, когда у стандартной технологии заканчивается запас прочности на нужном масштабе, и про то, как мы в Авито перебрали множество NoSQL и NewSQL кандидатов, чтобы найти одного подходящего.

В статье я разберу результаты технического исследования, проведённого командой DBA. Мы сравнили производительность, утилизацию ресурсов и архитектурные грабли Cassandra 5, FoundationDB и других БД. Также объясню, почему погоня за низкой latency в случае с FDB обернулась трёхкратным перерасходом дискового пространства.

Читать далее

От REST к MCP: как LLM меняют принципы проектирования API и архитектуры систем. Часть вторая

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.2K

Привет, Хабр! На связи Дмитрий Бондарев, я backend-разработчик Авито — занимаюсь проектами на стыке разработки и машинного обучения. В первой части этого материала мы обратились к истокам API и существующим ограничениям интерфейса в работе с агентами.

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

Читать далее

От REST к MCP: как LLM меняют принципы проектирования API и архитектуры систем. Часть первая

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.9K

Привет, Хабр! Говорит AvitoTech. Меня зовут Дмитрий Бондарев, я backend-разработчик, в Авито занимаюсь проектами на стыке разработки и машинного обучения. 

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

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

Читать далее

Узкое место решает всё: как теория ограничений помогает улучшать сложные системы

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели11K

Привет, Хабр! Меня зовут Лера, я технический писатель в Авито. Сегодня в статье хочу рассказать о книге, которая около 40 лет остаётся настольной для руководителей, предпринимателей и менеджеров по всему миру. Речь пойдет о книге «Цель» Элияху Голдратта

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

И хотя действие книги происходит на производстве в 1980-х годах, её проблемы удивительно актуальны для современной IT-индустрии: перегруженные команды, бесконечные очереди задач, локальная оптимизация метрик, зависимости между командами и попытки ускорить всё одновременно. Как со всем справиться? Надеюсь, статья приблизит вас к ответу на этот вопрос. 

Элияху Голдратт — израильский физик, бизнес-консультант и один из самых влиятельных теоретиков менеджмента XX века. Он разработал теорию ограничений — подход к управлению сложными системами, основанный на поиске и последовательном устранении их главных ограничений. Сегодня принципы теории ограничений применяют не только в производстве, но и в логистике, управлении проектами, разработке программного обеспечения и продуктовых командах.

Читать далее

ML для больших компаний: от DevBox до платформы на тысячу пользователей

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели9.1K

Привет, Хабр! Меня зовут Антон Алексеев, я MLOps-инженер в Авито

В статье рассказываю, как мы строим ML-платформу на базе Kubeflow. От первых DevBox-решений мы пришли к набору небольших юнит-платформ, которые разные команды развивали под свои бизнес-задачи и связывали между собой. Со временем возникла задача объединить эти решения в единую платформу. Поделюсь, как мы это делали, с какими проблемами столкнулись и как их решили. И немного о том, как должны выглядеть агентские платформы, когда за управление инфраструктурой отвечают агенты. 

Статья будет полезна не только тем, кто разрабатывает и использует платформы в больших компаниях, но и тем, кто работает на DevBox-машинах или небольших платформах для юнит-команд от 10 до 100 человек.

Читать далее

Процессы vs инструменты: как Авито Sales строит QA с нулевыми сдвигами сроков

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели9.9K

Привет, Хабр! На связи Екатерина Серикова и Глеб Дмитриев, мы QA-инженеры в команде Авито Sales. В этой статье мы расскажем, как выстроили процесс обеспечения качества в Распродаже, где сроки нельзя сдвигать, а нагрузка на корчасть почти 2 млн RPM, а цена бага очень высока.

Это не история про «идеальный процесс». Она скорее про рабочую систему, которая помогает не сгореть команде и не терять качество, когда QA в проекте один, а разработчиков восемь.

Распродажа на Авито, где 120 млн пользователей, — это всегда высоконагруженные сценарии без права на ошибку. Поэтому в статье мы объясняем, почему важно подключать QA ещё на этапе идеи, а не тестирования. Перекладывание какой части задач на разработку только ускоряет общий процесс? Что можно скормить ИИ, а что следует выполнять самим? Для чего разделять Seller и Buyer контуры?

Здесь всё на личном опыте, по делу и понятно.

Читать далее

Switchback-тесты: инфраструктура для экспериментов в условиях сетевых эффектов

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели11K

Меня зовут Даниил Никольский, я бэкенд-инженер команды Trisigma. В создании статьи участвовали Искандер Мирмахмадов, руководитель продуктового направления, и Александр Кузнецов, старший аналитик. В этой статье я расскажу про Switchback-эксперименты, рассмотрим как они устроены, почему для него не подходит обычный t-тест, и какая инфраструктура нужна, чтобы проводить такие эксперименты в промышленном масштабе.

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

Читать далее

Войны фреймворков, неуправляемые разработчики и крэйзи-инопланетяне: разговор с техлидом Авито

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели11K

Всем привет! 

Меня зовут Наташа Болдырева, я технический журналист в Авито. Как-то я наткнулась подкаст «Мы обречены» — его ведут программист Фил Ранжин и журналист Тёма Малышев. Один из выпусков меня особенно заинтересовал — ребята пригласили в гости нашего тимлида Машу Кондрашину. Они обсуждали важные темы: как изменился рынок за десять лет, как работает корректирующий фидбэк и почему «бутерброд» давно не работает, зачем нужны матрицы компетенций и что реально происходит, когда команда остаётся без лида на год. А ещё были всякие интересности — например, что делать, если в команде завёлся вредитель-инопланетянин. 

Я не смогу передать всё содержание разговора, но постараюсь вынести для вас самое главное — где-то спорное, местами смешное, но очень честное. Если хотите послушать и узнать больше, — вот тг-канал подкаста. Там есть ссылки на беседу на разных платформах. 

Читать далее

QA на уровне платформы: как мы строили систему качества

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели11K

Привет! Меня зовут Павел Игнатё, я QA–инженер в платформенной команде Авито. Я занимаюсь развитием и поддержанием качества Backoffice as a Service (BaaS) — платформы, на которой строятся многие внутренние инструменты нашей компании. Моя работа — находить риски там, где их никто не ждёт, и превращать бесконечное ручное регрессионное тестирование в чёткие и стабильные автотесты.

Часто статьи про тестирование похожи на справочники: сложные термины, от которых закладывает уши. Но сегодня мы попробуем объяснить сложные вещи на примере обычного офиса. 

Эта статья не про то, как «написать побольше автотестов». И не про то, как заменить ручное тестирование автоматизацией. Она про другой вопрос: как тестировать платформу, от которой зависят другие продукты.

Читать далее

FIFO на миллионах строк: как подружить бонусы, SQL и асимметричный N×M-граф

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели13K

Всем привет! Меня зовут Иван Привалов, я разработчик в команде BI Авито Финтеха и в этой статье расскажу, как мы сделали FIFO-сопоставление между N начислений и M списаний для бонусов. Заодно покажу подвох, без которого SQL быстро превращался в тыкву.

Статья будет полезна аналитикам и data-инженерам уровней мидл+, которые работают с финансовыми данными в Trino, Presto и Spark SQL.

Читать далее

Почему A/B-тест не подходит для оценки ранжирования и что с этим делать

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели13K

Всем привет! Меня зовут Вардан Манучарян, я аналитик в команде Монетизации Авито, и мы отвечаем за механику алгоритмов продвижения, то есть управляем порядком, в котором пользователи видят объявления. Для этого нам нужно отслеживать, как изменения в ранжировании влияют на бизнес и покупателей. В этой статье расскажу про интерливинг, — метод, который помогает корректно проводить A/B-тесты с изменением ранжирования. Статья будет интересна аналитикам, которые проводят много A/B-тестов.

Читать далее

Маленькая выборка, большая дисперсия: как мы собирали A/B-группы генетическим алгоритмом

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.8K

Привет, Хабр! На связи Анастасия Шулакова и Георгий Геймбух, аналитики поддержки Авито. Мы помогаем командам развивать внутренние инструменты для специалистов так, чтобы пользователи получали ответы быстрее, а поддержка оставалась управляемой по качеству и стоимости.

Недавно мы переработали один из самых нагруженных блоков админки — страницы пользователя и объявления, с которыми ежедневно работают поддержка, модерация и другие линии. Это был не косметический редизайн, а замена ключевого операционного контура. И главный вопрос, на который нужно было ответить перед решением о масштабировании: не ухудшает ли новый интерфейс AHT (среднее время обработки обращения)  — нашу ключевую метрику эффективности?

По задумке это выглядит как классическая задача для A/B-теста. Но в реальности дизайн сложнее: единица воздействия здесь — специалист, а не обращение, выборка маленькая, дисперсия большая, и обычный рандомный сплит даёт слишком высокий MDE.
В этой статье расскажем, как мы собирали группы генетическим алгоритмом, балансировали ковариаты, проверяли баланс после старта и считали итоговый эффект через CUPED — этот метод доступен из коробки в нашей внутренней A/B-платформе Trisigma, поэтому нам не пришлось писать расчёт с нуля, и мы сосредоточились на дизайне теста и выборе ковариат.

Читать далее

Как мы получили p-value < 0.001 на 10 наблюдениях в группе: ультимативный гайд по A/B на малых выборках

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели15K

Всем привет! Я Андрей Романов, тимлид команды аналитики Sales Tech в Авито, а также преподаватель и ментор по А/B-тестированию. 

В последние годы я регулярно работаю с A/B-тестами на малых выборках: когда в группе не тысячи пользователей, а 10–40 менеджеров, регионов или других экспериментальных единиц. На этом опыте я собрал практический гайд: что можно сделать до запуска, во время дизайна и после эксперимента, чтобы выжать максимум из ограниченных данных.

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

В материале дам 26 шагов, которые помогут выжать максимум чувствительности и валидности из ограниченной выборки. Хотя фокус — на A/B-тестах с малыми выборками, 90% подходов применимы и к стандартным экспериментам.

Читать далее

Моделирование угроз для тех, у кого лапки (и ручки)

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели12K

Привет, Хабр! Меня зовут Сергей Зиновьев, я бизнес-партнёр по информационной безопасности в Авито. Если какие-то сканы на безопасность кода легко автоматизировать, то с уязвимостями на этапе проектирования всё обстоит сложнее. Для превентивного выявления подобных проблем организации и сообщества вроде NIST и OWASP рекомендуют использовать моделирование угроз в рамках своих гайдлайнов и фреймворков. В нашей практике это довольно творческий процесс, требующий понимания как продуктовой, так и технической стороны.

В Авито мы масштабировали этот процесс на 2500+ инженеров, и сегодня я расскажу, как мы к этому пришли — с какими сложностями столкнулись, какой фреймворк выработали и как адаптировали его под реальные потребности продуктовых команд.

Читать далее

Талант, удача или среда: что на самом деле влияет на успех

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели14K

Привет! Я Лера, технический писатель в Авито.

Сегодня хочу поговорить об успехе — в работе, учёбе, карьере, финансах, отношениях и вообще в любом деле, где одни почему-то быстро вырываются вперёд, а другие годами стараются, но остаются на месте.

Кажется, каждый из нас хотя бы раз замечал: некоторым людям будто всё даётся легче. Кто-то с детства «схватывает на лету», кто-то быстрее растёт в профессии, кто-то оказывается в нужной компании, у нужного наставника или в правильный момент попадает в быстро растущую индустрию. Мы часто объясняем это талантом: мол, человеку просто повезло родиться способным.

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

Но так ли всё просто? Откуда на самом деле берётся успех — из таланта, труда, удачи, среды или всего сразу?

Читать далее

Баги, которые нас воспитали: инженерные истории с Go Loto

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели13K

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

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

Спойлер: все выжили. Но стали другими людьми.

Читать далее

Паттерны организационного дизайна: практическое руководство

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели11K

Меня зовут Игорь Гранщиков, я руководитель разработки Авито Недвижимости. Эта статья о паттернах организационного дизайна основана на моём докладе на Saint TeamLead Conf 2025. Там, где что-то взято из книги, фреймворка или методологии, будут явные ссылки. Всё остальное — моё личное мнение, основанное на опыте. Каждый из этих паттернов я так или иначе пробовал в разное время и в разных компаниях: что-то приживалось надолго, а от чего-то приходилось довольно быстро отказываться.

Читать далее

Performance Review — прозрачная методика роста в компании или фикция?

Время на прочтение8 мин
Охват и читатели12K

Привет! Меня зовут Алина Бабенко, я тимлид команды Auction Efficiency в Авито. Под моим руководством 12 DS, и мы отвечаем за то, чтобы в поиске и рекомендациях Авито корректно учитывались разные целевые действия продавцов — клики, сделки, звонки. Этой зимой я, как менеджер, провела четвёртый цикл перформанс ревью и решила рассказать, как устроен этот процесс. Статья будет интересна DS и ML-инженерам, а также DS-менеджерам и лидам.

Читать далее

Как я сделал на Flutter игру для разработчиков. Часть 2

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.8K

Всем привет! Меня зовут Амир Утеуов, я ML-инженер из Авито.

В первой части статьи я поделился тем, что пришлось сделать и учесть для создания собственной игры для разработчиков — DevRush. Суть игры заключается в том, что нужно на время находить иконки языков программирования. Я прошёл путь от создания геймплея и векторной анимации до сборки под Android и iOS. Главная неожиданность ждала в App Store — модераторы отклонили игру из-за иконки Android, посчитав это рекламой конкурента. Но по итогу Авито взял мою игру на стенд Code Fest 2025.

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

Читать далее

Как я сделал на Flutter игру для разработчиков. Часть 1

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели11K

Всем привет! Меня зовут Амир Утеуов — я ML-инженер из Авито.

В этой статье поделюсь своей историей создания мобильной игры DevRush, пет-проекта, который перерос в игру на стенде IT-конференции CodeFest 2025.

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

Статью разделим на две части: в первой расскажу как создавал первую версию игры и с какими трудностями столкнулся, а во второй — как мы готовили игру к конференции.


Читать далее
1
23 ...

Информация

Сайт
avito.tech
Дата регистрации
Дата основания
2007
Численность
5 001–10 000 человек
Местоположение
Россия
Представитель
vvroschin