Dev party

6 октября в Вологде


Доклады

Алексей Катаев

Независимость команды — найти баланс

В какой-то момент каждый из нас понимает, что работа команды не должна опираться на ваш 12-часовой рабочий день и начинает использовать делегирование и автоматизацию процессов. В этот момент встает вопрос: а что должен делать я? Какие решения должен принимать тимлид, а какие — команда? Какие задачи нельзя делегировать?

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

Немного затрону темы контроля автобусных чисел в большой команде и о поиске тимлида для зрелой команды.

Алексей Катаев, Skyeng

Александр Сербул

Сияющий Agile у наших партнеров и клиентов: практика использования, подводные камни, суицид, медитация и нирванна

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

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

Александр Сербул, 1C-Битрикс

Александр Сербул

Проектирование, разработка и эксплуатация высоконагруженной системы онлайн репликации > 500 ТБ и 1 млрд. файлов клиентов между континентами: Amazon S3 (США) — облако Mail.ru (Россия)

В докладе расскажем об особенностях lambda-архитектур, платформе микро-сервисов Amazon Lambda, а также подводных камнях и победах с Node.js и многопоточной Java. Затронем тему эффективной разработки и тестирования надежного и устойчивого многопоточного кода на Java. Поделимся опытом организации промежуточного дифференциального хранилища и непростым выбором между LMDB (lightning memory-mapped database), LevelDB (используется в Bitcoin blockchain), Apache Derby и Berkeley DB. Подробно расскажем о тонкостях использования инфраструктуры очередей на базе Amazon SQS, NoSQL в DynamoDB и мониторинге системы для предотвращения потерь данных клиентов и минимизации рисков последствий отказов и аварий датацентров. Разберем практику применения алгоритмов кластерной координации на примере ZooKeeper/Curator для масштабирования приложения.

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

Александр Сербул, 1C-Битрикс

Андрей Григоров

Построение отказоустойчивой масштабируемой системы обмена сообщений с помощью ActiveMQ

ActiveMQ — пример отличного брокера сообщений, который можно брать и смело использовать для интеграции компонентов распределённых систем. Однако настройки по умолчанию не всегда позволяют добиться желаемого поведения, и приходится разбираться, что же там под «капотом» и можно ли что-то подкрутить. В докладе будет рассказано о том, как мы стали использовать ActiveMQ в качестве ключевого компонента микросервисной архитектуры интернет-банка, с какими проблемами столкнулись и как их решали. В ходе доклада мы вместе шаг за шагом построим масштабируемую систему обмена сообщений, обратим внимание на вопросы производительности и отказоустойчивости.

В докладе:
  • Обзор основных способов интеграции приложений.
  • Знакомство с брокером сообщений ActiveMQ. Основные принципы и алгоритмы работы.
  • Пошаговая инструкция по построению отказоустойчивой масштабируемой системы обмена сообщений с описанием возможных проблем и путей их преодоления.

Андрей Григоров, R-Style Softlab

Андрей Кишкин

SaltStack: в чем соль оркестрации в IT-проекте

Речь пойдёт об оркестрации в современном IT-проекте.

В докладе:
  • Что из себя представляет система оркестрации, основные компоненты.
  • Обзор наиболее популярных систем оркестрации.
  • Пример простой конфигурации на SaltStack.
  • Вопросы безопастности, хранение приватных данных в SaltStack.

Андрей Кишкин, Axcient

Вячеслав Игнатьевский

Многопоточность в Unity средствами реактивных расширений

Рассмотрим применение реактивного програмирования при создании приложений в Unity3D

В докладе:
  • Расскажем об удивительном реактивном программировании.
  • Познакомим с библиотекой UniRx.
  • Приведем примеры использования этого подхода в игровом движке Unity3D.
  • Рассмотрим реальные бенчмарки.

Вячеслав Игнатьевский, Broccoli Games

Салах Сивушков

A/B тестирование в геймдизайне

Поделюсь опытом A/B тестирования в наших играх, почему мы их делаем, как мы их делаем и зачем их надо делать вам.

В докладе:
  • Расскажу о наших играх и почему мы решили использовать А/В тестирование для улучшения их метрик.
  • Продемонстрирую практические примеры из жизни продукта, что получалось и что не получалось.
  • Приведу выводы и поделюсь итогами А/Б тестирований.
  • Расскажу почему А/Б тестирования могут быть полезны именно вам.

Салах Сивушков, Broccoli Games

Светлана Волкова

«Привет, я знаю кто ты!» Или немного о биометрии

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

В докладе:
  • Постановка задачи биометрии в целом и лицевой биометрии в частности.
  • Зоны применения биометрических систем, выбор модальности.
  • Описание процесса распознавания лиц.
  • История развития технологий детектирования и распознавания.
  • Этические вопросы применения биометрических технологий.

