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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Была ли эта статья полезна? Спасибо за оценку! Возникла проблема при отправке оценки. Попробуйте позже

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