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

Благодаря команде «Hexlet» мною сделан очередной важный шаг на пути в освоении профессии Бэкенд JS-программист, им стало участие в проекте «Вычислитель отличий».

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

Начало проекта у меня прошло под девизом «Долой мутации!!!». Как оказалось, где они только не были скрыты. Далее я понял сущность и реализовал на практике такие паттерны программирования как «Фасад» и «Адаптер». На этапе построения AST дерева я больше понимал эту структуру данных, возможности работы с ней.

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

Хочу отдельно поблагодарить Кирилла Мокевнина – ментора, ведущего проект, за его желание делиться знаниями и учить.

Ребята, так держать!

Когда только приступил к проекту, голова пухла от обилия информации, которую нужно прочитать. git, npm, настройка окружения. Выбрал стратегию (не сознательно, скорее мозг включился в режим) "поиск минимально необходимой информации, чтобы пройти на следующий шаг". Получил палку о двух концах, пример с гитом, если бы сел и просто прочитал внимательно документацию, то не столкнулся бы с проблемой откатов, если задание учитель не принял, а так по началу зацепился за команду git reset —hard... один раз ее исользовав, очень стимулирует больше не повторять. Вывод для себя: не филонить с подготовкой к проекту, и читать документацию более вдумчиво.



Что получил в процессе. Понял что, пройденные курсы на Хекслете очень повлияли на стиль программирования, руки сами пишут код в функциональном стиле. В целом программирование я изучал, можно сказать со школы, потом колледж, но фактически не работал по профессии, но везде учили "императивщине": циклы, переменные и т.д.
 В проекте же даже мысли не возникло использовать циклы, только рекурсия, только константы.



Так же уяснил для себя нюанс, если прочитал документацию и что-то не понял, лучше уточнить у ментора, чтобы не осталось белого пятна, и оно не вылезло в проект. У меня это был пример с семантическим версионированием, я не до конца понял, когда изменения сделанные в программе, изменяют минорную версию и мажорную, в итоге при добавлении просто новой игры, программа стала из 1.3.4 — 2.0.0. Хорошо, что есть ментор который сразу кидает в тебя тапком за это =))


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

Хорошее переосмысление было на 9-м шаге первого проекта, когда нужно было вычленить общее из целого и разбить на модули. Т.е. создать по сути слои абстракции. Хорошее замечание было, про то что, нельзя определять функции внутри функций, т.к. они будут постоянно переопределяться при вызовах и их нельзя будет протестировать отдельно.


Пройдя первый проект, я узнал почему важно правильное окружение, как больно не знать git, зачем нужны линтеры и как их подключить в проект, как настроить package.json, и что оказывается с помощью него можно делать bin файлы. Что есть крутые штуки, который выкачивают твой код и сами его тестируют на работоспособность и анализируют его на качество. А так же, что можно круто автоматизировать задачи с помощью make. Ну и на выходе написал свой первый проект, который работает! и который может установить себе любой желающий)
Надеюсь дальше будет не менее интересно! =)

Истории успеха

Или как я сразу же споткнулся и потерял равновесие по дороге в увлекательный мир программирования.

Собственно, никакой поэтики - всё достаточно прозаично и обыденно.

С чего всё началось

В детстве я очень тяготел к компьютерам (особенно, к играм =) - sega, dendy тоже). С возрастом и игровым опытом у меня возник неподдельный интерес - а как это всё работает? Кто это всё придумывает? Ответ был найден - разработчики, программисты. Я уже знал, что после окончания школы пойду учиться на специальность, так или иначе связанной с компьютерами.

0 Время чтения статьи ~7 минут Читать дальше

По поводу первого проекта: в целом все понравилось — настройка рабочего окружения, подключения сервисов, публикация пакета - для меня многое было впервые. Самая радость была когда написал код - опубликовал его - установил и оно работает! Ну и когда был пройден 9й шаг :)

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

В целом все отлично, прокачался уж точно, посмотрим что будет в следующих проектах.

14 апреля 2017

Проходить проект оказалось достаточно забавно, потому что как только начинаешь его делать сразу появляется ощущение небольшого соперничества с другими участниками. Естественно цель проекта не победить, а научиться чему-то. Чему научился я:

  1. Пользоваться гитом и гитхабом уже на практике.
  2. Настраивать окружение для проекта и различные модули.
  3. Публиковать пакеты npm. Опубликовал и установил свой пакет, и когда он заработал улыбка была до ушей.
  4. Подключать сторонние библиотеки. Разобрался с импортами и экспортами.
  5. Работать с архитектурой проекта. Для меня это главный урок, после которого произошел качественный скачок в понимании того, как все устроено.
  6. Работать с абстракциями. Открываешь файлы с кодом и сразу понятно за что отвечает любая функция или константа.
  7. Самостоятельно изучать документации и пользоваться гуглом прежде! чем спрашивать у кого-то.

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

В целом все понравилось, получил то на что и рассчитывал, а именно понимание и осознание некоторых вещей, и опыт который можно приобрести только на практике.

Истории успеха

Привет всем! Хотел рассказать свою историю небольшого успеха. Я по образованию инженер АСОИУ, но так получилось, что я стал работать сначала сисадмином, а потом техническим директором в издательстве. В целом мне нравилась работа, пока было все новое, но со временем стал понимать, что занимаюсь всякой ерундой, которая мне не сильно интересна, а иногда и дико раздражает.

Так как фирма небольшая, в громком наименовании технического директора было все - сисадмин, эникейщик, программист, ремонтник компов, завхоз, охрана труда, пожарная безопасность, электрик…. Периодически дико мотали нервы разные проверки, ростехнадзор, МЧС (пожарная безопасность), трудовая инспекция, и проработав в таком режиме года два, я понял, что надо менять все в своей жизни. Когда то я услышал фразу, “Противоположно направленные нагрузки, дают средний невыраженный результат”, увы не помню где, вроде даже в кино. Но эта фраза просто сидела и давила мне на мозг, я понимал, что как специалист я никто. Так как я еще поддерживал три сайта компании + иногда делал всякие халтурки на Drupal, и мне всегда нравилось программирование, решил удариться в веб.

2 Время чтения статьи ~4 минуты Читать дальше

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

Решаемые в проекте задачи сами по себе простые. Главная сложность (и видимо главная цель) проекта в правильной организации структуры кода и взаимодействии его частей. Из других положительных результатов - понимание правильной организации рабочего окружения. Это было не сложно, но очень полезно. Так же уяснил для себя на будущее некоторые принципы построения абстракций и правильного наименование переменных и фунеций - это действительно упрощает жизнь.

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

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

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

Впрочем, заставлять думать - это вообще про Хекслет =)

Нравится, что вы делаете ребята. Спасибо за Хекслет!

Мой процесс занятий по профессии «PHP-программист» растянулся аж на целый год. Назвать это интенсивом можно конечно с большой натяжкой :) но точно могу сказать, что время не было потрачено впустую. Многие вещи были расставлены на свои места. Сформировалась довольно отчетливая картинка, что такое программирование и как оно связано с веб-разработкой. Для новичка Хекслет это настоящий кладезь знаний и полезного опыта. И речь не только о курсах. Вся сопутствующая информация, вебинары, блог, беседы в слаке, все это создает некую атмосферу, правильную атмосферу, погрузившись в которую, настраиваешься на изучение и открытие чего-то нового. Если говорить про учебный процесс, то сам формат организации курсов очень удобен для удаленного обучения. Выбрал интересующее направление, появилось свободное время — позанимайся.

Истории успеха

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

Вкратце: с обычного офисного админа в небольшом городе, занимающегося всем, от протяжки сети и ползания под столами пользователей до попыток изучения современных средств администрирования, типа Ansible и Docker, я дорос до более-менее уверенного devops-специалиста, работающего с московскими компаниями.

3 Время чтения статьи ~5 минут Читать дальше

Вспомнил, как на Улкемпе рассказывал Кириллу, что Хекслет и в частности уютный чатик открыл мне глаза на тесты, чистые функции, абстракции, СИКП, приоритеты бизнеса, монады (куда же без них) и все в этом духе. Прошел примерно год моего пребывания здесь, и за это время я очень изменился как разработчик. Сейчас уже сам толкаю эти мысли коллегам, перетаскиваю на светлую сторону. Вообще, Хекслет стал для меня переломным моментом. Спасибо всем обитателям Хекслета, Кириллу, Рахиму :)

Серьезно улучшил навык работы с регулярными выражениями. Т.е. и до этого их знал, но не часто использовал, и как следствие - не продуктивно, а после курса, наверное, с неделю не вылезал с regex101 и regexcrossword.com. Вобщем теперь не я с ними на «вы», а они со мной.

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

Истории успеха

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

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

Первые два года учебы я был сильно заинтересован программированием, математикой и техническими дисциплинами за исключением, разве что, физики. Я был лучший в группе по информатике и всему, что было с ней связано, но не могу сказать, что у меня была сильная мотивация кодить днями и ночами, изобретая что-то грандиозное. То есть я соображал, но в прикладном плане абсолютно не применял ничего. Да и что можно было изобрести, зная паскаль на школьном уровне (а примерно в такой мере нам его и преподавали). А после того, как преподаватель дисциплины "Программирование" отчитал курс лекций, он выдал гениальную фразу - все, что мы сейчас изучили, устарело 15 лет назад.

6 Время чтения статьи ~8 минут Читать дальше