freeCodeCamp помогает обучать тысячи жителей Шри-Ланки, чтобы они могли присоединиться к команде разработчиков. Но большинство людей здесь до сих пор не слышали о платформе и глобальном сообществе, которое ее создало. Поэтому я и моя компания Fidenz Technologies решили помочь рассказать об этом нашим соотечественникам.

Мы вышли на сцену на мероприятии Google I / O Extended в Шри-Ланке и запустили инициативу под названием {code_blooded} с codeCampChallenges - платформой, на которой решаются задачи кодирования.

Мероприятие привлекло 2300 технических энтузиастов. На конкурс зарегистрировалось более 200 человек. Претенденты соревновались друг с другом, чтобы выполнить наибольшее количество задач по кодированию за ограниченное время. И победитель не только завоевал титул победителя, но и выиграл бесплатную поездку в Сингапур.

Фон

Fidenz Technologies - это компания по разработке программного обеспечения, базирующаяся в Коломбо, Шри-Ланка. Как и везде в мире, нам было непросто выбрать в Шри-Ланке подходящего таланта для работы в нашей компании. Давление стало еще более острым в связи с ростом спроса на предоставляемые нами услуги.

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

Вот два основных ограничения, с которыми мы столкнулись:

  • Поскольку мы проводили внутрифирменное обучение, у нас одновременно было всего несколько человек.
  • Старшие инженеры потратили много времени на обучение и наставничество этих новобранцев.

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

Бинго!

Именно тогда мы наткнулись на freeCodeCamp (на слабом канале softwareengineeringdaily.com). Эта платформа делает почти то же самое, что и мы, но без ограничений, или, по крайней мере, большинства из них.

Мы согласились с этого момента полагаться на freeCodeCamp для обучения наших новобранцев.

Тем не менее, в Шри-Ланке freeCodeCamp еще не приобрел той популярности, которой он заслуживает. У него было всего две группы в Facebook, каждая из которых насчитывала более 200 участников.

Именно здесь мы решили взять на себя инициативу и сделать freeCodeCamp более известным местному техническому сообществу. Мы хотели убедиться, что будущие технические специалисты из Шри-Ланки извлекут максимум из freeCodeCamp и станут профессионалами в программировании.

Мы воспользовались этой возможностью, чтобы познакомить с учебной программой freeCodeCamp еще пару вещей. Сюда входили учебные материалы для iOS, Android и .Net, которые у нас уже были в рамках нашего офлайн-процесса обучения. Мы также знали, что эти новые технологии не будут такими интерактивными, как HTML / CSS / JavaScript в рамках freeCodeCamp.

В конце концов мы решили использовать название {code_blooded}, которое прекрасно отражает наши намерения. Все, что мы хотим, - это дать всем, кто серьезно относится к программированию, почувствовать, что кодирование у них в крови. Цель нашей программы - сделать их {code_blooded}.

Google I / O Extended, Шри-Ланка, 2017

Идеальным форумом для запуска {code_blooded} было одно из самых ожидаемых событий в техническом сообществе, Google I / O Extended Sri Lanka 2017. Из-за 14-часовой разницы во времени между Сан-Франциско и Шри-Ланкой, Google I / O Extended - это ночное мероприятие в Шри-Ланке. Пока основной доклад не начнется в Сан-Франциско, на мероприятии в Шри-Ланке будут проводиться технические переговоры, запуск новых продуктов и множество других сессий, связанных с основным событием.

Чтобы воспользоваться этим графиком, мы предложили запустить {code_blooded} в рамках мероприятия Google I / O Extended, организованного в Шри-Ланке Центром инноваций Mobitel. Организаторы без лишних вопросов приветствовали нашу идею.

Наша команда придумала соревнование по программированию, которое могло бы вращаться вокруг существующих задач в freeCodeCamp. Команда решила, что победителем будет тот, кто завершит наибольшее количество заданий в течение 5 часов. Идея очень понравилась организаторам. Они даже согласились предложить полностью оплаченную поездку в Сингапур для обладателя первого приза.

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

Дьявол в деталях

Член нашей команды понял, что ответы на все вопросы freeCodeCamp доступны либо в вики freeCodeCamp, либо в профиле любого туриста. Это была полная катастрофа и категорический запрет на проведение соревнований с использованием freeCodeCamp. По договоренности с организаторами мы уже перешли точку невозврата. Это означало, что нам нужно было каким-то образом провести соревнование по программированию на Google I / O Extended Sri Lanka 2017.

