Learn by doing
Всем привет, меня зовут Владимир Воробьев, я Ruby разработчик и один из организаторов RubyGarage.
Вдохновившись статьей Игоря Томича, я тоже решил поделиться нашим опытом обучения IT специалистов.
Кто мы есть и что мы делаем
Мы команда Ruby/Rails разработчиков, называемся мы RubyGarage. Мы разрабатываем web и mobile приложения для наших клиентов. Своих продуктов пока нет, но очень хочется, начали делать шаги в этом направлении. Также, мы сделали трехмесячный обучающий Ruby/Rails курс для всех желающих научиться программировать в этой технологии. На данный момент курс бесплатный и именно о курсе я хотел бы рассказать.
Цель этой статьи — поделиться своим опытом, получить обратную связь от людей кто делает подобные вещи, найти людей которым это интересно и объединить наши усилия
Немного исторической хроники
Все началось в сентябре 2011 года. Именно тогда зародилась идея создать первые бесплатные курсы по Ruby/Rails. Проходили они на базе компании Ciklum, за что им огромное спасибо. В частности, отдельное спасибо Светлане Ефимовой бранч менеджеру Днепропетровского офиса компании Ciklum, за поддержку и доверие, Ольге Маршалко, за то, что собрала всех желающих попасть на первый курс, Андрею Крайнему и Ольге Плуталовой, за поддержку и помощь в организации.
Желающих попасть на курс собралось около
До окончания курса ‘дошли’ 6 человек, остальные, 5 ‘отвалились’ по дороге, не выдержали нагрузку, так сказать. Все шестеро выпускников сейчас успешно работают на должности ‘Ruby/Rails разработчик’ в различных компаниях.
Вчера, 29 апреля 2013 года, мы стартовали четвертый курс ‘Ruby/Rails разработчик‘ в Днепропетровске, он все еще бесплатный, но я уже не один и мы продолжаем экспериментировать. До чего мы дошли, какие темы даем, как построен процесс обучения смотри ниже в разделе ‘О курсе’.
Параллельно, я активно ‘шарил’ презентации, структуру курса, рассказывал как его вести, в чем его суть, всем желающим из других городов (Киев, Львов, Харьков, Одесса, Ивано-Франковск, Москва, Минск, Лос-Анджелес, Сан-Франциско) . Все, кто хотели провести курс, получали такую возможность. Большинство компаний начинали читать этот курс под своим ‘флагом’, но мне было не важно, что занятия выходят не под моими авторскими правами, самое главное, что информация шла дальше, качество улучшалось, люди получали полезную информацию, навыки, умения и в итоге профессию.
Сейчас, группа киевских энтузиастов заканчивает уже второй Ruby/Rails курс. Спасибо большое им за то, что передают знания, это Михаил Бортник, Денис Ягофаров, Сергей Гопкало, Александр Розумей, Александр Шило и Сычев Артем.
Так же много благодарности днепропетровской команде тренеров, это Алена Меховова, Евгений Заболотный, Михаил Евсюков, Татьяна Ямнич, Виктор Долгишев, Любовь Колосовская.
О курсе
Теперь подробнее об идее, наполненности, структуре курса и кому он будет интересен.
На сегодняшний день, недостатка в IT образовании нет, существует превеликое множество ресурсов из которых можно почерпнуть информацию для саморазвития (книги, интернет, интернет-курсы), а также, у желающих есть возможность обучаться в специализированных школах, колледжах и вузах и быть в «IT струе» уже с ранних лет. По сути, мы Америку не открываем и всю информацию, которую даем, можно получить из других источников. Смысл в том, что курсы ведут именно практики, те люди, которые сегодня работают на передовой, на реальных проектах. Эти люди, зачастую, не являются профессиональными преподавателями и на жизнь себе зарабатывают тем что программируют, а не читают лекции в вузах. Таким образом происходит прямая передача знаний и, что наиболее важно, опыта.
В процессе обучения постоянно используются такие практики как парное программирование и код ревью. Эти же практики преподаватели используют в повседневной работе, если не используют, учатся их использовать прямо на курсе. Да-да, именно учатся, многие программисты идут преподавать потому что хотят ‘прокачать’ свои скилы в публичных выступлениях, менторстве, парном программировании, код ревью, коучинге, тимлидерстве и, как ни странно, более глубоко погрузиться в технические аспекты, которые используют каждый день на своих рабочих местах, ибо чтобы дать кому то информацию/знания/умения/навыки надо их для начала иметь.
Студенты на курсе учатся не просто программировать, а правильно программировать, уровень правильности, конечно же, зависит от преподавателей :). Так же большой фокус не только на программировании, а и на способности решать задачи, работать в команде, строить рабочий процесс, налаживать коммуникацию. Если быть кратким, мы учим студентов не просто программировать, а учим их создавать продукт. Именно в софт скилз ‘прокачиваются’ не только студенты, а и преподаватели курса. Цель курса в этом и состоит, чтобы симулировать реальный процесс разработки на проекте, при этом уделять внимание не только техническому аспекту (как по мне, разработчик технически должен быть крут по умолчанию), а еще и психологическому. И на выходе те студенты и тренеры, которые пройдут все ‘круги ада’, смогут полноценно решать задачи на проекте, без всяких там PM’ов и архитекторов. Простите, если кого обидел :). Таким образом, все, и студенты и преподаватели, получают недостающий опыт, чтобы взойти на следующую ступеньку своей карьерной лестницы.
Краткая программа текущего Ruby/Rails курса
- Основы языка Ruby
- ООП в Ruby
- Метапрограммирование в Ruby
- Инфраструктура в Ruby и его социальные инструменты
- Написание тестов
- Как делать TDD
- Создание первой собственной библиотеки на Ruby (создание собственного gem’а)
- Введение в Rails
- Модели и ActiveRecord
- Routing и Controller
- Views
- Как делать BDD
- Rails Engine
- Frontend инструменты — Haml, Sass
- Frontend программирование — CoffeeScript, Backbone.js, AngularJS, Jasmine
- Rails инструментарий (изучение популярных gem’ов)
- Развертывание Rails приложений на сервере — Capistrano, Chef
- Знакомство с Agile методологиями и практиками
- Создание первого собственного стартапа
Каждое занятие сопровождается обилием примеров и практических заданий на дом.
И так, что для себя получает студент, если закончит курс:
- Навыки программирования на Ruby
- Навыки создание web приложений на Rails
- Опыт разработки по TDD и BDD
- Опыт парного программирования
- Опыт в разработке реальных проектов (зачастую именно первого опыта и не хватает начинающим программистам)
- Опыт в построении коммуникаций в процессе разработки (учимся общаться)
Что получает преподаватель если проведет курс:
- Навыки публичных выступлений
- Навыки обучения других людей
- Навыки создание команды
- Навыки управление командой и проектом
- Навыки общения
- Навыки парного программирования
- Навыки код ревью
- Более глубокое погружение в технологию
Хоть обучение и бесплатное, плюсы есть для всех.
Почему бесплатно, не мышеловка ли это?
Мы уже долго думаем, а не сделать ли нам курс платным. У нас было, думаю еще и будет, много дебатов по этому поводу. Как всегда есть свои ‘за’ и ‘против’.
Обучение — это большой труд и его надо оплачивать. С другой стороны, мы учимся обучая других людей, и бывает что многие вещи мы делаем не очень идеально, также не хочется делать обучение своим основным ремеслом, а чтобы брать за это деньги, надо быть в этом профи и уделять много времени этому. Таким образом преподаватели курса могут превратиться в обыкновенных преподавателей, очень сильно «теоретизироваться» и забыть, что такое программирование в поле :). Конечно же бесплатность не мотивирует, но я верю, что придет тот миг, когда мы начнем зарабатывать с нашего хобби.
Вообще, мы категорически против того, что бы курс позиционировался от имени какойто конкретной компании. Таким образом, мы ограничим в первую очередь себя. Но от помощи мы не отказываемся, а с благодарностью всегда принимаем предложения стать нашими хостингпартнерами во время проведения курса. В свою очередь, окончив курс человек сам может выбирать где ему работать, нет никаких обязательств.
По окончанию курса мы не прощаемся с нашими студентами, после этого создается очень полезная и душевная тусовка.
Планы
Я не знаю куда приведет нас этот эксперимент, мы просто делаем это в свое удовольствие. Сейчас, различные компании предлагают провести этот курс на коммерческой основе, но не для сотрудников, а для новых людей, а это противоречит нашей философии. Так же, поступило предложение от ребят из CodeSchool о совместном сотрудничестве, но это интересно тем, кто хочет перейти из профессии программиста в профессию преподавателя. В своей практике мы планируем создавать стартапы вместе со студентами в процессе их обучения. Возможно, предвещается появление интересного продукта. Есть огромное желание найти людей которые подготовят обучающую программу по технологиям Phyton, iOS, Android, JavaScript server side. Наша позиция такова — пока чтото делается будем делать!
Приглашаем к сотрудничеству IT специалистов у которых уже есть опыт и желание учиться обучая. Приглашаем всех желающих посетить наши курсы. Программировать это не сложно, этому можно научиться. Мы рады всем, кому интересно направление IT. Приходите просто пообщаться или задавайте вопросы прямо здесь и сейчас :).
Всем желаю, каждый день открывать для себя что-то новое и двигаться только вперед! Когда картинки и люди меняются перед глазами, жить намного приятней и веселей.
Регистрация на курс.
Email для контактов [email protected]
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
38 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.