Люди, которые запускают стартапы, не всегда имеют компетенции в разработке программного обеспечения. Когда дело касается поиска разработчика в качестве сооснователя в команду, всё более менее прозаично — главное, чтобы человек хотел, горел, был своим по духу. Но когда нужно привлечь студию или разработчика на проект, чтобы он сделал базовую версию продукта — вот здесь начинаются грабли. В этой статье о том, почему стоит любить и искать Ruby-разработчиков.

***

Во время подготовки курса «Программирование на Ruby on Rails для новичков», Алексей Поимцев — основатель и СЕО студии веб-разработки Progress Engine, который и будет вести этот курс, разразился тирадой, что Ruby — хорошее решение не только в качестве первого опыта в программировании, но и как основной инструмент для разработки.

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

Выше качество разработки

Актуальные данные — на российских сайтах по поиску работы 20 млн. резюме PHP-разработчиков, и только 2 млн. тех, кто работает с Ruby. Это объяснимо — чтобы врубиться в Ruby, нужно приложить больше усилий.

Если каждый школьник может открыть книжку «PHP для чайников» и через пару недель отправлять направо и налево своё резюме, то с Ruby требуется нормальная подготовка.

Это значит две вещи: что среди PHP-разработчиков намного выше конкуренция, и что качество полученного кода в итоге будет лучше, чем на PHP.

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

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

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

Благодаря им рынок забивается некачественными ИТ-продуктами, а клиенты теряют веру в возможность найти адекватных разработчиков. С другой стороны, это не означает, что нужно выбирать для своего продукта те языки, к которых самый высокий порог входа. Есть, например, Java, у которой порог входа очень серьёзный — на ней вы скорее всего даже для самого простого проекта получите тяжёлое приложение с кучей зависимостей и технологий, без которых в нормальной жизни можно было бы обойтись.

На мой взгляд Ruby, и фреймворк Ruby on Rails поддерживают идеальный баланс между заниженным порогом входа и избыточной сложностью результирующего продукта», — говорит Алексей.

Живое сообщество, которое активно помогает новичкам

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

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

Последующая поддержка

Поскольку разработчики на Ruby чаще всего приучены к структурному и понятному коду, заказчик получает сразу два бонуса:

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

Поддерживать код на Ruby проще и легче, чем на большинстве других решений.

Скорость работы и возможности

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

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

Всё это сильно ускоряет разработку — зачем писать то, что уже написали до тебя, да ещё и качественно?

Алексей Поимцев: «Давайте немного вспомним историю. PHP, чье говорящее название изначально означало personal home page, был заточен изначально под web. Но, как вы понимаете, на веб-разработке свет клином не сошелся — у людей есть потребность в мобильных приложениях, десктопных и embeded для различных устройств.

Частично эту проблему пытались решить разработчики Java, но в погоне за универсальностью они забыли о производительности и как результат — большинство Java-приложений крайне ресурсоёмкие. В случае с Ruby все гораздо интереснее — вначале появился проект MacRuby, который позволил писать «нативные» приложения для платформы OSX.

Позже из него вырос проект RubyMotion, который дал возможность писать мобильные приложения для iOS и Android на Ruby, а также проект Foundry, позволяющий использовать Ruby для программирования различных устройств. На мой взгляд, с таким инструментарием даже не самый опытный разработчик будет проворен и многофункционален».

***

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

Широбоков Никита,

Автор #tceh