Конференция для разработчиков

Разработка

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

Направление «Разработка» будет интересно специалистам, которые создают программное обеспечение. В этом году мы делаем сбалансированную программу, полезную всем: от junior- до senior-специалистов.

Секции
Залы

Дмитрий Столяров
Технический директор и соучредитель @ Флант
Ульм
Андрей Климентьев
Solutions Engineer @ Флант
Нижний Новгород
Сидоров Андрей
DevOps-инженер @ Флант
Симферополь

На данный момент (февраль 2019) у нас, компании Флант, в production-окружениях Kubernetes функционируют 55 проектов, в состав которых входят более 1000 различных приложений в 70+ кластерах.

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

Долгое время мы искали подходящее нам решение, которое ответило бы на следующие ключевые вопросы:

  • Какие метрики нам важны для оценки ресурсов, требуемых приложениям?
  • Как соблюсти требования к SLA и SLO приложения?
  • Как, используя полученные метрики, обеспечить работу сервиса, применив механизмы автомасштабирования Kubernetes?

Ответив на эти вопросы и обеспечив их реализацию в production, мы поделимся практическими рекомендациями, как, используя Kubernetes в качестве фундамента, обеспечить высокую доступность приложений (PDB, QoS, PriorityClass...) и гарантировать их максимальную производительность (VPA, HPA, cluster-autoscaler).

Данный доклад будет вам полезен, даже если у вас одно приложение в кластере из трех нод.


Алексей Винокуров
Software developer @ LiteBox
Ульяновск

Почему многие компании, заявляющие, что они работают по Scrum, на самом деле понимают под Scrum что-то другое? Как мы умудряемся создавать работающий продукт без аналитиков, PM-ов и тимлидов?

Универсальный солдат: какие скиллы требуются разработчику для эффективной работы в скрам-команде? Дейли, ретро, обзор, PBR: а когда собственно код писать? Какие подводные камни подстерегают разработчика, работающего в скрам-команде и как их избежать?


Григорий Мелехов
Технический директор направления постаматы @ QIWI
Москва

Тезисы доклада появятся позднее


Михаил Вязанкин
Agile-коуч и основатель @ AgileVerse
Москва

Метод Kanban в России постепенно набирает популярность.Но то, как его запускать всё еще остаётся секретом. Есть ли какой-то способ, как запустить Kanban-систему и не попасть впросак? Да, это метод STATIK (System Thinking Approach to Introduce Kanban) - это простой воркшоп из 8 шагов, результатом которого будет понятная и работающая система. Я расскажу из каких шагов он состоит, почему там нет ничего лишнего, как его можно проводить, чего от него ожидать и чему я научился за несколько десятков проведенных воркшопов!


Александр Сербул
Руководитель направления контроля качества интеграции и внедрений @ 1С-Битрикс
Москва

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


Евгений Пешков
Разработчик @ Додо Пицца
Москва

Есть ли жизнь без проджект-менеджеров, тимлидов и жесткого давления? Конечно!

Один из принципов agile-манифеста гласит: "Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им".

Я расскажу как мы используем ценности и принципы agile-манифеста.

Я расскажу про наш процесс onboarding и как это помогает строить фича-команды для масштабируемого скрама.

Я расскажу как мы используем практики экстремального программирования.

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

Голосование


Павел Герасимов
Software Architect @ Wrike
Санкт-Петербург

Как мы делали сложный интерактив с нуля в сжатые сроки - тонкости и подводные камни. Почему полагаться на легаси - плохо? Как выбрать между DOM и Canvas и какую пользу этим можно нанести? Как не запутаться в иерархии связанных компонентов? Нюансы оптимизации перфоманса на интерактивном вью.


Павел Герасимов
Software Architect @ Wrike
Санкт-Петербург
Скажи ревьюеру “Нет!”
из Голосование

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


Валерия Зелёная
Автор и разработчик интерактивных курсов по JavaScript @ HTML Academy
Saint-Petersburg

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

- Расскажу, какие технологии использует наша команда интерактивных курсов, как мы проверяет код студентов (вёрстку, стили, js-код, как проверяем работоспособность программ студентов), какие технологии для этого используем, поделюсь интересными кейсами


Maxim Arshinov
Технический директор @ Хайтек Груп
Казань

Люди учатся архитектуре по старым книжкам, которые писались для Java. Книжки хорошие, но дают решение задач того времени инструментами того времени. Время поменялось, C# уже больше похож на лайтовую Scala, чем Java, а новых хороших книжек мало.

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


Артем Кудряшов
Team lead @ Автотрансинфо
Санкт-Петербург

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

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


Александр Сычев
Руководитель разработки @ ПАО "Сбербанк"
Москва

iOS-разработчик должен в равной степени владеть двумя языками программирования: проверенным временем Objective-C и активно развивающимся Swift. Языки совместимы и допускают создание проектов, содержащих файлы, написанные на любом из них. Но взаимодействие двух языков, позволяющее легко вносить изменения в проект и поддерживать достаточную гибкость - задача нетривиальная и требующая пристального внимания.

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


Валерия Зелёная
Автор и разработчик интерактивных курсов по JavaScript @ HTML Academy
Saint-Petersburg

- У новичков много страхов: им страшно менять привычную сферу на IT — вдруг не получится, они боятся совершить ошибку и не знают, как подобраться к большой задаче

- Дам практические советы, как эффективно учиться программировать


Алексей Лесовский
PostgreSQL Database Administrator @ DataEgret
Екатеринбург

