Уже поздно возвращаться назад, чтобы всё правильно начать, но ещё не поздно устремиться вперёд, чтобы правильно закончить (Ошо)
Спасибо! Было интересно. Поначалу хотелось сразу писать код правильно, только не понятно было, как это сделать :). Уже в процессе переделки написанного начал улавливать суть правильной архитектуры программы (наверное, это именно так можно назвать). Здорово было коснуться работы с инструментами разработчика, вроде Трэвиса и npmjs. До этого работал только с гитхабом. Трэвис только видел (это был для меня какой-то темный лес). npmjs - не думал, что сам буду размещать там свой пакет. Про остальные вообще не слышал (asciinema, codeclimate). А жаль, одна только запись сессии в терминале с возможностью копировать команды многого стоит! В целом, для меня первый проект стал хорошим введением в разработку на JS - не сильно сложный, но местами головоломный. Можно сказать, он сам по себе - Brain Game :)
Первый проект показался не очень сложным, но зато познакомил с большим количеством инструментов и сервисов, на уверенное овладение которыми, видимо, уйдет какое-то время. =) Откладывал вступление в первый проект пару месяцев, уйдя в изучении курсов далеко вперед. Думал, что не получится совместить с работой. В итоге специально взял отпуск на неделю для работы над проектом. Теперь жалею, что не вступил в проект раньше, так как при наличии 3-4 свободных часов в день, завершить его не составит труда. Мой совет сомневающимся - вступайте, это бесценный опыт! Спасибо ментору Рахиму Давлеткалиеву. С нетерпением жду начала второго проекта! И последнее, установите себе Linux, наконец!
Привет читатель! Хочу поделиться с тобой впечатлениями от прохождения первого проекта в JS стеке Hexlet! Речь пойдет о Brain Games! Это такие консольные игрушечки про математику. Настолько простые, что даже в описании проекта говориться, что основная цель не программирование, а научиться настраивать рабочее окружение. Короче проходняк какой-то... Перейти бы сразу ко второму проекту, но нельзя!.. Лааадно, так и быть, пройдем – думал я поначалу ;)
Тут, для полноты картины, нужно сказать пару слов о себе. Я наверно не совсем обычная птица для Hexlet’a. В прошлом у меня был довольно большой опыт программирования на JS, но сугубо во фронтенде. Ядро богатого SPA с открытым API, >200k строк кода на JS и никаких фреймворков. Было правда это уже давненько. Последние 2 года я не работал и почти не программировал. Пробовал себя в других сферах. Да... выгорание, смена места жительства – бывает в жизни всякое. Но вот в начале этой зимы большой отпуск стал мне чета надоедать. В голове стали появляться идеи каких-то собственных проектов и пальчики снова потянулись к клавиатуре ) Тут я обнаружил, что за последние годы я даже верстать разучился, да и много чего поменялось в верстке. В связи с этим решил освежиться курсом одной известной академии про HTML и CSS. Курс хорошо зашел, мороженки удались на славу ) На последнем общении с ментором, я сказал ему, что здесь наши пути расходятся. Хватит мне пока верстки, дальше у меня по плану fullstack на JS. "Ну тогда обрати внимание на Хекслет» – сказал он. "Угу, спасибо» – сказал я. И хорошо, что записал на листик, а ни то бы забыл нафиг. На следующий день я набрал «хекслет» в поисковике и вот я здесь.
Хекслет, он весь такой теплый-ламповый. Простой дизайн, но зато какой контент! Это сообщество инженеров, фанатов своего дела, и это подкупает. Я сразу залип и вот уже 3 недели прохожу курсы, читаю слак и постоянно узнаю что-то новое.
Но вернемся к проекту. Как говориться "ничего не предвещало», и до 5го шага я дошел без особых проблем. На 5ом же шаге надо было придумать и реализовать архитектуру для того, чтобы дальше было легко добавлять игры. OCP и все такое. Ооок! Взял лист и выписал сущности, которых оказалось всего-то 2. А дальше моя ретроспектива дала о себе знать. Впереди еще 4 шага и что там уготовили создатели?... Ну вряд-ли же там просто новые вопросы и ответы? Должно быть что-то посложнее. А на последнем шаге скорее всего надо будет объединить все игры в одну, или сделать игру, которая будет рандомно брать вопросы из всех предыдущих. Архитектура должна все это легко позволять. Вобщем зафигачил! Игры отдельно. Таски отдельно. Объявления отдельно от инстансов. А клеим все это с помощью скриптов, которые тоже отдельно. Круто! Энтерпрайз! Пробили 11:00 следующего дня. Так, ну когда там уже откроется следующее задание? «Ментор отклонил ваше решение»… Че за!?… «мочи все это, упрощай, сокращай, убивай.» - пишет мне Рахим! Да как так то!? Он даже не потрудился осознать всю мою прекрасную архитектуру! «А че, дальше не будет всяких хитрых заданий?» – примерно так пишу я в ответ. «Нет.» – отвечает Рахим. Блин, ну ладно. Раз сценарий один, сваливаем скрипты в 1 файл и убираем папочку scripts. Но таски и игры пусть то останутся. «Нет.» – отвечает Рахим на следующий день. Да ё-маё! Дальше было несколько длинных и эмоциональных взаимных постов. Ладно, надо же пройти этот проект в конце концов, а то как-то глупо получается. Объединяю, упрощаю – ломать не строить. Апрув… Надо сказать, что в аргументации Рахима были правильные и новые для меня мысли, но глубинные стереотипы так просто не поменяешь. Поэтому вечером четверга я прибывал в недовольном настроении. Но тут внезапно Кирилл объявляет слаконар на тему «SOLID не нужен». Так, если это говорит Кирилл, то с вероятностью 99% он действительно не нужен. Осталось понять почему. Дальше было 2-3 часа чтения, и это был наброс конечно, но в этом слаконаре мне хорошо запомнились слова про архитектурных астронафтов, и я внезапно почувствовал этот скафандр на себе. А дальше я посмотрел, упомянутый Кириллом, доклад Николая Рыжикова про изоморфизм Ричарда Хикки, где уже Николай бил, что называется не в бровь, а в глаз. Долго еще не мог заснуть в этот вечер. В моем мозгу произошли какие-то тектонические подвижки и это воодушевляло. Вот так такой вот интересный опыт подарили консольные игрушечки про математику. Дальше видимо будет больше!
Рахим, Кирилл и все, кто делает Hexlet, спасибо Вам! Вы очень крутые! Учиться у Вас – огромное удовольствие!
Очень понравилась сама практика работы с "наставником", когда твои труды оценивают и дают замечания для исправления - это очень эф. обучение и мобилизует тебя. Но поначалу (этап настройки рабочего окружения) было слишком много всего нового для меня и непонятного, было сложно находить нужные знания в интернете и не хватало 2-х проверок в день, хотелось узнать все вопросы в режиме диалога, но данная схема этого не позволяет.
Я рад, что участвовал в этом проекте. Какую пользу дал мне этот курс конкретно:
- наконец-то стал пользоваться git
- самостоятельно в процессе курса настроил деплой разрабатываемых сайтов на хостинг, с помощью git, используя сервер bitbucket (долго хотел но не получалось)
- использование composer
- умение создавать и пользоваться пакетами packagist
- умение создавать команды через mаke
- умение создавать исполняемые файлы для CLI
Важно не только знать как это делать, а именно начать уже это делать. Потому, что знания без практики быстро испаряются.
Большое спасибо Рахиму Давлеткалиеву за проект. Важно, что он не только указывал на мои конкретные ошибки, а объяснял почему так делать не правильно и давал ссылки на статьи где объяснялось концепция данного вопроса.
Как устроиться в продуктовую компанию программистом за 3 месяца. Что может поставить в тупик на интервью. Какие технологии стоит иметь ввиду при поиске работы. Чему действительно может научить Хекслет и чем он может напугать начинающего разработчика. В чем следует поднабраться опыта, чтобы иметь высокие шансы трудоустройства.
Приняли сегодня второй проект. Это не передаваемое ощущение когда рефакторишь пол дня, делая все красиво с полиморфизмом типа, но никогда этого раньше особо не делал, соответственно очень много сомнений что оно ваще будет работать. А оно берет и работает, причем с первого раза! Вот это было огонь прям!!! В целом мне очень понравились, многие вещи хорошо усвоились...
P. S. Всем, кто собирается проходить 2 проект, рекомендую повторить тему деревья!
Только что закончил второй проект на хекслете и это было круто! Это слом мозга, разбирание до винтиков в структурах, построение абстракций и «вот это всё». Подход на хекслете в целом, что нельзя мутировать объекты перестраивает мозг, то что раньше я бы сделал через три переменных и два цикла вложенных друг-в-друга, нужно делать через map-filter-reduce. Сначала мозг сильно сопротивляется, потом приходит принятие, а потом циклы становятся просто не нужны (при обучении и в проектах). В проекте сложность нарастает постепенно, код приходится переписывать практически полностью несколько раз, но когда в голове выстраивается структура АСТ, то потихоньку встает всё по полочкам и приходит понимание на более глубоком уровне. Но это ещё не самое главное в проекте - решить задачу. То, как её решать, как писать код правильно, структурированно и читаемо - на это уходит очень много времени, постоянно внедряются красивые и лаконичные структуры. В общем, проект - огонь, вставляет мозг очень сильно, схалтурить практически невозможно, Кирилл любую халтуру увидит и разнесет в пух и прах. Если вы думаете, вступать в проект или хватит курсов, однозначно - вступать, проекты являются своеобразными чекпоинтами и подводят некую черту под блоками курсов. Спасибо Кирилл и Рахим, было очень интересно! Скоро приду к вам на третий проект.
Меня зовут Роман и я стал программистом в 36 лет. Моя история в первую очередь для тех, кто сомневается, боится и не верит в свои силы. Если даже я смог, то у тебя точно все получится :)
С опасением ждал первого проекта, но прошел он неожиданно легко. Даже сдал раньше срока, в пятницу. Может потому что в обучении продвинулся на несколько курсов дальше и мой линукс на стареньком ноуте меня ни разу не подвел.) Научился наконец настраивать окружение в JS. До хекслета имел небольшой любительский опыт в php и на обилие инструментов в JS среде смотрел со страхом. Оказалось что не все так сложно, каким казалось на первый взгляд. Очень приятно было когда Рахим похвалил мою архитектуру в приложении. Могу посоветовать тем, кто только собирается проходить первый проект - за пару дней до начала проекта пройдите еще раз курс "JS: настройка окружения". Подготовьте свою винду или поставьте линукс. Это сэкономит вам кучу времени. Особенно актуально для тех кто совмещает обучение с работой. Столкнувшись с трудностями, задавайте вопросы ментору или в слаке хекслета. Вам всегда помогут.
Хочу сказать большое спасибо Кириллу и Рахиму за хекслет. Это самые крутые курсы из всех! Нигде не дают такой фундаментальной базы как здесь.
Огромное спасибо за проект и ваш труд. Для меня это был бесценный опыт и увлекательное путешествие с полным набором чувств :). Жду с нетерпением следующего проекта. Спасибо.
История о том как я пришел в программирование, как прошел обучение, о собеседованиях и о том куда устроился. В общем обо всем понемногу или "История успеха" ).