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

Веб-разработка не всегда была моим занятием; Фактически, когда я посетил свой первый HackPrinceton осенью первого года обучения, я сильно ломал голову над тем, почему мои файлы javascript на Node не взаимодействуют друг с другом. В тот день я узнал различие между сервером и клиентом.

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

Я вырос в центре Нью-Джерси и учился в специализированной технической школе в Эдисон-Тауншип, где изучал электротехнику. Именно там один мой инструктор дал мне удивительный, изменивший жизнь совет:

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

Идея независимого обучения или, по крайней мере, инициативы по сбору и изучению ресурсов о том, что вас интересует, является центральным принципом индустрии программного обеспечения (и, возможно, многих других вещей). В каждом проекте, который я беру на себя, будь то команда веб-разработчиков или команда разработчиков HackPrinceton, главная цель - всегда учиться.

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

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

В прошлые годы команда веб-разработчиков также поддерживала веб-инфраструктуру для подгрупп, которые в ней нуждались, например, систему регистрации HackPrinceton. Они служили (и по-прежнему служат) отличными возможностями для студентов поработать над более крупными и сложными кодовыми базами и получить представление о рабочих процессах разработки в производственной среде (с использованием инструментов совместной работы над кодом, таких как git, выполнения запросов на вытягивание и обзоров кода, а также слияния и развертывания изменений). Поскольку у HackPrinceton теперь есть собственная команда разработчиков (с некоторым частично совпадающим составом), команда веб-разработчиков ищет новые возможности для работы над интересными проектами веб-инфраструктуры в рамках E-club.

Пройдя к этому моменту стажировку в двух компаниях, Vonage и Yext, и в настоящее время проходя стажировку в MongoDB этим летом, я обнаружил, что многие методы, которые мы применяем в команде, полностью соответствуют тому, как рабочие процессы разработки происходят в отрасли. Попасть в компанию, которая уже знала, как использовать git, и перемещаться по большим кодовым базам, было благом и помогло мне быстро начать работу над интересными проектами. Из каждого проекта, над которым я работал, всегда было что вынести, и каждый раз это помогало мне становиться лучше.

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