Светлана Волкова, Smilart

Олег Стрекаловский

(Бес)полезное логирование

При разработке ПО мы часто встречаемся с одинаковыми задачами, решения которых как-бы лежат на поверхности и всем очевидны. Одна из таких задач — это наблюдение за состоянием приложения через логирование. Эта задача не связана с доменной областью приложения и стоит как-бы в стороне от реально важных проблем и ей часто не уделяется должного внимания. В результате, мы часто используем первое пришедшие в голову решение: вызовы log.error()/warn()/info() (кому что нравится) в более или менее осознанно выбранных точках программы. А потом к нам прибегают тестировщики с «ошибками — не ошибками», которые они видят в логах; инженеры по эксплуатации отказываются включать любой уровень ниже error; безопасники хотят, чтобы такие логи вообще не писались, а программисты без логов как без рук, даже если они не в состоянии понять, что происходит с приложением по оставленным ими же отладочным сообщениям. Подобные проблемы переходят из проекта в проект, всё больше и больше раздражая.

В докладе будут рассмотрены часто встречающиеся проблемы, возникающие в приложениях, в которых логированию не было уделено достаточно внимания. Поделюсь практиками, которые мы применяем в Smilart в задачах наблюдения за состоянием приложения.

Олег Стрекаловский, Smilart

Александр Елюков

Доставка пиццы в режиме OnLine

В докладе будет представлен вниманию горизонтально масштабируемый realtime-сервер, поддерживающий подключения клиентов по websocket.

В докладе:
  • Постановка задачи: обзор проблемы, выработка требований к серверу.
  • Архитектура решения, протоколы взаимодействия, используемые библиотеки.
  • Место шины данных в архитектуре, разграничение доступа и формат сообщений, отправляемых клиенту.
  • Логика работы кода.
  • Демонстрация решения.

Александр Елюков, ПиццаФабрика IT

Илья Овчинников

Укрощение шины данных. Как наладить связь между сервисами

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

В докладе:
  • Наши проблемы архитектуры системы.
  • Выбор пути развития и сервисная архитектура.
  • Шина данных как основной связующий элемент.

Илья Овчинников, ПиццаФабрика IT

Виталий Гончаров

На волне автоматизации тестирования мобильных игр

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

В докладе:
  • Причины и цели автоматизации тестирования.
  • Какие инструменты мы используем.
  • Что именно мы покрываем автотестами.

Виталий Гончаров, Playrix

Данил Грудин

Взгляни на мир глазами гейм-дизайнера

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

В докладе:
  • Кратко о проектах, метриках и местах в мировых топах.
  • Как меня занесло в геймдев и чем конкретно я занимаюсь на проекте.
  • Что такое геймдизайн, его разновидности, на примерах.
  • Какие умения-навыки нужны, какие скилы не обязательны, но полезны, практические советы.
  • Фан-часть: забавные баги.

Данил Грудин, Playrix

Владимир Варнавский

Отложите на завтра. Управление временем айтишника

В докладе:
  • Концентрация программиста.
  • Как не потерять концентрацию.
  • Что делать, если прилетела срочная задача.
  • Как сократить время на переключение между задачами.

Владимир Варнавский, 33 Кита

Николай Головкин

Автоматизируем дворец британской королевы на Python

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

Николай Головкин

Николай Гнусов

Автоматизированное тестирование для всех, или как мы стартапу помогли

Небольшой разсказ о том, как мы сделали универсальное средство для работы с автотестами, которым могут пользоваться абсолютно все.

В докладе:
  • Краткая история развития QA-автоматизации и ее место в Agile.
  • QA-автоматизация изнутри (средства, инструменты, методы и приемы).
  • Краткий обзор инструмента тестировщика TestRail.
  • Обзор решения, для запуска собственных наборов тестов из TestRail.
  • Краткие выводы и результаты внедрения.

Николай Гнусов, ООО «Северотек-Автоматизация»

Юлия Рыбакова

Жизненный цикл продукта: детство, отрочество, юность

Концепция жизненного цикла продукта впервые была описана американским экономистом Теодором Левитом в 1965 году и это одна из тех идей маркетинга XX века, которая и поныне очень сильно влияет на сознание. Такая модель — видение плавного перехода от одного жизненного этапа к другому. Однако если мы внимательно присмотримся к тому, что происходит в практике бизнеса, то обнаружим, что модель жизненного цикла не такая уж плавная, а имеет свои разрывы и пропасти.

В докладе:
  • Опасности при переходах с этапа на этап.
  • Какие пропасти и трещины есть на кривой жизненного цикла и к чему они могут привести.

Юлия Рыбакова, CDNVideo