В Rithm мы считаем, что один из лучших способов подготовить студентов к работе в качестве веб-разработчиков — предоставить им возможность работать над реальными проектами. Работа над личными проектами может быть интересной, но работа в команде или над существующей кодовой базой дает учащимся представление о повседневных задачах разработчика, которые иначе они могли бы не узнать. Наша шестая группа близится к завершению работы над этими проектами, поэтому мы поговорили с нашими ученицами Мирандой Ховитт и Паулой Гойанес, чтобы узнать их мнение об этом опыте.

Опишите себя в нескольких предложениях (откуда вы родом, чем вы занимались до буткемпа, что-то уникальное в вас).

Пола: Привет! Я родом с Кубы, вырос в Южной Флориде. Я приехал в Bay Area после получения степени по биохимии, чтобы продолжить работу в области биотехнологий. Несколько лет я проработал в биотехнологии, в конце концов устроившись на работу в стартап по геномике из 10 человек, где я работал кросс-функционально с командой инженеров (и впоследствии влюбился в разработку программного обеспечения). Уникальный факт: я очень люблю поросят и определенно не ем свинину (плохая кубинская, извините, абуэлита).

Миранда: Привет! Меня зовут Миранда, и я уроженка Сан-Франциско (мне сказали, что мы редкая порода). Я получил степень бакалавра психологии в Нью-Йоркском университете и 4 года работал в сфере управления персоналом в технологических компаниях до Rithm. Во время работы в отделе кадров я начал проявлять интерес к программированию. Я видел, как мои коллеги создают эти удивительные приложения, и думал про себя: «Это выглядит так весело! Я хочу сделать это!» Забавный факт: я 12 лет посещала школу французского погружения и определенно ем свинину (извините, Паула).

Как бы вы описали опыт работы над проектами этих компаний? Не могли бы вы рассказать нам немного о проектах, над которыми вы работали?

Паула: Я не могу переоценить ценность работы над этими корпоративными проектами! Я работал над Course Report, инструментом для будущих студентов, изучающих программы буткемпа (например, Rithm!). У нас была возможность работать над большой кодовой базой с дополнениями за 5 лет. Работа над монолитным приложением Ruby on Rails такого размера дала нам возможность изучить преимущества и проблемы работы с реальной производственной кодовой базой, предоставить уроки по навигации в новой кодовой базе, поддерживать общение и исследовать неизведанные территории. Роль также была полной, и было очень приятно видеть, как исправление мобильного CSS, так и полная реструктуризация алгоритма сопоставления идут в производство.

Миранда: Я работала в компании Tunelark (дуолинго-подобное приложение для изучения музыки), и это был один из самых полезных опытов, которые у меня когда-либо были. Поскольку компанию создавали и обслуживали два человека (потрясающее начинание!), у них накопилось огромное количество фич и багов, на которые у них не было времени, и с которыми мы должны были разобраться. Было очень весело видеть, каково это — работать полноценным инженером в реальной компании с реальными последствиями.

Насколько велика ваша команда? Чему вы научились, работая вместе?

Паула: Команда инженеров Course Report может похвастаться одним потрясающим штатным инженером (как он это делает?!), а также четырьмя учениками Rithm и одним инструктором. Мы программировали все наши задачи в парах, поэтому мы все действительно улучшили свои навыки совместной работы и, безусловно, оценили разницу, которую может иметь вторая пара глаз. Мы также тесно сотрудничали с техническим директором из Австралии, а это означает, что мы научились гибко планировать свое расписание и эффективно общаться, чтобы соответствовать ограничениям часового пояса.

Миранда: В нашей команде было 3 студента Rithm, 1 инструктор (великолепный Мэтт Лейн), а также генеральный директор и технический директор Tunelark. Мы программировали в парах: одна пара студентов с Мэттом, а другой — с техническим директором. Это была, пожалуй, одна из самых ценных возможностей, которые у меня были в Rithm. Как инженер-программист с новым лицом, я не мог представить, что буду работать напрямую со старшим инженером-программистом на любом другом буткемпе. Как команда, мы научились оттачивать свои коммуникативные навыки (технические и другие) и на собственном опыте узнали, как выглядит правильный рабочий процесс Git. Я чувствовал, что наш корпоративный проект действительно помог увидеть важность командной работы на рабочем месте.

Чего вы достигли, работая над этими проектами?

Паула: Course Report — это проект Ruby on Rails, и выбор нового языка и фреймворка за несколько недель — одно из самых крутых достижений нашей команды. Мы также внедрили более дюжины исправлений CSS для мобильных устройств, и было очень приятно видеть, что их быстро запускают в производство. Нам также пришлось реализовать несколько замечательных внутренних функций, в том числе капитальный ремонт функции сопоставления (где учащиеся подбираются к лучшей для них школе) на основе взвешенных отзывов, соответствующих городу, в котором учащийся искал (в отличие от всех отзывов). .

Миранда: Мы многого добились, работая над проектом нашей компании, но больше всего выделяется функция полного стека, которую мы разработали за последние полторы недели. Эта функция записывает звук и сохраняет файл в корзине AWS S3; мы также создали пользовательский интерфейс/функциональность для воспроизведения записей. Мы также использовали React для записи нажатий клавиш пианино пользователя в рамках новой музыкальной игры.

Что было самым сложным в работе над вашим проектом?

Паула: Научиться перемещаться по большой кодовой базе Ruby on Rails, написанной на незнакомом языке, было захватывающим (и, конечно, сложным). Процесс потребовал внимательного прочтения множества (к счастью, хорошо составленной) документации. Круто то, что менее чем за неделю мы использовали то, что теперь (чуть больше) демистифицирует магию Ruby on Rails, чтобы писать качественный код для производства.

Миранда: Одной из самых сложных (и захватывающих) вещей, которые нам приходилось решать в проектах нашей компании, было изучение совершенно новой среды (Ruby on Rails), языка (Ruby) и кодовой базы, полной код, который мы никогда не видели. Не буду врать, это определенно заняло большую часть первой недели, чтобы привыкнуть, и подтолкнуло меня к тому, чтобы стать быстро адаптирующимся разработчиком. К концу первой недели мы почувствовали себя более уверенными в себе и своих инженерных навыках.

Как разработчик, чему вы научились в результате работы над производственным кодом?

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

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

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