Единственным выходом для нас было найти решение, и для этого конкурса нам пришлось разместить клон freeCodeCamp. При настройке этого клонированного веб-сайта возникло несколько проблем, поэтому мы изменили его в соответствии с нашими требованиями. Мы решили:

  • Ввести новый процесс регистрации
  • Сделайте все решения конфиденциальными
  • Создайте таблицу лидеров
  • Придумывайте новые задачи
  • Разверните и протестируйте новую платформу

Мы назвали нашу платформу codeCampChallenges, что и определило цель конкурса.

Самая большая проблема, с которой столкнулась наша команда, заключалась в том, чтобы уложить все это в 6-дневную повестку дня. Нашей команде пришлось немало потрудиться, чтобы решить задачи, которые могли длиться 5 часов. И если предположить, что за первое место будет бороться пара супергиков, нам пришлось приложить немало усилий, чтобы сделать испытания достаточно сложными.

Мы импортировали большую часть вопросов из freeCodeCamp и изменили 80 вопросов JavaScript. Пятеро наших инженеров включили 5 алгоритмических вопросов в список задач. Мы хотели, чтобы наша команда показала участникам, насколько тяжело это может быть. Они очень хорошо постарались, чтобы вопросы были достаточно сложными.

Как команда, мы рассмотрели все индивидуальные вопросы, оценив их от 1 до 10 в зависимости от уровня сложности. Эти вопросы последовали за 80 вопросами от freeCodeCamp, самые сложные - в конце.

Мы также установили некоторые правила, чтобы конкуренция была честной и честной. Руководящие принципы включали:

  • Если участник пропускает вызов, подсчет очков будет производиться только до этого конкретного испытания.
  • Кандидат, выполнивший задания за наименьшее количество времени, становится победителем.

Мы настраиваем codeCampChallenges в Heroku. Heroku - это платформа как услуга (PaaS). Это позволяет разработчикам создавать, запускать и управлять приложениями полностью в облаке. Поскольку freeCodeCamp изначально был настроен для работы на Heroku, мы не видели причин не использовать ту же платформу.

Мы провели несколько стресс-тестов, чтобы убедиться, что у нас достаточно ресурсов сервера. Мы также должны были быть уверены в его эффективности с 10 Performance-M / L Dynos. Никто из нас не хотел рисковать.

Используя 30-дневную бесплатную пробную версию LiveChatInc.com, мы интегрировали LiveChat в нашу платформу.

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

В общем, все успели сделать в срок. Снимаю шляпу перед всеми, кто упорно трудился, чтобы этот запуск прошел успешно!

День Д

Когда мероприятие началось, мы открыли конкурс для аудитории из 2300 технических энтузиастов. Более 200 пользователей зарегистрировались для участия в конкурсе и приступили к испытаниям.

LiveChat оказался спасательным кругом в этом соревновании по устранению неполадок. Многие сталкивались с тривиальными проблемами. Это не помешало им выполнить как можно больше задач за отведенное время.

Из более чем 200 участников около 150 обратились в службу поддержки через LiveChat. Мы наняли около 10 наших сотрудников, чтобы оказывать конкурентам онлайн-помощь. Наша команда очень повеселилась, помогая участникам вернуться в нужное русло. Фактически, как команда, будучи техническими специалистами, мы поняли, что очень серьезно относимся к технической поддержке.

За 5 часов около 50 участников выполнили 30 заданий. Но только лучшие могли претендовать на титул победителя. Ашан Берувалаге выполнил 85 испытаний, выиграв трехдневный тур в Сингапур.

Что дальше

С запуском {code_blooded} сайт freeCodeCamp получил широкую огласку и внимание технического сообщества страны. Грандиозный успех этого мероприятия дал нам энергию, чтобы вывести эту программу на новый уровень развития.

Теперь мы с нетерпением ждем проведения ежемесячных встреч исследовательских групп, начиная с августа. Мы также планируем посетить четыре государственных университета в следующем году, чтобы продвигать freeCodeCamp как лучший инструмент для начала программирования.

Fidenz Academy - это подразделение Fidenz Technology, которое обучает студентов и аспирантов. Некоторые студенты Академии используют клон freeCodeCamp. Большая часть обучения использует freeCodeCamp в качестве платформы для обучения и тестирования людей.

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

Вот несколько полезных ссылок, если вы хотите узнать больше.

Спасибо за прочтение!