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

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

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

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

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

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

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

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

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

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

Интервью с jougene о трудоустройстве и обучении главное изображение
Истории успеха

Всем привет, сегодня очередное интервью с нашим товарищем Евгением Синицыным (jougene). Евгений уже писал статью про свое трудоустройство, но мы решили еще немного помучить его вопросами, и он великодушно согласился :)

История Евгения вкратце для тех, кто не читал предыдущую статью:

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

Сколько в итоге проработал на первом месте? Сложно ли было вообще включаться в “боевые задания” после учебы и туториалов?

На первом месте проработал 11 месяцев. Включаться в рабочий процесс было для меня очень необычно, все новое, то что проходили на курсах вообще какой-то другой мир. Пришел, показали, что такое джаваскрипт, консоль браузера, как там смотреть что куда отправляется, и какой ответ приходит. Короче получилось так, что с точки зрения всяких инструментов для работы все было новым. Что такое фреймворки я не знал, познакомился в процессе работы, работа с DOM’ом тоже в процессе, ну а дальше уже как-то сам начал осваиваться и делать более сложные задачи.

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

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

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

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

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

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

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

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

Как стать программистом админу в 30 лет, интервью с учеником Хекслета главное изображение
Истории успеха

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

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

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



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



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


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

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


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

14 апреля 2017

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

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

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

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

Как я стал программистом главное изображение
Истории успеха

Целая тьма подобных статей появляется постоянно, пришла и моя очередь написать одну. Не сочтите за пафос, программистов миллион и я уж точно не какой то особенный, это просто история. Однажды на одной из работ я столкнулся с очень банальной задачей – нужно было автоматизировать несколько простых задач (обработка данных, выгрузка на сервер и прочее), для этого начальник вручил мне книжку по Unix, и посоветовал ознакомиться с разделом по bash. Думаю именно в этот день моя жизнь сильно изменилась.

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

Как только в вышеуказанный день я столкнулся с каким то подобием программирования (конечно же с удовольствием написав свою первую программу автоматизации на bash) я почувствовал что меня начинает безумно тянуть к этой сфере, вместо того чтобы работать я начал штудировать форумы, различные сайты и выяснять, что же можно программировать, как все это работает и как собственно попасть в эту сферу. В начале все казалось безумно сложным и не понятным. В какой то момент я наткнулся на подкасты (Радио-Т и DevZen были моими первыми) и меня окончательно и бесповоротно унесло, когда я слышал что то про разработку, про сферу, про людей, про процессы программирования меня накрывало какой то непонятной волной счастья и честно говоря не отпускает до сих пор. С этого момента я поставил себе цель стать разработчиком.

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

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

Благодаря проекту, я начал использовать make как универсальный доступ к проекту, с инициализацией проекта со всем необходимым для современной разработки. Опубликовал свой первый модуль в npm. Понял, как нужно строить архитектуру приложения, чтобы другим программистам было удобно использовать модуль.

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

С нетерпение жду и готовлюсь к следующим проектам! Хорошо, что есть уникальная возможность проверить свои знания на практике с опытным наставником. Еще раз спасибо за возможность!

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

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

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

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

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

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

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

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

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

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

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

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