Forwarded from QAжется, работает! (Gaya Dovgal)
Когда речь идёт о написании своих нагрузочных сценариев «поверх» JMeter, есть десятки способов выстрелить себе в ногу. Самый верный способ это заметить — качественно измерять то, что мы делаем.
На осенней конференции Heisenbug Дима Тучс рассказал о работе с памятью в Java, о многопоточности и тред-пулах и даже о такой банальной теме, как парсинг JSON. А ещё о том, почему и как всё это пришлось переписать, чтобы нагрузить бэкенд Dodo IS втрое выше.💻
Доклад может быть полезным для всех, кто пишет на Java в QA, и особенно для тех, кто пишет на Java нагрузку.
P.S. Спасибо организаторам за то, что поделились записью с нашими подписчиками. Кстати, если у вас есть что рассказать на Heisenbug этой осенью — самое время отправить заявку на выступление.
На осенней конференции Heisenbug Дима Тучс рассказал о работе с памятью в Java, о многопоточности и тред-пулах и даже о такой банальной теме, как парсинг JSON. А ещё о том, почему и как всё это пришлось переписать, чтобы нагрузить бэкенд Dodo IS втрое выше.
Доклад может быть полезным для всех, кто пишет на Java в QA, и особенно для тех, кто пишет на Java нагрузку.
P.S. Спасибо организаторам за то, что поделились записью с нашими подписчиками. Кстати, если у вас есть что рассказать на Heisenbug этой осенью — самое время отправить заявку на выступление.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍1
Собираем неравнодушных QA инженеров и не только на ламповые посиделки в арт-коворкинге Санкт-Петербурга.
💻 Ярослава Рощина (Dodo Engineering) расскажет, как в её команде удалось сократить время разработки фич.
🛠 Татьяна Березенцева (СберКорус) проведёт мастер-класс по запуску автоматизации API на проекте.
🗓 19 июля, начало в 19:00
Офлайн, Санкт-Петербург, участие бесплатное.
Регистрируйтесь и приходите, если будете в это время в городе.
До встречи!
🛠 Татьяна Березенцева (СберКорус) проведёт мастер-класс по запуску автоматизации API на проекте.
🗓 19 июля, начало в 19:00
Офлайн, Санкт-Петербург, участие бесплатное.
Регистрируйтесь и приходите, если будете в это время в городе.
До встречи!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12⚡2
Представляете, когда-то нашей команде контроля качества приходилось измерять линейкой кусочки пиццы на фото, чтобы определить равномерность нарезки. Линейкой, Карл!
Пару лет назад всё сильно изменилось — мы стали определять дефекты с помощью компьютерного зрения. С тех пор мы обучили модели не только определять белое дно и горелый борт (об этом можно почитать на Хабре), но и:
— вид пиццы,
— количество витков соуса,
— ширину борта,
— равномерность нарезки кусочков,
— срок годности на маркировках.
И уже экономим 30% времени команды, которое тратится на проверку отчётов клиентов. Круто же!
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Computer Vision
Распознавание дефектов пиццы с помощью компьютерного зрения.
🔥17👍2❤1
Сегодня проходит ежегодный Съезд Dodo, на котором впервые выступит новый CEO Dodo Engineering Арсений Васильев.
Арсений — кофаундер проекта «Где Шаверма», в Dodo Brands он отвечал за развитие стартапа Донер 42, пару лет спустя — концепции Дринкит.
Приглашаем присоединиться к трансляции в 17:30 и послушать о трансформации, которая ждёт IT в Dodo.
Запись должна быть доступна по той же ссылке.
Арсений — кофаундер проекта «Где Шаверма», в Dodo Brands он отвечал за развитие стартапа Донер 42, пару лет спустя — концепции Дринкит.
Приглашаем присоединиться к трансляции в 17:30 и послушать о трансформации, которая ждёт IT в Dodo.
Запись должна быть доступна по той же ссылке.
🔥9❤1
Новая команда и новая вакансия Head of ML
Команда дата-инженеров в Dodo появилась несколько лет назад, когда нужно было разработать проект автоматического заказа для команды Supply Chain. После реализации мы осознали, что можем создавать не только сложные ML-модели, но и решить проблемы базовой аналитики в Dodo IS.
Сейчас у нас есть решения, под капотом которых работают модели машинного обучения: прогнозирование спроса, компьютерное зрение в контроле качества продукта, uplift модели в маркетинге.
Все они были реализованы ML-инженерами в разных продуктовых командах. Но чтобы ускорить внедрение инноваций, нам не хватало единой сервисной команды, которая смогла бы самостоятельно решать, где можно улучшить бизнес-процессы, используя данные и алгоритмы.
Поэтому мы решились организовать полноценный Data Office с 3 направлениями: Data Engineering, Analytics и ML.Core. Первые два уже есть, а третье мы только собираем и ищем лидера, который его возглавит. Такого человека, который не побоится предлагать самые разные идеи и будет видеть бизнес-процессы, начиная от производства продуктов на кухне до улучшения мобильных приложений. Который когда-то сам разрабатывал ML-модели, погрузился в менеджмент и умеет внедрять изменения.
Перед нами стоит много вызовов: от использования простых моделей до внедрения Deep Learing и State-of-the-Art — диапазон задач и их сложность огромная!
Если чувствуешь, что знаешь такого человека или сам подходишь под наше видение лидера команды — посмотри полное описание вакансии и напиши Полине. Будем рады пообщаться!
Команда дата-инженеров в Dodo появилась несколько лет назад, когда нужно было разработать проект автоматического заказа для команды Supply Chain. После реализации мы осознали, что можем создавать не только сложные ML-модели, но и решить проблемы базовой аналитики в Dodo IS.
Сейчас у нас есть решения, под капотом которых работают модели машинного обучения: прогнозирование спроса, компьютерное зрение в контроле качества продукта, uplift модели в маркетинге.
Все они были реализованы ML-инженерами в разных продуктовых командах. Но чтобы ускорить внедрение инноваций, нам не хватало единой сервисной команды, которая смогла бы самостоятельно решать, где можно улучшить бизнес-процессы, используя данные и алгоритмы.
Поэтому мы решились организовать полноценный Data Office с 3 направлениями: Data Engineering, Analytics и ML.Core. Первые два уже есть, а третье мы только собираем и ищем лидера, который его возглавит. Такого человека, который не побоится предлагать самые разные идеи и будет видеть бизнес-процессы, начиная от производства продуктов на кухне до улучшения мобильных приложений. Который когда-то сам разрабатывал ML-модели, погрузился в менеджмент и умеет внедрять изменения.
Перед нами стоит много вызовов: от использования простых моделей до внедрения Deep Learing и State-of-the-Art — диапазон задач и их сложность огромная!
Если чувствуешь, что знаешь такого человека или сам подходишь под наше видение лидера команды — посмотри полное описание вакансии и напиши Полине. Будем рады пообщаться!
🔥7👍1
13 базовых понятий, которые нужно знать аналитику или ML-инженеру
по версии Андрея Филипьева, CDO Dodo Engineering
Важно не просто знать, о чём идёт речь, но понимать как применять это в реальных задачах. Если есть ещё примеры на эти пункты, объяснение проблем и как их решали — это топ!
1. Случайная величина
2. Математическое ожидание (статья выше)
3. Закон больших чисел
4. Распределение
5. Нормальное распределение
6. Центральные предельные теоремы и причем тут нормальное распределение
7. Квантили (перцентили)
8. Доверительный интервал. Конкретные задачи.
9. Оценка стат. значимости
10. p-value
11. Смещение и дисперсия (bias and variance)
12. A Deeper look at Mean Squared Error — Count Bayesie
13. Нормализация и стандартизация
Есть вещи и посложнее, конечно — полный список того, о чём обычно Андрей спрашивает кандидатов, можно подглядеть у него в канале.
по версии Андрея Филипьева, CDO Dodo Engineering
Важно не просто знать, о чём идёт речь, но понимать как применять это в реальных задачах. Если есть ещё примеры на эти пункты, объяснение проблем и как их решали — это топ!
1. Случайная величина
2. Математическое ожидание (статья выше)
3. Закон больших чисел
4. Распределение
5. Нормальное распределение
6. Центральные предельные теоремы и причем тут нормальное распределение
7. Квантили (перцентили)
8. Доверительный интервал. Конкретные задачи.
9. Оценка стат. значимости
10. p-value
11. Смещение и дисперсия (bias and variance)
12. A Deeper look at Mean Squared Error — Count Bayesie
13. Нормализация и стандартизация
Есть вещи и посложнее, конечно — полный список того, о чём обычно Андрей спрашивает кандидатов, можно подглядеть у него в канале.
🔥6👍1
Как добавить возможности Chat GPT в ваше приложение
Последние пару месяцев мы работали над тем, чтобы расширить функциональность мобильного приложения Додо Пиццы: дать возможность заказывать пиццу через чат с помощью AI-помощника и создавать уникальные рецепты пиццы на основе настроения и вкусовых предпочтений.
Когда мы начали создавать эту систему, у нас возникло множество вопросов. И если вы новичок в работе с GPT-моделями, у вам тоже может быть непонятно, как интегрировать помощника AI в приложение, как использовать API Open AI, какие сложности могут возникнуть и как их решать.
💻 Ответами на подобные вопросы делится Константин Полонский в своей статье — заходите на Medium почитать (статья на английском), задавайте вопросы и делитесь своим опытом!
Последние пару месяцев мы работали над тем, чтобы расширить функциональность мобильного приложения Додо Пиццы: дать возможность заказывать пиццу через чат с помощью AI-помощника и создавать уникальные рецепты пиццы на основе настроения и вкусовых предпочтений.
Когда мы начали создавать эту систему, у нас возникло множество вопросов. И если вы новичок в работе с GPT-моделями, у вам тоже может быть непонятно, как интегрировать помощника AI в приложение, как использовать API Open AI, какие сложности могут возникнуть и как их решать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
How to add Chat GPT capabilities to your app?
AI can truly enhance your app’s functionality. In this article, I’ll guide you on how to integrate an AI assistant into your app. Along the…
🔥4❤1👍1
Мы планировали-планировали и напланировали
Спланировать работу бизнеса на год или на квартал, да ещё и так, чтобы планы были реальными и выполнялись— задачка со звёздочкой.
Мы в Dodo используем методологию OKR (Objectives&Key Results) — она позволяет синхронизироваться всем юнитам и избежать ситуации «а вот это мы не учли» или когда бизнес приносит в IT задачи без понимания сроков и сложности.
За организацию и фасилитацию отвечают People&Process лидеры (PPL): они создают чат, в котором собирают всех участников стратсессии, лидеров, расписывают все этапы и фиксируют договорённости.
Сегодня хотим поделиться статьей Ярославы Рощиной, в которой она на примере годового планирования одного нашего крупного юнита рассказала, как устроен процесс с точки зрения фасилитатора. В конце статьи вы найдёте чек-лист для проведения успешного планирования — штука полезная, особенно для начинающих скрам-мастеров и аджайл-коучей.
Спланировать работу бизнеса на год или на квартал, да ещё и так, чтобы планы были реальными и выполнялись— задачка со звёздочкой.
Мы в Dodo используем методологию OKR (Objectives&Key Results) — она позволяет синхронизироваться всем юнитам и избежать ситуации «а вот это мы не учли» или когда бизнес приносит в IT задачи без понимания сроков и сложности.
За организацию и фасилитацию отвечают People&Process лидеры (PPL): они создают чат, в котором собирают всех участников стратсессии, лидеров, расписывают все этапы и фиксируют договорённости.
Сегодня хотим поделиться статьей Ярославы Рощиной, в которой она на примере годового планирования одного нашего крупного юнита рассказала, как устроен процесс с точки зрения фасилитатора. В конце статьи вы найдёте чек-лист для проведения успешного планирования — штука полезная, особенно для начинающих скрам-мастеров и аджайл-коучей.
vc.ru
Как спланировать работу бизнеса на 10+ команд — Личный опыт на vc.ru
В статье расскажу, как синхронизация с помощью OKR помогает бизнесу, IT и другим отделам понимать друг друга и не разочаровываться, а также покажу некоторые артефакты с онлайн-встреч.
❤10🔥6⚡1
Деврел — не человек, или Всем мы немножко деврел
Деврел — штука непонятная, окруженная мифами и легендами. Наши зарубежные коллеги вроде бы с этим разобрались и даже умных книжек написали, но деврел в русскоязычном пространстве всё ещё продолжает быть загадочным и непостижимым для многих.
💻 Вероника Ильина, наша Head of Devrel, собрала 14 утверждений про деврел и разобралась, что правда, а что ложь — и сделала это в лучших традициях «Разрушителей Мифов».
Читать 10 минут
🤨 Бонус в конце статьи — чек-лист для тех, кто хочет деврельской движухи в своей компании, но есть вопросик.
Деврел — штука непонятная, окруженная мифами и легендами. Наши зарубежные коллеги вроде бы с этим разобрались и даже умных книжек написали, но деврел в русскоязычном пространстве всё ещё продолжает быть загадочным и непостижимым для многих.
Читать 10 минут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥4👏1
Kodein для Android
Говорят (с), что Android-разработчики обожают DI. Мы не проверяли, но заметили, что про Kodein почему-то мало рассказывают и пишут. Максим Качинкин решил, что эту несправедливость надо исправлять, тем более что Kodein активно развивался последние пару лет. А ещё мы используем его в приложении Drinkit и успели оценить его преимущества (недостатки, впрочем, тоже).
Cначала Макс рассказал про Kodein на Mobius, но в один доклад не поместилось всё, чем он хотел поделиться, — и вот уже про Kodein для Android есть его статья на Хабре.
Тут надо сказать, что в одной статье все стороны тоже не вышло затронуть, в итоге публикаций будет несколько — поэтому подписывайтесь на наш блог или лично Макса, чтобы не пропустить следующие.
Говорят (с), что Android-разработчики обожают DI. Мы не проверяли, но заметили, что про Kodein почему-то мало рассказывают и пишут. Максим Качинкин решил, что эту несправедливость надо исправлять, тем более что Kodein активно развивался последние пару лет. А ещё мы используем его в приложении Drinkit и успели оценить его преимущества (недостатки, впрочем, тоже).
Cначала Макс рассказал про Kodein на Mobius, но в один доклад не поместилось всё, чем он хотел поделиться, — и вот уже про Kodein для Android есть его статья на Хабре.
Тут надо сказать, что в одной статье все стороны тоже не вышло затронуть, в итоге публикаций будет несколько — поэтому подписывайтесь на наш блог или лично Макса, чтобы не пропустить следующие.
Хабр
Kodein DI для Android. Основы API
Android разработчики обожают DI. Куда ни посмотри, куча статей и выступлений про Dagger 2, Hilt или Koin, но очень мало про Kodein. Даже на Хабре всего пару неплохих статей, но и те от 2018 года. Но с...
❤5👍2
Этот принцип лежит в основе нашей культуры. Он же применяется и к сервисам.
1. Нужен надёжный учёт владения. Каждое изменение должно быть зафиксировано, информация должна быть актуальной и доступной в любой момент. Это могут быть единый реестр сервисов, таблица, структура копании. Они должны находиться не в разных местах, а в каком-то одном, чтобы не приходилось долго искать.
2. Должно быть описание роли владельца, его обязанностей. Например, что человек должен делать как владелец сервиса, на какие алерты и как реагировать.
3. Единство правил, инструментов, языков, подходов, архитектуры. К примеру, если в ваш сервис контрибьютят соседние команды, нужно, чтобы все было максимально единообразно, и тогда будет меньше вероятность совершить ошибки.
4. Должен быть хороший вижен и стратегия развития: как будет меняться в будущем функциональность, архитектура, инструменты. Понимание, куда развивать сервис, помогает распределять внимание. Фокус будет уходить на важные вещи, а неважные могут и подождать. Также это помогает владельцу и всем, кто хочет законтрибьютить в сервис, лучше понять, что можно, а что нельзя делать.
5. Нужна автоматизация в тех местах, где это возможно, чтобы снизить нагрузку на людей.
Некоторые пункты из этого списка у нас уже есть (например, карта раскатки фич), некоторые только появляются (реестр сервисов).
Интересно узнать, как вы понимаете «владение», как этот принцип проявляется в вашей работе — поделитесь в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥3👍2👌1
1. Поддерживать и реагировать на сбои сервиса в соответствии с его уровнем (SLO).
2. Выполнять технические эпики по сервису несколько раз в год.
3. Исправлять критические баги и баги, связанные с безопасностью.
4. Контролировать качество при контрибьюшене от других команд.
5. Поддерживать сервис, чтобы он обеспечивал более 80% пунктов по НФТ, проверять актуальность каждые полгода.
6. Создавать и развивать правила контрибьюешена в сервис от других команд.
7. Выполнять задачи по техдолгу минимум пару раз в квартал.
Что ещё вы бы добавили в этот список?
2. Выполнять технические эпики по сервису несколько раз в год.
3. Исправлять критические баги и баги, связанные с безопасностью.
4. Контролировать качество при контрибьюшене от других команд.
5. Поддерживать сервис, чтобы он обеспечивал более 80% пунктов по НФТ, проверять актуальность каждые полгода.
6. Создавать и развивать правила контрибьюешена в сервис от других команд.
7. Выполнять задачи по техдолгу минимум пару раз в квартал.
Что ещё вы бы добавили в этот список?
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
Кое-что интересное ждёт нас 7 сентября на канале Android Broadcast: в прямом эфире пройдёт собеседование Android-разработчика в продуктовую команду.
Интервьюировать будет Максим Качинкин, наш Android Tech Lead и ведущий канала Мобильное чтиво.
Собеседование продлится полтора часа и состоит из 5 секций: знакомство, технический опыт, техническая секция, творческое задание и вопросы от кандидата.
Требования к кандидату:
☑️ опыт разработки под Android от 2-х лет (ваше приложение или отдельные фичи работают в продакшене);
☑️ уверенные знания Android Framework, системы Android View, опционально Compose;
☑️ знания современной архитектуры Android-приложений (слоистая/чистая архитектуры), MVx-паттерны.
👉 Если хотите попробовать свои силы и стать кандидатом — подавайте заявку.
А если вам просто посмотреть — поставьте напоминание на Ютубе.
Интервьюировать будет Максим Качинкин, наш Android Tech Lead и ведущий канала Мобильное чтиво.
Собеседование продлится полтора часа и состоит из 5 секций: знакомство, технический опыт, техническая секция, творческое задание и вопросы от кандидата.
Требования к кандидату:
☑️ опыт разработки под Android от 2-х лет (ваше приложение или отдельные фичи работают в продакшене);
☑️ уверенные знания Android Framework, системы Android View, опционально Compose;
☑️ знания современной архитектуры Android-приложений (слоистая/чистая архитектуры), MVx-паттерны.
👉 Если хотите попробовать свои силы и стать кандидатом — подавайте заявку.
А если вам просто посмотреть — поставьте напоминание на Ютубе.
🔥12❤5👍1
Forwarded from Android Broadcast (Кирилл Розов)
🔴 Cобеседование Android-разработчика. Максим Качинкин, Dodo Engineering
Сегодня, 7 сентября в 19:00 (GMT+3) пройдет собеседование на позицию «Android-разработчика в продуктовую команду» в прямом эфире у Максима Качинкина, Android Tech Lead в Dodo Engineering.
Собеседование пройдет в формате, состоящем из 5 секций (1.5 часа): знакомство, технический опыт, техническая секция, творческое задание и вопросы от кандидата.
#AndroidBroadcast #собеседование
Сегодня, 7 сентября в 19:00 (GMT+3) пройдет собеседование на позицию «Android-разработчика в продуктовую команду» в прямом эфире у Максима Качинкина, Android Tech Lead в Dodo Engineering.
Собеседование пройдет в формате, состоящем из 5 секций (1.5 часа): знакомство, технический опыт, техническая секция, творческое задание и вопросы от кандидата.
#AndroidBroadcast #собеседование
🔥9
Короткий пятничный фоторепортаж с DevOpsDays Almaty.
Павел Притчин рассказывает, как мы организовали систему дежурств, чтобы разработчики дежурили по своим сервисам в рабочее и нерабочее время.
Ставьте➕ под постом, если хотите почитать расшифровку доклада.
Павел Притчин рассказывает, как мы организовали систему дежурств, чтобы разработчики дежурили по своим сервисам в рабочее и нерабочее время.
Ставьте
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👌2👨💻1
Шейдеры в iOS 17 для начинающих
Шейдер — это программа для видеокарты, которая считается для каждого пикселя по отдельности. Миллионы раз за кадр и миллиарды раз в секунду! На выходе получаются классные эффекты, например перелистывание страниц в iBooks. Но есть одна проблема — код шейдеров радикально отличается от того, которым iOS-разработчики обычно красят кнопки.
В iOS 17 Apple сильно упростила написание шейдеров — теперь название функции достаточно указать модификатором к любой View в SwiftUI. Самое время поднять тему и понять, что это за шейдеры такие.
В первой статье вместе с Мишей Рубановым разбираемся в теме, базовых функциях и тренируем шейдерную насмотренность. А уже в следующей разберём по шагам сложные примеры.
Шейдер — это программа для видеокарты, которая считается для каждого пикселя по отдельности. Миллионы раз за кадр и миллиарды раз в секунду! На выходе получаются классные эффекты, например перелистывание страниц в iBooks. Но есть одна проблема — код шейдеров радикально отличается от того, которым iOS-разработчики обычно красят кнопки.
В iOS 17 Apple сильно упростила написание шейдеров — теперь название функции достаточно указать модификатором к любой View в SwiftUI. Самое время поднять тему и понять, что это за шейдеры такие.
В первой статье вместе с Мишей Рубановым разбираемся в теме, базовых функциях и тренируем шейдерную насмотренность. А уже в следующей разберём по шагам сложные примеры.
Хабр
Шейдеры в iOS для начинающих
В мобильной разработке мы постоянно имеем дело с векторной графикой: ячейки — прямоугольные, аватарки — круглые, текст — это векторные формы. В пиксели это всё превращается как-то само. Но есть ещё и...
❤4👍4👎1