Меня зовут Михаил, и я с детства интересовался компами и программированием. Расскажу, каким был мой первый MVP, почему я оставил попытки программировать на Kotlin и вернулся к JavaScript, как я изучил фронтенд и бэкенд в Хекслете и устроился на работу в американскую компанию.
- Сойти с проторенной дорожки — и начать углубляться в IT
- Как я написал мод для игры и изучил JS и Node.js
- Что мне запомнилось из учебы в Хекслете
- Провал на собеседовании и оффер в американскую компанию
- Мечты о фулстеке и важный совет по прохождению собеседований
Профиль Михаила в Хекслете со всеми пройденными курсами можно посмотреть здесь, код выполненных проектов — на GitHub
Сойти с проторенной дорожки — и начать углубляться в IT
Компами и программированием я интересовался с детства. В пятом классе пошел на курсы в IT-школу. Изучил там Pascal, Delphi, C# и ООП. Такая алгоритмическая база позволяет мне сейчас легко писать на любом императивном языке.
В какой-то момент в этой школе сменился препод, и мы начали делать бесполезные вещи. Почти калькулятор. Заниматься с новым преподавателем стало менее комфортно. И я на какое-то время перегорел программированием, так как не понимал, что мне изучать дальше и как это делать.
Если бы я сразу нашел такое обучение, как в Хекслете, я бы стал разработчиком намного раньше. Но тогда не находил места, где я бы не просто изучил фичи языка, а еще и понял, как ими пользоваться.
- Постоянная поддержка от наставника и учебного центра
- Помощь с трудоустройством
- Готовое портфолио к концу обучения
- Практика с первого урока
Вы получите именно те инструменты и навыки, которые позволят вам найти работу
Узнать большеПосле школы я поступил в колледж на смежную с программированием специальность. Думал, что хоть там мне дадут хорошие знания. Но половину из тех вещей, которые мы изучали, я уже и так знал. А другую часть программы нам плохо преподавали.
В расстроенных чувствах я бросил учебу. Было обидно, что я ни на йоту не приближался к своей цели и не знал, что с этим делать. Грубо говоря, все это время меня учили не тому, как строить, а тому, что такое молоток.
Как и многие, раньше я жил по плану «сначала отучиться в школе, потом обязательно куда-нибудь поступить и получить корочку». Я сам загнал себя в рамки, из-за которых я потратил много времени и не прокачивал реальные навыки программирования.
Сойдя с этой проторенной дорожки, я почувствовал, как открылось пространство для маневра. Теперь я мог сам выбирать, что изучать, и не тратить время на получение знаний, которые либо уже устарели, либо просто не нужны разработчикам.
Как я написал мод для игры и изучил JS и Node.js
В разработку начал входить с JavaScript, самоучкой. Все началось с игры Cultist Simulator, к которой я решил написать мод. И хоть все моды к этой игре были в виде JSON-файлов, и я мог бы просто вручную переписать нужные данные в этом формате, я решил делать мод на JS — чтобы автоматизировать скучную работу руками.
Не прочитав ни одного мануала, я сел писать код в CodePen. Я примерно понимал, как могу реализовать алгоритм — надо было только кое-где подтянуть синтаксис и стандартную библиотеку. Я кодил с большим энтузиазмом, мой код разрастался, становился полноценным MVP. С ним уже было неудобно работать в браузере, и я перешел в IDE.
Работая в IDE, я познакомился с Node.js и узнал, как работать с файловой системой. Позже знакомые посоветовали курс Git How To, пройдя который я сразу загнал свой проект в репозиторий и залил на GitHub.
Получив базовое представление о JS, я решил изучить что-то еще. Нашел платформу JetBrains Academy, тогда она еще была в бета-версии, и все треки были бесплатными до конца года. Я выбрал трек по Kotlin и многому на нем научился.
Если бы на Kotlin можно было бы писать не только для мобилок, то я бы на нем и остался — язык очень крутой. Но меня все же привлекал веб, поэтому я вернулся к JS.
Что мне запомнилось из учебы в Хекслете
Когда я узнал про Хекслет, сразу прошел там все бесплатные курсы. Мне понравилось, что программа строилась на реальных кейсах, лучших практиках, архитектуре и style guides. Впервые в жизни я почувствовал, что становлюсь профессионалом и учусь делать что-то полезное для рынка. И у меня это хорошо получается.
Потом я прошел профессию «Node.js-разработчик» и почти все курсы в ней, а еще иногда заглядывал в профессию «Фронтенд-разработчик» и треки в Хекслете. В учебных материалах много говорили о том, как писать код правильно и хорошо, а как не нужно и почему, и это цепляло.
Отдельно отмечу текстовый формат обучения, который мне очень зашел. Не люблю смотреть видео, где какой-то чувак рассказывает в течение часа тему, которую можно было за пять минут изучить по тексту.
На каких-то заданиях я надолго застревал. Например, на рекурсии. Когда ее реализуешь, бывает, ошибаешься и подолгу не можешь найти решение. Это происходит, потому что в голове нужно одновременно уложить несколько блоков и как-то их связать. Потом, когда я уже дошел в обучении до деревьев, рекурсия давалась легче.
Провал на собеседовании и оффер в американскую компанию
Заставлять себя учиться мне не приходилось: бывало, я мог безотрывно сидеть за компьютером от рассвета до заката. А вот пушить себя в мир, искать работу было для меня гораздо сложнее. Мне не нравится писать резюме, сопроводительные, проходить собеседования. Уж лучше я еще чему-нибудь поучусь вместо этого.
Хотя о самом поиске работы я задумывался достаточно рано, уже после выполнения первых проектов. Помню, проходил первые собеседования, нервничал, меня не брали, и я обратно уходил с головой в курсы. Учил всякие DevOps-штуки: Kubernetes, CI-пайплайны на GitHub и GitLab.
Один раз проходил интервью на английском, в израильскую компанию. Там был лайвкодинг, технические вопросы, задачи с методами call, bind, apply и callback-функциями.
На собеседовании я выяснил, что у меня есть пробел в одной базовой теме, не зная которую тяжело работать — промисы, асинхронное программирование. Я как раз пропустил эту тему, полагая, что это не такой уж и частый вопрос, который задают на собеседованиях. Это меня подвело, и оффер я в итоге не получил.
Потом, конечно, вернулся к этой теме, основательно ее изучил, а потом повторил в Хекслете. И к собеседованию в следующей компании я уже более основательно подготовился: закрыл пробелы, причесал резюме. Постарался написать его живо и с огоньком. И мне написал HR-менеджер из DualBoot.
DualBoot — это американская компания с офисом в России. Причем, с крутым офисом, не унылым. Плюс работодатель предоставлял для работы Mac, я как раз хотел на нем прогать, вдохновив себя идеей, что вырастет продуктивность. Само интервью туда прошло хорошо. Я скромно озвучил цифру по зарплате чуть выше той, что предложили в другом месте, а мне дали ощутимо больше. И я принял оффер.
Мечты о фулстеке и важный совет по прохождению собеседований
В компании мы делали свежий продукт для заказчика, была разработка полного цикла. Я сразу начал писать на TypeScript, хотя раньше даже не пробовал этого делать. Я изучил много технологий: Docker, Nest.js, TypeORM. В Docker настроил разработку из контейнера для всей команды. Инженерная культура в DualBoot была на высоте, почти не было легаси.
В 2022 году работать в этой компании из России и получать оплату стало тяжело. Мне пришлось снова выйти на рынок труда. Теперь я ищу работу, где мог бы применять навыки бэкенда на Node.js и всякие DevOps-штуки. Еще рассматриваю фулстек, но при этом не хочу верстать. В идеале хочу работать со своим бэкенд-стеком и React, Next.js, чтобы иногда залетать на фронт.
Сейчас я чувствую себя уверенно на интервью. Мне делают офферы — есть, из чего выбирать. Скоро будет интервью в одну европейскую компанию — друг порекомендовал меня туда. Нервничаю: нужно будет много всего узнать о специфике работы, пройти интервью на английском. Но я пытаюсь справляться с этими эмоциями.
Важно объективно оценивать свои достижения. Вспоминать, сколько всего вы выучили, потренировали и интересно об этом рассказать работодателям. Так, чтобы у них глаза загорелись от вашей презентации.
Не стоит бояться собеседований: мне помогает представлять их как дружескую беседу. Если что-то не получилось — ничего страшного, всегда можно закрыть пробелы в знаниях и попробовать снова.
И, конечно, важно постоянно чему-то учиться, не сидеть на месте. Как только что-то новое появляется в IT-сфере — сразу изучать это. Это здорово повышает общую компетенцию и дает новый опыт. Иначе, если ты фронтендер, будешь ходить по миру со словами: «Кому jQuery по 80 рублей?» :)
- Освойте платформу Node.JS и начните использовать JavaScript для работы с бэкендом
- Научитесь использовать современные инструменты для создания бэкенд-приложений, включая Express и Fastify
- Получите возможность стать Fullstack-разработчиком и повысить свою ценность на рынке труда