Как правильно проходить проекты

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

Готовьтесь к проектам!

В описании проекта есть список курсов и материалов, которые мы рекомендуем изучить перед стартом. Вообще, проекты органично встроены в программы обучения на Хекслете. И мы советуем обучаться, двигаясь по стеку курсов и проектов, определённому в выбранной вами профессии.

Технические детали подготовки описаны в нашей вспомогательной статье Как подготовиться к проектам. Обязательно её прочитайте (особенно, если у вас операционная система Windows).

Решение не должно быть СРАЗУ идеальным

Некоторые ученики стремятся написать с первого раза некий "идеальный" (в их представлении) код. На что тратят много усилий и времени: например, несколько дней "бьются" над одним шагом, пока не доведут его до "идеального" состояния. Как правило, по объективным причинам сделать это не получается. Хотя за это же время можно было пройти несколько шагов.

Отсюда два вывода:

  • С одной стороны, прилагайте максимум усилий, чтобы написать хороший код (в пределах того, на что способны вы, конечно). Стремитесь к тому, чтобы у наставника не возникло к нему замечаний.
  • С другой стороны, пишите код так, как можете — не переусердствуйте! Откиньте позывы перфекционизма, не усложняйте и не ищите глубокие смыслы. Для начала попробуйте написать решение, что называется, "в лоб" — выберите наиболее простой и понятный вам способ реализации.

Не молчите и не замыкайтесь

Проект — это выход из зоны комфорта (особенно для новичков), столкновение с новым и непонятным. То есть стрессовая ситуация. Некоторые ученики, столкнувшись со сложностями при решении задач, "уходят в себя":

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

И здесь стоит отметить, что "у страха глаза велики". Проект не так сложен, как может показаться на первый взгляд. Точнее, он спроектирован таким образом, что при равномерном распределении усилий (лучше "каждый день понемногу", чем "всё за один раз") вы успешно дойдёте до самого конца.

Поэтому не паникуйте и проявляйте активность!

Кому задавать вопросы

Задавайте вопросы вашему наставнику по ходу проекта. А еще на странице каждого шага есть публичный раздел "Вопросы ментору", где ранее участники проекта обсуждали с ментором задание текущего шага. Вам доступны эти обсуждения: пользуйтесь этой возможностью, читайте топики — здесь накоплен большой опыт решения часто возникающих проблем. И, возможно, ваш вопрос ранее уже поднимался и на него есть готовый ответ.

В слак-чате Хекслета есть канал #hexlet-projects, вступите в него. Здесь вы можете общаться на любые темы по проекту с другими студентами. Единственное ограничение: запрещено демонстрировать и обсуждать конкретный код.

Взаимоотношения между наставником и учеником

  • Наставник играет на вашей стороне. В его интересах, чтобы вы добросовестно и качественно выполнили проект.
  • Наставник направляет в правильную сторону, но не пишет код за вас. Не стоит ждать от него медвежьих услуг в виде прямых подсказок или готовых инструкций.
  • Обратите внимание, что на проекте отрабатываются ваши навыки работы в команде. При этом наставник выполняет роль стейкхолдера проекта. Ваши взгляды могут не совпадать с требованиями, которые предъявляет наставник — и это нормально. Но при возникновении таких разногласий и спорных ситуаций (по которым не удаётся прийти к общему решению) последнее слово остаётся за ним.
  • Относитесь внимательно к фидбеку от наставника: не стоит пропускать или игнорировать его замечания.
  • Приоритетное значение имеет качество кода — он должен быть не только рабочим, но и чистым. Поэтому к замечаниям наставника, касающимся качества и читабельности вашего кода (начиная от именования и заканчивая количеством пробелов), следует подходить со всей серьёзностью.

Бессмысленность читерства и списывания

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

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

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

Читер добровольно лишает себя всех этих плюшек. Поразмышляйте, насколько это разумно?

Сколько часов в день выделить на проект?

Если говорить про средние цифры, то рекомендуем выделить 2-3 часа в день на проект — этого должно быть достаточно для равномерного комфортного прохождения проекта.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Нужна помощь? Напишите нам Напишите нам