Тренды в Ruby на будущий год, за которыми стоит следить
В сентябре команда Evrone собрала крутейшие доклады в большую конференцию RubyRussia. В этой рассылке — инсайды организационного процесса и Ruby-тренды, за которыми стоит следить весь год до следующей конференции.
«Меня зовут Григорий, я DevRel в Evrone, и в этом году я готовил Ruby Russia Online, где также выступал в роли ведущего. По ту сторону экрана конференция выглядит совсем иначе, так что я хочу дать вам возможность посмотреть на прошедшее моими глазами».
Откуда берутся доклады?
Когда участвуешь в конференции слушателем, как-то не задумываешься, откуда берутся доклады. Наверное, люди сами узнают о конференции и предлагают выступить? Или откликаются на call for paper? Так или иначе, для большинства гостей конференции спикеры появляются из ниоткуда — одним словом, магия. Для организаторов все это выглядит иначе — несколько месяцев хождения по компаниям со словами: «Ruby есть? А если найду?». Я постучался в сотню организаций, провел десятки созвонов — все, чтобы поговорить с разработчиками, узнать, что они делают, что в их работах «подгорает» и может стать хорошей основой для выступления.
Ruby: взгляд из будущего
При создании конференций я никогда не рассматривал доклады как что-то обучающее или новостное. Для меня доклады — это в первую очередь интересные темы, которые поднимаются для обсуждения. Да, обсуждать онлайн не так удобно, как за фуршетными столами с чашкой кофе, но мы справились. Что мне запомнилось как ведущему и DevRel’у?На что стоит смотреть ближайший год?
Новый виток динамических языков
Матц, хотя мы и не обсудили его keynote, высказал крайне любопытную мысль о цикличности типов. Еще пару лет назад он довольно подробно разъяснял свое нежелание добавлять типы в язык. Матц внимательно следит за развитием Python, PHP, JavaScript, и видит, что сама возможность писать типы в бизнес-коде приводит к тому, что разработчики пишут их слишком много и там, где это не нужно, усложняя код. Идея Матца о цикличности типов предполагает, что статическая и динамическая типизации сменяют друг друга. По его мнению, через некоторое время наступит новый виток динамических языков, и он хочет видеть Ruby сильным игроком на новом витке развития технологий, что не может не радовать.
Разделение команд и кода по доменным областям
В докладе Александра из Toptal ключевым было разделение и команд, и кода по доменным областям. При правильной организации кода команды будут сами «защищать» границы своих частей проекта и не дадут распространиться «лишнему» коду.
Примеры архитектурных решений
Кирилл Мокевнин, автор Hexlet, записывал свой доклад из дома. Кинематографического качества не получилось, зато получился интереснейший рассказ, породивший бурную дискуссию. Посмотрите запись доклада, чтобы узнать множество архитектурных решений, которые Кирилл применяет уже больше 10 лет при создании Rails-приложений с примерами кода из Hexlet.
Ruby «мертв» и замечательно себя чувствует
Второй день я начал с раскрытия темы «Ruby мертв». Сначала — доклад Алексея из Домклик, а затем — круглый стол, где я спровоцировал участников поговорить про сложности языка в большом бизнесе. Но даже Gett, которые активно заменяют Ruby на Go, позитивно относятся к нашему любимому языку и высоко оценивают его сильные стороны. Так что — не мёртв :)
Еще раз о типах — RBS и Sorbet
С Виталием из GitLab обсудили типы, самое свежее и противоречивое, что сейчас есть в разработке на Ruby. Ключевое, на мой взгляд — для больших проектов RBS подойдет лучше, чем Sorbet. Это не значит, что Sorbet проиграл — у рантайм-проверок есть своя ниша. Но то, что сделал Матц, лучше подходит для больших массивов существующего кода, их улучшения маленькими шагами.
Ruby и высокая нагрузка
Сразу после Виталия выступил Алексей из Учи.ру, который поднял на обсуждение вторую болезненную в индустрии тему — скорость Ruby. В образовательном проекте нагрузка достигает 50-ти тысяч запросов в секунду и, как показало обсуждение, вообще ничего не мешает масштабировать рельсы до таких цифр. Да, не стоит делать предварительную пессимизацию, нужно следить за базой и снимать метрики, но, как говорят и Матц, и Дэвид Хэнсон: Ruby достаточно быстрый для всех практических применений.
В Ruby пошло много джунов
Завершил конференцию рассказ нашего старого знакомого из Питера, Артёма Кривоножко, про джунов. Из-за эпидемии мир проходит ускоренную цифровизацию, и Ruby снова играет красками своих граней: очень быстрая прототипизация для новых проектов и не менее быстрая скорость деплоя фичей в старых. Многочисленные онлайн-школы и курсы, открывшиеся в последние пару лет, обучают новых рубистов, хотя мы привыкли к тому, что Ruby — язык опытных фуллстек-разработчиков. Полагаю, мы сможем адаптироваться, ведь Матц сделал Ruby языком, на котором приятно писать код, а джунов всегда можно доучить.
Конечно, всяких интересных нюансов и деталей больше, чем мы описали выше. Если хочется погрузиться самому — добро пожаловать на YouTube, куда мы уже выложили все доклады.
События
ITeaConf 2021
14 ноября 2021 10:00–18:30
Четыре компании и одно сообщество энтузиастов объединились, чтобы сделать крутое событие, где можно будет обсудить текущие тренды в индустрии и спрогнозировать, как мы все будем жить завтра.
ITeaConf это "Beer JS Voronezh, DataArt, DSR Corporation , Evrone.com и Quantori. А ещё более 15 наших и приглашённых спикеров, два потока, несколько десятков докладов!
Ruby meetup №16
16 ноября 2021 19:00–21:00
На RubyRussia мы взяли н самые актуальные и яркие доклады, но были и другие — интересные, глубокие, которым просто не подошёл формат конференции. Но мы про них не забыли и они прозвучат в наших Ruby-митапах. Ближайший случится уже 16 ноября.
Вакансии
Evrone
Мы открыты для новых Ruby-разработчиков. Evrone работает удалённо с первого дня, участие в open-source проектах оплачивается, а расти в грейдах можно с помощью честной системы проверки навыков и менторства.