Александр Сулим взял у меня интервью об участии в Rails Rumble для журнала rubymag. Не скажу что я проявил свое ораторское искусство во всей красе, но послушать вполне можно.
Уроки Rails Rumble
Работая в привычной обстановке офиса/фриланса мы настолько привыкаем к какому-то единому распорядку, что перестаем даже задумываться о том, что можно работать как-то иначе. А ведь можно. В этом отношении участие в мероприятиях вроде Rails Rumble - отличная школа и уникальная в своем роде тренировка.
Сроки
Например, в обычной работе на самом деле редко бывает так, что на задачу выдается очень небольшой фиксированный лимит времени. Чаще всего deadline - это понятие, размазанное на несколько часов или даже дней. Если что-то пойдет не так - можно договориться, чуть-чуть сдвинуть, отложить. В условиях состязания счет времени идет на минуты, приходится соображать и делать все очень быстро, причем чем дальше, тем быстрее.
Команда
Обычно когда несколько человек работают над проектом, каждый решает свою задачу. Чаще всего все сводится к тому, что каждый работает над своей частью проекта, а затем между частями налаживается взаимодействие. Относительно общего времени разработки процесс налаживания связей занимает минимум времени. В условиях состязания все участники команды должны работать как экипаж яхты в шторм, как единый организм. Если один замешкался - остальные сидят и ждут, проект тормозится. Недопонимание опять же грозит задержками. Поэтому желательно, чтобы команда состояла из людей хорошо знакомых и уже сработавшихся.
Задачи
Если лимит времени ограничен, то все задачи должны быть расписаны заранее. Когда в процессе работы возникает вопрос “что делать дальше?” - это плохо, это значит что план недостаточно хорошо проработан или у участников нет полной картины проекта. Поэтому лучше всего чтобы проект был расписан практически по модулям и каждый заранее знал, над чем ему необходимо работать и как это повлияет на работу других участников.
Инструменты
Редок тот проект, который не завязан на какие-то сторонние библиотеки, программы, технологии. Чаще всего сторонний софт - это серьезная часть проекта, возможно, даже его основной функционал. Чтобы не сесть в лужу посреди проекта надо заранее протестировать те инструменты, которые вы собираетесь использовать. Понятное дело что застраховаться на 100% не получится, однако еще до начала проекта надо быть уверенным, что не придется менять коней на полдороге просто потому, что выбранный софт не выдает нужную вам скорость или функциональность.
Цели
Если уж вы решили ввязаться в авантюру, подобную Rails Rumble, определитесь для себя чего вы хотите достичь. Потому как на вторые сутки, когда очень хочется спать, тошнит от кофеина и все вокруг кажутся тупыми, начинаешь задавать себе вопрос - на кой хрен оно все надо? И тут не должно быть сомнений, ответ должен быть готов заранее и лучше даже в письменном виде :) Мотивация очень важна чтобы сохранять рабочий настрой в критические моменты.
По себе могу сказать, что все вышеперечисленное было у нас не на высоте и это, естесственно, сказалось на качестве исполнения проекта. Однако, меня его текущее состояние нисколечки не смущает. Думаю, в этом другие члены нашей команды со мной солидарны: работа над проектом RDocker на Rails Rumble только началась. Это, так сказать, стартовый толчок. Довести проект до ума еще предстоит.
Rails Rumble 2008 окончен
Как итог мы имеем вполне себе понятный прототип: RDocker. Слегка кривенький, с ползуйщей местами версткой, но уже позволяющий читать в одном окне документацию к gem-ам, плагинам и любым другим ruby-исходникам, которые можно получить по ссылке на репозиторий Git или SVN или через gem fetch.
Я не удивлюсь если нас дисквалифицируют еще до голосования - уж больно мы увлеклись фиксами и не отразили момент окончания состязания. А официальный блог подложил нам свинью - пост о прекращении огня как-то утонул под последующим постом про то, как сделать tag в гите и развернуть все на сервере.
И тем не менее, наша главная цель достигнута - сделан прототип, который будет в ближайшем будущем вычищен, несколько переработан и выложен в Open Source. Любой разработчик сможет поставить себе локальную RDocker’а и читать доки в удобном интерфейсе (каковым он опять же станет :)
Rails Rumble начался!
Итак, 48-часовой марафон начался, мы уже настроили наших стальных коней, запаслись шоколадками, пельменями и вовсю колбасим мега-проект для руби-разработчиков. Не переключайте канал - вас ждут увлекательные новости из мира Rails Rumble.
BTW, что очень сильно важно - код сделанного проекта будет выложен в Open Source для всех ruby-программистов. Поэтому мы сильно рассчитываем на вашу помощь и поддержку в плане тестирования проекта на финальных этапах запуска. Не планируйте ничего на вечер воскресенья :)
В Омск на Rails Rumble
С 17 по 20 октября буду в Омске. Так как трое из четырех участников нашей команды живут там, я решил выкроить несколько дней для поездки и тем самым сделать нашу работу более продуктивной - личный контакт в таких экстремальных условиях играет очень важную роль. Если у вас есть желание встретиться и пообщаться - милости просим. Я прибываю в город в 08.16 утра и уезжаю в 14.02 по Москве. Пишите письма на rene.dekart(собако)gmail.com
Между тем подготовка к Rails Rumble идет полным ходом. Общие принципы приложения продуманы, в пятницу будем обсуждать детали и распределять задачи. С учетом того, что чистого времени на разработку получается около человеко-месяца, можно сделать реально интересный и полезный сервис.
Кстати, уважаемые читатели, у меня к вам есть просьба. Пока еще не начался турнир и есть время - зарегистрируйтесь для дальнейшего голосования. Для этого потребуется наличие OpenID, его не составит труда завести прямо там же. Для голосующих в списке призов тоже предусмотрены приятные сюрпризы - 5 сертификатов от Amazon, которые будут розданы случайным образом. Вам может повезти :) А заодно и на работы коллег посмотрите.
Rails Rumble 2008: Началась регистрация
Подать заявку на участие можно здесь: http://app.railsrumble.com/
Спешите, осталось меньше половины мест.
А у нас между тем определился состав команды:
- Евгений Хлызов
- Иван Немытченко
- Анатолий Михайлов
- Алексей Дмитриев, т.е. я :)
В качестве концептуальной идеи взята одна из моих разработок, для которой был готов прототип, но так и не было времени довести его даже до альфы. В рамках Rails Rumble мы постараемся эту идею максимально качественно воплотить в жизнь. Вкратце скажу, что это будет специализированный инструмент для руби-разработчиков, призванный облегчить нашу с вами программерскую жизнь.
Времени до начала конкурса еще достаточно, поэтому пока будем продумывать техническую реализацию (есть одно концептуальное разногласие в выборе JS-фреймворка) и изучать сопутствующие инструменты, которые потребуются при работе.
Rails Rumble 2008: Опубликованы правила
На сайте Rails Rumble 2008 опубликованы правила участия. Собственно, ничего особо не изменилось, за исключением использования Git в качестве репозитория для кода. Оно и к лучшему.
Я уже точно буду участвовать, даже с командой вроде как определились. В выходные будет точно известен состав команды и концепция разрабатываемого проекта.
Rails Rumble 2008
18-19 октября состоится очередной Rails Rumble - 48-часовое состязание команд рельсовиков. В прошлом году мы с Иваном Немытченко участвовали в этом состязании. Из призов, правда, был получен уникальный опыт - вполне достойный приз. В этом году Rails Rumble будет гораздо более масштабным - организаторы заявляют о 200 местах для участников, что весьма впечатляет. Спонсоры тоже нормальные:
- Linode
- GitHub
- Thoughtbot, Inc.
- Rails Forum
- O’Reilly Media
- Engine Yard
- ActiveState
- Cashboard
- Apress Inc.
Список призов пока еще не озвучен.
Я вот подумываю снова поучаствовать, но подойти к вопросу серьезнее, добавить в команду третьего программера и дизайнера, а так же сделать максимум работы над проектом (из разрешенного правилами) до начала состязания. Да и идею продумать как следует.
