» » RailsClub 2017: Интервью с Антоном Давыдовым. Важно не останавливаться и предлагать концептуально новые решения

 

RailsClub 2017: Интервью с Антоном Давыдовым. Важно не останавливаться и предлагать концептуально новые решения

Автор: admin от 11-08-2017, 21:05, посмотрело: 22

Привет! Мы готовимся к RailsClub 2017 и традиционно беседуем с нашими любимыми спикерами. Сегодняшний герой — человек, получивший Ruby Hero Russia в прошлом году — Антон Давыдов. Антон OpenSource-энтузиаст и один из кор-разработчиков Ruby-фреймворка Hanami. Мы расспросили его о работе и взглядах на Ruby-разработку.



RailsClub 2017: Интервью с Антоном Давыдовым. Важно не останавливаться и предлагать концептуально новые решения





Над чем ты сейчас трудишься?

Я работаю в Healthcare стартапе, который может улучшить жизнь очень многим людям в США. К сожалению, подробности о продукте рассказать не могу, поскольку подписал NDA.

Если же говорить про OpenSource проекты, то сейчас мы дорабатываем версию Hanami 1.1. Также мы с Сергеем создаем библиотеку для Event Sourcing в Hanami. Она уже работает без глобал стейта, делает subscribe & broadcast для ивентов, поддерживает несколько адаптеров и позволяет легко добавлять свои. В будущем у нее появится много крутых возможностей: ретраи, построение дерева событий и документация ивентов из коробки.



В Ruby нечто похожее делается с помощью гема Wisper…

Да, он очень похож. Но Wisper реализует pub/sub только в памяти одного instance. А мы хотим позволить разработчику выбирать, как обрабатывать такие сообщения: в одном инстансе или заскейлиться на несколько.



А как будут добавляться новые адаптеры?

Достаточно зарезолвить их в контейнер. Сейчас у нас есть in-memory и Redis адаптеры, с которыми можно поиграть. В будущем появятся Kafka, RabbitMQ и, возможно, PostgreSQL.



Как ты видишь развитие Hanami в ближайшие четыре года?

Сейчас есть монополия в виде Rails. Я бы хотел видеть в Hanami достойную альтернативу. Это позволит развиваться всем фреймворкам. Hanami уже сейчас решает бизнес-проблемы, и многие разработчики вдохновляются этим инструментом. Надеюсь, в будущем мы сможем поменять мнение о Ruby как об умирающем языке и популяризировать новые идеи.



Как ты считаешь, сможет ли Hanami стать мейнстримом в будущем?

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



Как думаешь, почему именно Rails стал своеобразным стандартом в Ruby-разработке?

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

Сейчас кроме Rails нет ни одного полноценного MVC-фреймворка. Существуют Sinatra и другие http-фреймворки, но они не дают возможности взять и одной командой начать работу над бизнес-задачами.



Какие, на твой взгляд, проблемы стоят перед Ruby-сообществом?

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

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



Каким ты в целом видишь путь Ruby-разработчика?

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



Какой гем, по-твоему, может служить примером идеального кода?

Я бы точно не показал на Ruby core :). Я не могу сказать, что пишу хороший код, он не всегда нравится мне, поэтому сложно говорить о таких эфемерных понятиях, как качество и красота кода. Мне кажется, что лучшие гемы – это те, которые просто решают существующие проблемы и не создают новых.



Откуда ты узнаешь что-то новое о Ruby? Читаешь блоги или пользуешься другими источниками?

Мне нравятся агрегаторы ссылок, например, Reddit. Также я использую RSS. Это позволяет познакомиться с разными точками зрения на одну и ту же проблему.

Например, недавно появилась статья о том, почему Hanami – это плохо. И там был, по сути, ровно один пункт: в фреймворке магически вызывается метод call. Большая часть комьюнити дружно пыталась объяснить, что это нормально: излишняя явность иногда вредит. Очень интересно читать такие вещи – начинаешь смотреть на свою работу под другим углом.

Также у меня есть свой телеграм-канал, и его подписчики часто присылают мне интересные ссылки.



Помнится, ты делал платформу для совместной работы над OpenSource-проектами OSS Board. Ты еще занимаешься этим проектом?

Да, я его и сейчас продолжаю делать. Мне кажется, я недостаточно хорошо пропиарил OSS Board. Очень сложно найти людей, которые будут создавать там таски и выполнять их, особенно если стоит задача чуть сложнее, чем внесение изменений в форму. Основная проблема проекта — в поиске специалистов, которые смогут добавить хорошо описанный таск, ведь за ним нужно следить, обновлять и общаться с разработчиками, а это очень большой труд. Но все равно находятся люди, которые помогают, за что я им очень признателен.



Что ты считаешь своим главным достижением в карьере?

На один из pull request в Rails я получил более 80 комментариев с вопросами по поводу каждой строки. Я так и не смог его доделать, но в итоге стал проще к относиться к подобным вещам.

Также я закончил проект в Google Summer of Code. Там очень много людей сдаются на первом месяце, еще больше — на втором, и до конца доходят лишь единицы.



А что это был за проект?

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



Какие твои главные достижения в жизни?

Не побоялся выступить первый раз в жизни на английском языке на конференции EuRuKo-2016 в Софии перед аудиторией в 700 человек. На русском делать доклад легче, ведь это твой родной язык. А когда не очень хорошо знаешь английский и никогда не выступал на нем, это очень волнительно.



На кого из OpenSource-разработчиков стоит равняться?

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



О чем ты расскажешь на конференции и почему это стоит послушать?

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



Все вопросы вы сможете задать Антону на конференции. Приходите! Будет много всего интересного.

А поделиться этой статьей с англоязычными друзьями можно на Hype.Codes.



До встречи!

Источник: Хабрахабр

Категория: Программирование, Веб-разработка

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

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *