AvitoTech
19.5K subscribers
1.66K photos
61 videos
1.56K links
Рассказываем, что у Авито под капотом, делимся инженерной экспертизой и зовём на митапы.

По всем вопросам: @direct_avitotech

Сайт: https://avito.tech
Хабр: habr.com/ru/company/avito
Гитхаб: github.com/avito-tech

Регистрация в РКН: https://clc.to/FOxC1A
Download Telegram
🚀 Команда DevCrowd поделилась итогами большого исследования среди Go-разработчиков. Они опросили 560 инженеров и узнали:

➡️ какие сервисы чаще всего пишут на Go;
➡️ какие технологии используют и скиллы хотят прокачать;
➡️ где узнают о важных обновлениях и кейсах.

А также выяснили, какие компании разработчики считают самыми привлекательными для работы. В этом вопросе оценивали команды по 17 критериям. Среди которых была команда, dev-культура, продукт и сами задачи. И Авито выбрали 60,5% инженеров!

Спасибо всем, кто отметил нас! Это вдохновляет ❤️

Посмотреть все результаты исследования можно тут

#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
23🔥12👍91
Зачем мы пошли в разработку своих решений на базе low-сode & Backend-Driven UI

Представим, что перед нами стоит максимально тривиальная задача — поменять в карточке объявлений цену, выделив ее ярким фоном, и название товара.

Обновления необходимо внести на всех трех платформах: Web, Android и iOS. Следовательно, задача должна пройти полный цикл разработки — от постановки в бэклог до финального релиза. И вот тут возникает проблема. Во-первых, команды могут быть заняты решением более приоритетных задач. Во-вторых, разные платформы обновляются по-разному. И, как итог, time to market даже для такого простого изменения составит существенную величину.

📌Решить это можно через переход на WebView или использование кроссплатформенных инструментов, таких как Flutter. Однако мы остановились на подходе Backend-Driven UI. Что из этого вышло рассказал в новой статье Михаил Шевченко, архитектор и разработчик backend low-code-платформы Bricks в Авито.

#backend_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥117👍4🤩42
Сегодня вместо детективов читаем нашу новую статью ⚡️

Иван Кравцов, инженер в команде автоматической модерации Авито, поделился кейсом с дебагом проблем С-шного уровня в python. Началось всё с пары проблемных сообщений в день (из 800-1500rps 😀), которые иногда выводили из строя группы подов, а иногда обрабатывались как ни в чём не бывало.

К чему привело небольшое расследование и как была решена проблема, читаем тут.

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍108🔥41
💚 В нашем playbook — 8 разделов

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

⬆️ И начнём с принципов работы с данными. Как храним, кэшируем и пишем миграции для баз даных — рассказали в карточках. А в комментариях рассказывайте, как работа с данными устроена у вас ⬇️

#dba #backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍208
Давайте признаем факт: системы всегда ломаются, сами или с чьей-то помощью. И это нормально 😀

Но мы можем влиять на масштаб этих ошибок и сбоев!

⬆️ В карточках рассказали подробнее о том, что такое Avito Fallback и зачем мы решили закэшировать весь Авито.

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍76
Увеличение количества релизов в production в 2 раза, сокращение онбординга новых инженеров до 1 дня, снижение рутинных операций на 60%. Не волшебные цифры, а результаты внедрения Avito Plato 🔥

⬆️ Что она умеет делать и зачем нужна, рассказали в карточках. А узнать больше о платформе и оставить заявку на ранний доступ можно прямо тут!

#plato #backend #tl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤‍🔥86
Бинго? Бинго!

Перед тем как вы отправитесь на выходные, давайте сыграем.

Правила просты:
1️⃣ сохраняйте/делайте скрин картинки из поста;
2️⃣ отмечайте клеточки с вашей разработческой жизой;
3️⃣ скидывайте в комментарии итог.

😀 Интересно, соберёт ли кто-то все ячейки?

#frontend #backend #tl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥24😍13
Вторая волна набора на оплачиваемую стажировку для разработчиков ⬇️

Ищем новых героев в разные команды по направлениям Backend, Frontend и QA!

Условия прежние:
🕚 Подробная обратная связь от наставника;
🕚 Комьюнити стажёров;
🕚 Любой удобный формат работы;
🕚 Занятость от 25 часов в неделю;
🕚 Работа над реальными задачами бизнеса вместе с нашей командой;
🕚 Возможность остаться в компании после стажировки.

Уже ждём ваши заявки по ссылке до 10 апреля!

😀 За шер этого поста тем, кто давно ждал возможность попасть к нам в команду, +1 в ИТ-карму и никаких пятничных деплоев весь год!

#frontend #backend #qa
Please open Telegram to view this post
VIEW IN TELEGRAM
23🔥13👍8
Секунду… Это что, новый курс от команды разработчиков? 🚀

Так точно! Наш бэкенд-инженер Юра Афанасьев создал обучающий курс по паттернам и практикам написания кода. В нём он разбирает порождающие, структурные и поведенческие паттерны, историю их создания и методы в основе.

Ещё из плюсов: простая и понятная подача, короткие и насыщенные информацией материалы, курс подходит как начинающим инженерам, так и миддлам.

Кратко о Юре:

⚡️ Больше 15 лет в коммерческой разработке;
⚡️ Больше 6 лет в Авито (сейчас в департаменте монетизации);
⚡️ 12 лет писал на Php и 4 — на Golang;
⚡️ Организатор внутреннего коммьюнити в Авито.

В первой части — про историю создания паттернов. Выбирайте удобный формат и смотрите:

📺 YouTube
🔵 VK Видео
💻 Rutube

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58🔥34🎉13
Продолжаем разбираться в паттернах! На очереди — порождающие 🚀

И тут сразу три выпуска:

1️⃣В первой части рассмотрим сразу два Builder (Строитель) и Factory Method (Фабричный метод) — паттерны, задача которых скрывать детали создания объектов в абстракциях;

2️⃣Во второй разберём Abstract Factory (Абстрактная фабрика) — паттерн, который создаёт взаимозаменяемые группы объектов и позволяет выбирать именно ту, которая подходит в конкретном приложении;

3️⃣В третьей — сосредоточимся на Prototype (Прототип) и Singleton (Одиночка). Один позволяет создавать клон существующего объекта, а другой славится как антипаттерн.

Смотреть все три в удобном формате можно прямо на сайте курса.

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥258❤‍🔥6👍1
🔥 Не ждали? А у нас скоро Weekend Offer для Go-разработчиков и тех, кто давно хотел перейти на этот язык!

Куда набираем?
🕚 В команды технической платформы — для разработки инженерных инструментов (PaaS, IaaS, DBaaS и др.);
🕚 В горизонтальные — для регулирования функционала объявлений во всём Авито;
🕚 В вертикальные — для создания уникальных фич разных категорий объявлений.

🔍 Кого ищем?
Backend-разработчиков, пишущих на Go от 3 лет с опытом разработки высоконагруженных систем (уровень middle и выше). Если пишите на PHP, С#, Python, Java, С++ или NodeJS от 5 лет и хотите перейти на Go — тоже подходит!

Что нужно делать?
Оставить заявку до 23 апреля вот тут.
Или переслать пост другу, которому это может быть интересно 🚀

#backend #go
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥8😱5
На курсе по паттернам выложили новые выпуски 💻

В этот раз мы будем изучать структурные паттерны, а именно:

🔍 В пятой части поговорим про Adapter и Composite. Адаптер позволяет использовать классы с разными интерфейсами совместно, а Компоновщик — единообразно трактовать индивидуальные и составные объекты;

🔍 В шестой обсудим Decorator и Facade. Декоратор, мощный паттерн, используется там, где привычное наследование классов не справляется. Фасад же, простой в использовании и понимании, определяет интерфейс более высокого уровня, который упрощает использование подсистемы;

🔍 В седьмой части изучим Bridge, Proxy и Flyweight. Мост позволяет классам и абстракциям развиваться независимо, Заместитель является суррогатом другого объекта, контролирующего доступ к нему, а Приспособленец разделяет очень мелкие объекты без недопустимо высоких издержек.

Все 3 выпуска уже можно посмотреть на сайте курса 📌

В комментариях поделитесь, о каком из паттернов совсем не слышали раньше.

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍146🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Обсудим архитектуру микросервисов на Go на Avito Go Drinkup #2 уже 23 апреля!

А ещё поговорим о лучших практиках, инструментах, инженерной культуре и карьерном пути backend-разработчика. Так что ждём в офисе на Лесной и тех, кто пишет на Go, и тех, кто только интересуется языком 🚀

Если надумали, клик на регистрацию — ещё осталось несколько мест!

#go #backend
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥8👍5
Last call для тех, кто хотел на Weekend Offer 26-27 апреля!

Напомним, что ищем Go-разработчиков и тех, кто давно хотел перейти на язык:

➡️ В команды технической платформы — для разработки инженерных инструментов (PaaS, IaaS, DBaaS и др.);
➡️ В горизонтальные — для регулирования функционала объявлений во всём Авито;
➡️ В вертикальные — для создания уникальных фич разных категорий объявлений.

Заявки принимаем до 23 апреля 🔥
Подробности и требования ищите по ссылке.

#backend #go
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥76👍6
Соскучились по паттернам? У нас тут как раз есть новые выпуски 💻

В этот раз обсуждаем поведенческие паттерны:

1️⃣ Strategy (Стратегия) и State (Состояние). Один из них инкапсулирует алгоритмы или поведение в специальные классы, второй — проверки состояния объекта для изменения его поведения;

2️⃣ Command и Mediator. Идея Команды в том, чтобы отделить объект, инициирующий операцию, от объекта, который «знает», как её выполнить. Посредник же отвечает за координацию взаимодействий между группой объектов;

3️⃣ Observer (Наблюдатель) и Chain Of Responsibility (Цепочка обязанностей) — паттерны, один из которых оповещает при изменении состояния системы, второй — отделяет инициатора от получателя передачей операции;

4️⃣ Memento и Template Method. Хранитель фиксирует внутреннее состояние объекта, а Шаблонный метод — описывает алгоритм действий, реализуемый через наследование и абстрактные методы.

Посмотреть все четыре выпуска можно в удобном формате на сайте.

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
23👍16🔥9😢1
Объявление для любителей бинджвотчинга* ❗️
Вышел последний выпуск на курсе по паттернам!


Так что если хотели посмотреть сразу весь сезон, время пришло! К слову, последний выпуск получился не совсем типичным. В нём обсудили:

➡️ истоки возникновения паттернов;
➡️ урбанизм и проектирование;
книгу «Паттерны проектирования»;
➡️ фундаментальные правила из книги «Design Patterns».

Где смотреть? Да где угодно!

Ютуб
Вк Видео
Рутуб

А теперь перекличка:
🔥, если уже прошли курс;
👍 , если обещаете его посмотреть на майских;
❤️, если уже ждёте новый сезон!

*это, когда вы сериалы или видео запоем смотрите

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
26👍24🔥7🤨2👎1
Как мы релизим сервисы в Авито?

Собрали в карточках всё, что нужно знать о СІ/CD процессе ⚡️
А подробности ищите в докладе Ивана Нещадина, техлида в команде Bridge!

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥86👎11
Существует 9 горячих сейчас тем по Go… И все они в нашей новой статье 🔥

20 разработчиков Go в Авито поделились на пары, чтобы обсудить:

⚡️ Почему просто выполняя сложные задачи, невозможно вырасти?
⚡️ Как правильно структурировать проект?
⚡️ Почему важно развивать язык?
⚡️ Почему софты важнее, чем харды?
⚡️ Кому и как легче вкатиться в Go?
⚡️ Как совместить технические навыки и продуктовое мышление?
и многое другое

В статье ребята поделились краткими тезисами по итогам дискуссий. Читайте их по ссылке… И да начнётся холивар в комментариях!

#backend #go
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥177👍3😱1
This media is not supported in your browser
VIEW IN TELEGRAM
Идём на самый чилловый Avito Go-пикник!
17 июля | 19:00 мск


В меню — три курса «блюд»:
➡️ мемный Fast food System Design;
➡️ лёгкие кастомные игры и челленджи с кодом.
➡️ освежающий нетворкинг с нашими Go-разработчиками.

И всё это под летним московским небом в Powerhouse с грилем и напитками. Максимальный чилл и польза!

🚀 Чтобы это проверить, не забудьте зарегистрироваться.

P.S. Погоду узнавали — пока обещают +23 и без ливней. Так что поводов прийти точно +1.

#backend #go
Please open Telegram to view this post
VIEW IN TELEGRAM
29🔥179😱5
Хаос тимлида или стабильность инженера?

Везде и для каждого свои плюсы. В новом выпуске AviTalk Женя Афонасьев, лид команды Antifraud, рассказал про свой карьерный трек и в той, и в другой роли. Также обсудили:

➡️ как перестроиться, когда стал менеджером;
➡️ чем отличается процесс найма менеджеров и инженеров;
➡️ как организована жизнь Python-комьюнити;
➡️ и чем занимается команда Antifraud в Авито.

Смотреть на
📺 YouTube
🔵 ВКонтакте
💻 RuTube

P.S. И всё-таки, что ближе вам — непредсказуемость тимлидства или стабильность разработки? Пишите в комментариях ⬇️

#backend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍64