Rubyist, speaker, educator, GitLab CI evangelist


This page is created for those who consider inviting me to speak at their conference or meetup.
Let's see if I'm a good fit :)

* if at your conference it’s forbidden to wave your hands, then inviting me is pointless


✋About me

A guy from Siberia living living in Serbia. Using Ruby and Rails since 2006. Giving talks since 2010.What I do apart from conferences:
- teaching junior rubyists
- helping junior to get their first close-to-real-work experience
- launching educational products
- freelancing as a Rails developer
- fixing processes in development teams (CI/CD, PM, etc)

🔥My recent talk at RubyRussia


🎤Current topics:

1. Less abstract! Surprising effects of expressing rules of OOP in pictures.

Abstractions are both our blessing and our curse. Because of them, we're so powerful. But also we so often fall into the trap of miscommunication :( Abstract rules, operating with abstract terms, built on top of other abstract ideas. Ugh...In this talk, we're going to build a visual language to make things LESS ABSTRACT. I'll show you how it helps in:
- teaching others
- explaining non-obvious concepts
- refactoring messy code
- tracking codebase changes

FunComplexityLength
🍆🍆🍆🍆🍆🔧🔧~ 25-40 minutes

2. Modern usage of Make for modern developers

Make is considered a tool for old-school C/C++ developers. Though it save a lot of time in the workflow of almost any modern developer.With Make you no longer need to remember all these long commands to launch your app server and remember all the keys to deploy your app properly. Makefile serves as a library of you small regularly used mini-scripts. It behaves like a glue between multiple technologies (which is already a normal thing for an average project)In this talk we'll explore how modern developers use Make to save time and make their workflow smoother.

FunComplexityLength
🍆🍆🍆🍆🔧🔧~ 25-40 minutes

🎩 Past talks

2019

RubyRussia (Moscow, Russia) - “Solving architectural problems with OOP in pictures”
Saint P Ruby Conference (Saint Petersburg, Russia) - “Embrace multi-model thinking!”
RubyWine (Chișinău, Moldova) - “Multi-model thinking”
RubyConfBY (Minsk, Belarus), ruby.mn (Minneapolis, USA) - lightning talks

2018

Wroclove.rb (Wroclaw, Poland) - “Counterintuitive Rails”
RubyC (Kiev, Ukraine) - “Rails hurts because we're using it wrong”
Minskrb (Minsk, Belarus) - “What's wrong with Service Objects”

2017 and earlier

Keynote at SECON (Russia)
Shift Conference (Croatia)
Geekday (online)
Pivorak (Ukraine)
RubyMeditation (Ukraine)
Euruko (Bulgaria)
Stachka (Russia)
DumpIT (Russia)
SECR (Russia)
Highload++ (Russia)
VoxxedDays (Serbia)
GitLab World Tour (London, New York, Amsterdam)
Ruby Conf Taiwan

Recordings | 🔒Plans


🖍 Illustrations

I prefer to use my own drawings in my presentations:

Some of my presentations:

More of them at Speakerdeck


Sometimes I entertain conference attendees with my drawings in twitter:


There's a number of ways to reach me:

🔒Wishlist

ConferenceDatesCFP untilTime slot
☑️ParisRB Conf 2020Feb 18-19Proposal sent20 minutes + 5 minutes
☑️RubyConfAu 2020 Feb 20-21Oct 30 Sent30-45 min
Rubyfuza & friends 2020   
BalkanRuby 202015 – 16 May  
Wroclove.rb 202020-22nd March  
☑️DevConf.czJanuary 24-26Proposal sent25 mins
☑️GitLab ContributeMarch 22nd 2020Proposal sent30 + 15 min

1. Embrace-multi-model thinking!

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

Детально:Архитектор при строительстве многоквартирного дома должен учесть дофига всего. Водопровод, канализация, электричество, вентиляция, обогрев, лифты, пожаробезопасность - эти все должно учитываться, и не только не мешать друг другу, но и служить единой цели - комфортному проживанию жителей дома.С рельсами из коробки можно построить достойный гараж или даже солидный загородный дом. Но как только речь идет о том что из гаража нужно сделать хотя бы девятиэтажку, скиллов рельсо-строителя становится недостаточно.В результате, из стен торчат кучки арматуры и остатки прошлых жильцов, водопровод, канализация и отопление объединены в одну систему, а войти в здание можно только с третьего этажа. По нечетным дням.Я утверждаю следующее - чтобы справляться с задачами с тем уровнем качества о котором мы мечтаем, мы слишком зациклены на конкретных фрэймворках и библиотеках, и перестали видеть за деревьями лес. А это и есть главный скилл архитектора.SOLID и паттерны - это классно, но это чертежи архитекторов подводных лодок - там есть зерно истины но чтобы его применить надо быть архитектором и быть знакомым с подводными лодками.Мы не будем пробовать за полчаса сделать из слушателя архитектора. Мы взглянем на обычные ежедневные задачи разработчика под разными углами, используя разные подходы и точки зрения:1. Системный подход
2. Принципы разделения кода
3. Типы классов и объектов
4. Entry point pressure
5. Типы работы (выполняемой вашим приложением)
6. Строительные блоки и строимое
7. State
Рельсы могут быть painless, но дело не в рельсах.

МасштабностьХардкорностьПродолжительность
🍆🍆🍆🍆🍆🔧🔧🔧~ 40 минут

P.S. Если нужен доклад покороче, то можно сократить количество затронутых тем до трех-четырех.

2. Material Views as a first class citizens in Rails app

Material Views (M.V.) в Постгресе - это конечно не новость в 2019-ом. Но если вы пропустили, то это способ создавать виртуальные таблицы в базе данных на основе SQL-запросов.Это полезно, например, когда у вас сложная структура базы данных, и вам необходимо строить по ней отчеты.Недавно я был как раз в неприятной ситуации. Нужно было привести в порядок и ускорить сотню легаси-отчетов написанных в процедурном стиле на руби.В этом докладе я хочу рассказать как я выкрутился из этой ситуации и чему научился:
- как вводить новый тип классов в приложение (на примере M.V.)
- как при работе с M.V. не скатываться до SQL и не размазывать логику между приложением и базой
- как работать с M.V. не заморачиваясь при этом с миграциями и с версионированием видов.
- как с помощью скоупов превращать портянки процедурного кода в набор декларативных инструкций
В целом это доклад про пользу и область применимости M.V. в Rails-приложениях с конкретными примерами и техническими подробностями.

МасштабностьХардкорностьПродолжительность
🍆🍆🍆🔧🔧🔧🔧~ 20-35 минут

💻 Воркшопы

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

У меня есть две любимые темы:

1) Управление сложностью в Rails

Мастер-класс основан на базе материале из книги и курса

2) Continuous Integration с помощью GitLab CI

Воркшоп по Гитлабу строится на базе моего онлайн-курса

На обе темы можно сделать мероприятие разной степени интенсивности - от пары часов до пары дней :)

Есть еще одна премиальная мега-вип тема:

3) Lean Poker

С линпокером у меня больше всего боевого опыта. Я проводил его восемь раз: два раза в Белграде, и по разу в Москве, Омске, Екатеринбурге, Ульяновске, Львове и Питере.Это супер-крутая штука! По формату – однодневный полухакатон - полуворкшоп ;) Подробности про него можно почитать в моем блоге либо на официальном сайте.У него есть один недостаток - даже для комьюнити-эвентов он стал платным (450 евро за мероприятие), и из этих денег я не получу ни рубля. Есть спонсор? Тогда другое дело!

🎥 Recordings of my talks

2019

RubyRussia

Saint P Rubyconf

RubyWine

🤔Хм, кажется все не то..

Это только наиболее свежие и актуальные на текущий момент для меня темы. Вот еще набор тем, которые при должном внимании могут превратиться в годные доклады:

1. Injecting DDD into Rails: Making use of Bounded Contexts and Aggregates
2. Use Rails like it is 2019, not 2010: Embrace multi-model thinking!
3. ActiveRecord is not evil, you're just using it wrong!
4. Conceptual decompression
5. Rails vs Hanami vs Trailblazer vs X - how to even compare?

6. Introducing new building blocks into your app: 5 common mistakes and 4 rules
7. What's wrong with Service Objects and how to fix it
8. 100% coverage, TDD, Fast tests and other myths
9. System thinking for Ruby developers
10. Architect's view at Rails

Они в той или иной степени пересекаются с темами из моего курса Painless Rails.

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

Это предварительный план курса "Painless Rails" для прокачки рубистов до архитекторов. Привожу его просто в качестве иллюстрации того насколько глубоко можно копнуть в ту или иную тему при наличии интереса:1. Ориентирование на местности
2. Как строить?
3. Взгляд с высоты птичьего полета
4. Системный подход
5. Строительные блоки и строимое
6. Как делить код?
7. Объекты, типы и классы
8. Entry point pressure
9. Типы работы (выполняемой вашим приложением)
10. Моделирование
11. Data flow
12. State
13. Взаимодействие с внешним миром
14. Удовольствие от разработки
15. Certainty

Подробный план курса: