Отзывы студентов

о проектах

Труднее всего, в плане алгоритма, было задание семь. Никак не мог придумать «красивое» решение, «в лоб» кривое нашел быстро, но был уверен, что есть какое-то изящное. И как вдруг осенило :) Ближе к концу почувствовал «скачок» в навыках, появились идеи как реализовать один pet-project ;)

Наверное будет полезным, рассказать почему захотел пройти курс и вообще заинтересовал Hexlet. Я работаю в ИТ-давно, и вообще я довольно старый для ИТ, 37 лет. В основном занимаюсь тематикой около администрирования, DevOps, виртуализации. Имею сертификаты Cisco, VMWare. Немного руковожу другими людьми(3 человека). Пишу скрипты на Пайтоне, PowerShell давно, но всегда хотелось что-то создавать, писать, понимать как устроены системы изнутри. Создавать системы. Хочется немного сменить род деятельности, попробовать себя в программировании.

Планирую пройти все проекты, по курсам дошёл до автоматов(осталось последнее задание). В общем всё прозаично. :)

Спасибо за твое с Кириллом терпение. Была замечательная неделя с большим количеством эмоций и зарядом опыта и знаний.

о проектах

Начну с советов для раздумывающих над вступлением в проект:

1) Пройдите все рекомендуемые курсы. Даже если у вас есть бэкграунд. Со мной это сыграло злую шутку и я завалил второй проект с первого раза. Более того, убедитесь, что вы поняли весь материал, а не просто прослушали теорию и прошли тесты на решении практики. Решайте дополнительную практику, задавайте вопросы. Когда вас выпустят в чистое поле, у вас не будет ничего, кроме ваших знаний.

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

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

Объем информации и опыта при прохождении равноценен выполнению долгосрочного семестрового задания в институте (которое дают на два-три месяца).

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

о проектах

Очень понравился процесс организации и работы в проекте. Было очень интересно и с настройкой окружения пришлось повозиться, тк для меня node и js вообще новый стек. Очень много взял из общения с менторов - комментарии и замечания всегда давались четко, структурировано и лаконично.

Когда нужно было разработать архитектуру я сначала сделал ее очень неудачно, но после правильного и легкого намека от ментора переделал всё и сам был очень доволен результатом :) получился логичный и структурированный код. Проекты порадовали и хочу пройти их все, а так же хочу максимально взять знаний у менторов и почаще с ними взаимодействовать. Это очень ценная возможность.

о проектах

Всем привет! Хочу рассказать о своем опыте прохождения проектов. Сразу оговорюсь, что узнав о таком интересном нововведение, бросил свой почти законченный путь по стеку PHP и окунулся в мир nodejs. Сделал я это только по одной причине: проекты - это самое важное, что даёт этот образовательный ресурс. Можно долго решать какие-то задачки, проходить курсы, без этого никуда, но основной толчок в собственном понимании того, к чему всё это идёт, дают именно проекты. Признаюсь честно, после прохождения курсов по PHP, курсы по nodejs казались гораздо более продуманными, более ориентированными на новичка. Проходил их достаточно быстро (никогда не делал больше 1-2 шагов в день, иначе решение дается очень легко, но в голове ничего не остается), кроме нескольких довольно сложных моментов, на уроки по которым запросто могло уйти несколько дней, а то и неделя.

Первый проект

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

Второй проект

Второй проект не получилось пройти с первого захода, наверное я один из немногих, кто с этим столкнулся. Здесь вылезло всё то, что возможно стоило внимательнее изучить в первом проекте: travis, babel. Потерял на этом драгоценное время, потому что не думая копировал куски из первого проекта, пытаясь бездумно привязать их ко второму. Плюс с этого момента вся разработка обязана была идти через тестирование, которое далось не сразу... А вместе с самой сложной, на мой взгляд, логикой самого проекта с абстрактно-синтаксическими деревьями, это выросло в итоговый провал. Конечно, вторая попытка оказалась успешной. Все это навело на очень важный вывод: здесь всё очень строго, никто никаких поблажек давать не собирается и готовиться нужно заранее, четко зная весь материал курсов и овладев инструментами предыдущих проектов. После этого я даже переносил старт следующих проектов, чтобы быть готовым и не поплыть в пучине теории и документации вместо обдумывания и написания кода. Касаемо навыков полученных от проекта: в первую очередь, конечно, акцент на TDD, авторы большую роль уделяли именно этому аспекту, необходимость написать тест, а только потом самого кода и его отладка с пониманием того, что и где ты делаешь не так каждый раз запуская тесты; затем алгоритмы, деревья, что занимало немало времени, в добавление к этому было необходимо использовать стороннюю библиотеку lodash, от которой ждал функции, которая вжуххх и сделает всё, что мне нужно) конечно, это было уж слишком наивное заблуждение; в завершение несколько внутренних библиотек nodejs, собственно создание cli утилиты с помощью соответствующего фрэймворка и использование в разработке некоторых шаблонов проектирования.

Третий проект

К третьему проекту я подошёл намного ответственнее и начал его только разобравшись в курсах по асинхронности. Это заняло много времени, но результат того стоил и работа с промисами шла не без проблем, но проще, чем с профильными курсами. Сложность подстерегала на этапе тестирования, где я по началу вообще отошел от tdd и тупо проверял, скачалось ли что-то. Это было против правил и тесты в итоге я сформировал, но уже скорее по результату сделанной работы... Сам проект я делал с большим желанием, было интересно, как мой итоговый код обрабатывает любые страницы из сети, выхватывает оттуда что-то необходимое и складывает в нужную мне папку! Было очень полезно ознакомиться с debug, до этого я просто ставил console.log, чтобы как-то распознать, где и как что-то делаю не так, здесь же с помощью нужных параметров мог отследить на каком этапе что происходит в логах; работа с http запросами; обработка ошибок на разных этапах с дружелюбным к пользователю предупреждением о соответствующих неточностях; тесты с применением мокинга, имитации реальных запросов. Этот проект был пожалуй самым спокойным в плане работы.

Четвертый проект

Четвертый проект был самым интересным, очень волнительно зайти по сгенерированному на хироку адресу и увидеть результат своей работы! Сама по себе визуальная составляющая хоть и была мной реализована на достаточно простом уровне, но всё же интересно было поработать с Bootstrap и версткой. Сам проект включал себя кучу новых инструментов. Несмотря на то, что перед самим проектом я пару недель изучал все будущие фрэймворки, пакеты, библиотеки старт вызвал много сложностей. Во-первых был соблазн использовать образец, на который советовали ориентироваться, но мне хотелось самостоятельно разобраться и попробовать независимо от него всё реализовать, это пошло на пользу, но растянулось во времени и всё равно пришлось многое перекинуть с образца. Во-вторых сложность самих новых инструментов. В-третьих базы данных, связи, ORM с какой-то непонятно структурированной документацией, это было непросто испортило немало нервных клеток. Жаль, что курс по базам данных идёт сейчас немного ограниченным по сравнению с проектом. В-четвертых сам Bootstrap. Не знаю почему, может только мне было непонятно, но даже подключить его было целым делом. Это не пакет, который устанавливаешь в зависимости, используешь через импорт и вперед. Его использование в комплексе с webpack, тоже новым для меня инструментом оказалась большой головоломкой. Увидев папку mixins в образце, меня охватил ужас, я закрыл её и сделал по-своему, но в комментариях учитель подсказал, к какому печальному итогу это может привести в случае будущих изменений. После всех этих мучений и переделок почти что с нуля, появилась какая-то легкость и понимание, что писать и в дальнейшем редактировать код становится действительно проще! Основным ядром проекта был конечно Koa, после очень доступного курса по Express работа с ним не несла никаких страданий, async/await создавало ощущение, что асинхронности ка-то даже и нет. В тесты тоже многое взял из курса по express. По итогу последний проект безусловно можно назвать самым важным, в нем все вырисовалось в единую картину с пониманием различных этапов моментов и акцентов всех курсов.

о проектах

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

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

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

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

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

Хотите добавить сюда свой отзыв или историю успеха?
Напишите нам на support@hexlet.io