Это вторая инкарнация моего доклада о том какие ошибки допускают разработчики при работе с Postrges'ом.

Я с моими коллегами из Data Egret являемся Postgres-консалтерами и регулярно наблюдаем как команды разработки осознанно или нет, но допускают ошибки при работе с Postgres'ом.

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

В докладе я рассмотрю:

- проблемы, связанные с планированием, мониторингом и дефолтными конфигурациями, которые встречаются практически везде и всегда;

- антипаттерны, связанные с проектированием схем данных;

- проблему длинных транзакций, которая часто становится сюрпризом;

- еще будет про самописные системы очередей, HTAP workload, "бигдату", docker/kubernetes.

По ходу доклада слушатели узнают про некоторые best и worst practices при работе с СУБД и, уже смотря на свои базы, смогут заранее спрогнозировать возникновение неприятных ситуаций и предпринять меры.

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


Руслан Серкин
Software Engineer @ DataArt
Санкт-Петербург

- Разберем что такое Serverless и с чем его "едят"

- Рассмотрим основные проблемы с которыми вы можете столкнуться во время разработки

- Поделюсь своим опытом и практиками


Андрей Литуненко
Инженер-разработчик @ 2GIS
Новосибирск

Пять лет мы жили с самописной шиной для обмена данными — теряли сообщения и страдали от однопоточного импорта. Сегодня мы используем Apache Kafka и Golang для обмена данными между сервисами.

Расскажу, как механизм «отложенных данных» помог нам организовать сбор информации от десятка команд. От десятка команд, чья очередность выгрузки непредсказуема. Поделюсь, как нам удалось построить зависимости и поставлять данные констистентно и в срок.


Василий Васильков
Инженер @ Ecwid
Ульяновск

Незаметно для самих себя мы в Ecwid доросли до 100Gb (и 200 миллионов строк) логов каждые сутки. Unix-утилиты, конечно, дают жару, но grep/sed/awk на таких объемах увы, не справляются. Мы запихнули все эти десятки терабайт за несколько месяцев в ClickHouse, написали свой простой язык запросов, подкрутили тут, там и получилась очень простая и быстрая система работы с логами. В докладе я объясню как за пару дней на коленке построить себе такое же счастье.


Alexander Khlebnikov

Новосибирск

Кто из нас не верстал html-рассылку? Наверняка, вы помните тот средневековый код, переполненный жуткими таблицами и инлайновыми стилями.

По прошествии лет письма стали краше, начали прилично отображаться на мобильных устройствах, в них даже появился интерактив. Расскажу, как готовить рассылки в 2019 году, победить Outlook и не завязнуть в вечном багфиксе.


Василий Зорин
Scrum Master @ Ак Барс Цифровые Технологии
Казань

История про успешную SAFe трансформацию в важнейшем бизнес юните и запуск первого Agile Release Train (ART).

Как выстраивать потоки ценности, вовлекая в процесс сотни сотрудников? Как с помощью SAFe сблизить "бизнес" и "разработку", синхронизировать работу над десятком информационных систем и снизить Сycle Time? Почему в основе всего должны быть опытные кросс-функциональные фиче команды, работающие по Scrum? Как SAFe помогает распространять Agile и Lean принципы в промышленных масштабах? О чем важно помнить, если вы действительно хотите трансформировать систему?

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


Кирилл Шваков
@ Integros
Лимасол
ClickHouse - CHANGELOG_RU.md
из Голосование

На сегодняшний день ClickHouse одна из самых динамично развивающихся СУБД.

Давайте посмотрим как менялся ClickHouse за последние пару лет и на примерах разберем документированные, так и недокументированные возможности, которые позволяют создавать более эффективные приложения.

Голосование


Евгений Казначеев
Head of Product @ Ecwid
Ульяновск

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

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

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

Голосование


Артемий Рябинков
Software Engineer @ Avito
Москва

В докладе расскажу о практиках работы с Postgres в сервисах на Go. Поговорим о преимуществах и недостатках основных инструментов, которые принято использовать при работе с Postgres в Go. Конечно, коснёмся нюансов, которые нужно учитывать, когда ваши сервисы работают внутри Kubernetes облака. Также расскажу об опыте Avito в предоставлении базы данных разработчикам продукта. Доклад будет интересен разработчикам, которые хотят избежать проблем при работе с Postgres и полезен DBA, которые хотят узнать с какими трудностями сталкиваются клиенты их базы данных.


Роман Ноздрин
Инженер-разработчик @ MariaDB
Москва

MariaDB давно переросла своего родителя MySQL за счёт функционала добавляемого в MDB. Одной из фичей стал engine для аналитической нагрузки - Columnstore AKA MariaDB AX, который отлично укладывается в парадигму MariaDB: каждой нагрузке свой движок.

В рамках доклада я познакомлю аудиторию со строением и возможностями Columnstore.


Тимофей Лавренюк
R&D Engineer @ KeepSolid
Одесса

Сейчас веб-разработка стремительно развивается, и Offline First приложения уже не кажутся чем то нереальным. То, что было преимуществом нативных приложений, реализуемо и в веб-приложениях.

В этом докладе я расскажу:

- как мы портировали нативное приложение для работы с документами, сохранив одно из его главных преимуществ - работу в Offline

- почему не смогли обойтись только Service Worker-ом для реализации работы в Offline

- что мы выбрали для работы с IndexedDB

- почему мы решили использовать Web Worker-ы и какие проблемы у них присутствуют