Привет, меня зовут Митя. «Хекслет» изменил мою жизнь и подарил мне состояние потока. Надеюсь, рассказ об этом поможет кому-то пройти по похожему пути и стать программистом.
У меня лапки: откуда у гуманитария интерес к программированию
С программированием никогда связан не был. У меня гуманитарное образование. Работал в разных сферах: от ресоциализации наркозависимых до организации продаж.
С 2009 года был фрилансером, занимался копирайтингом. В 2010 году познакомился с агентством «Текстерра» и стал автором лучшего в рунете блога об интернет-маркетинге.
Сначала у меня не было специализации. Писал обо всём — от SEO до продвижения в соцсетях, от контент-маркетинга до работы с конструкторами сайтов. Потом увлёкся блоггингом и стал запускать какие-то блоги на WordPress: про книги, про бритвы, про финансы, про экономику стран CIVETS и про что-то ещё.
Начинайте бесплатное обучение: На Хекслете есть несколько десятков бесплатных курсов — от основ программирования, до английского языка, логики, Git и операционных систем.
Тут меня догнала вордпрессомания — болезнь начинающих и продолжающих блогеров. Днями и ночами ковырялся в WordPress и что-то «улучшал», прикручивал какие-то плагины. Это занятие оказалось полезным: у меня появилась специализация в блоге «Текстерры». Стал писать в основном о веб-разработке.
В какой-то момент случайно провалился на уровень ниже плагинов WordPress. Не помню, как это произошло. Скорее всего, не нашлось подходящего плагина, мне пришлось открыть файл какого-то шаблона и что-то туда скопипастить. Внутри файла увидел код на PHP. Когда впервые увидел этот код — посмотрел на него и пошёл гуглить курсы программирования.
Год и тысяча долларов: как я изучал рынок обучения программированию
Да, прежде чем попасть на Хекслет, я потратил больше тысячи долларов и около года жизни. Учился в GeekBrains, «Нетологии», freeCodeCamp и HTML Academy. Рассказывал о впечатлениях в обзоре школ программирования, поэтому повторяться не буду.
Хорошо помню состояние отчаяния после завершения курса по React в «Нетологии». Я потратил год, прилежно занимался, но смог только с горем пополам сделать кривой Pomodoro timer, который стыдно кому-то показать.
Почти смирился с тем, что я тупой, хотел бросить попытки понять программирование. Случайно наткнулся на перевод статьи про грязные секреты курсов по программированию на Хабре. Она меня чем-то зацепила. Так я узнал о существовании «Хекслета».
На «Хекслете» почему-то начал с курса «Введение в программирование». Знакомство с Тотой буквально потрясло меня. Впервые с момента начала обучения почувствовал, что двигаюсь в правильном направлении. И ещё почувствовал себя пещерным человеком. Но это было приятное чувство, потому что я собирался стать самым умным в своей пещере.
Рекомендация новичкам: обязательно пройдите «Введение в программирование», даже если этот курс не входит в вашу профессию.
Разбудить жену и заставить записать код: как я стартовал на Хекслете
Первый модуль в профессии «Фронтенд-программист» меня буквально проглотил. Очень нравилось всё: и организация обучения, и манера подачи, и даже трудные практические задачи. Когда решал практику, чувствовал, как мозг кипит и создаёт новые нейронные связи. Это кайфовое чувство.
Ещё до первого проекта со мной случилась смешная история. Я посчитал количество уроков во всех курсах профессии. Увидел, что если проходить по уроку в день, то профессию можно пройти примерно за 7 месяцев. Не помню, учитывал ли время на проекты.
Сделал график на листе бумаги, повесил его на стену и стал вычёркивать по уроку в день. Иногда по два или даже по три. На первом модуле это не вызывало проблем. Надо ли говорить, с каким чувством я смотрел на этот листок на стене, когда проходил «Деревья» и другие хардкорные курсы? Кстати, сейчас они перекочевали из профессии в трек «СИКП на JS». Очень мощные курсы, рекомендую.
В общем, где-то перед вторым проектом я выбросил свой листок с графиком прохождения профессии.
Первый проект — отдельная история. Кроме отработки знаний и умений, он дал мне ещё и океан позитивных эмоций. Впервые писал что-то с пониманием того, что я делаю.
Да, были трудности, куда же без них. Один из шагов предполагал выделение движка игры. Я несколько дней не понимал, что от меня требуется. Мучал ментора Александра Овчара и мучался сам. В конце концов решение мне приснилось. Кроме шуток, ночью увидел во сне, что нужно сделать. Разбудил жену и заставил записать код в телефон. Сам я телефон возле кровати не держу. Утром проверил, всё работало.
Остальные шаги в проекте я прошёл быстро. Прорвался через много итераций проверки проекта ментором и получил в профиле на GitHub первый настоящий проект.
А потом произошло событие, которое сильно повлияло на дальнейшее обучение. Я пришёл работать на Хекслет.
Читайте другие истории успеха: Как я бросил все и стал фронтенд-разработчиком
Dream team: как я работал на Хекслете и как это повлияло на обучение программированию
Через несколько дней после завершения первого проекта увидел в слак-сообществе сообщение Кирилла Мокевнина, что Хекслет ищет редактора. Загорелся, быстро составил и отправил резюме.
Со мной связался ментор, который проверял первый проект. Договорились созвониться и познакомиться. Созвон продлился часа полтора — мне показалось, что это был неформальный разговор о жизни. Оказалось, что это было собеседование — максимально неформальное и комфортное.
Через полчаса после разговора с ментором мне позвонил Кирилл Мокевнин и предложил работать в Хекслете. Конечно, я согласился.
Хекслет изнутри мне очень понравился. Включился в работу и стал фигачить. Было очень круто ощущать себя частью команды, которая помогает людям идти к мечте и достигать целей. В общем, я кайфовал. А вот с обучением получилось всё не так хорошо. Дело в том, что на фрилансе я мог позволить себе отказаться от работы с некоторыми клиентами, чтобы уделять больше времени программированию. Когда делал первый проект, работал примерно 4 часа в сутки, и ещё часов 6 учился.
Теперь я был фултаймером. В Хекслете максимально гибкий график, а результат измеряется завершёнными задачами, а не временем. Но в первые месяцы работы это мне не помогало — не мог найти баланс между обучением и работой. Пытался учиться по вечерам, но темп снизился.
В конце концов нашёл выход из ситуации: стал вставать на час раньше. Большая чашка кофе, тишина в доме и открытый редактор — есть в раннем подъёме особое удовольствие.
Баланс я нашёл где-то после второго проекта. Этот проект стал каким-то переломным в обучении. Делал я его несколько месяцев. Как и на первом проекте, мучал ментора Александра Овчара. В конце концов с горем пополам отправил проект на проверку.
Проверял проект Кирилл, всё прошло довольно гладко. Но был момент, из-за которого мне до сих пор стыдно. Точно не помню, в чём там дело, но в каком-то месте в проекте у нас есть строки — расширения файлов типа .json
, .yaml
и так далее. А нам надо использовать их без точки — json
. И я, прошу прощения за мой французский, нахерачил на if-else
функцию на 12 строк, которая превращает .json
в json
. 12 строк, Карл!
Кирилл прислал скромный комментарий: «Вся эта функция меняется на path.extname().slice(1)
». Мне было стыдно и смешно одновременно. Но больше стыдно. Фейспалм.
В общем, второй проект я сдал. Дальше дело пошло гораздо веселее. Началась прикладная часть профессии. После хардкорных курсов типа «Деревья» и второго проекта она давалась довольно легко. Незаметно для себя без особых проблем сделал третий проект.
«Ты не настоящий программист, пока не получаешь за код деньги»: как общение с наставником изменило мою мотивацию
Надо сказать, что всерьёз о работе программистом я не задумывался. Изучал программирование, потому что мне это нравилось. Да, я редактировал и читал истории успеха других ребят, примерял успех на себя. Но у меня не было мотивации быстрее стать программистом, поменять работу. В «Хекслете» чувствовал себя отлично. Контент-маркетинг и редактуру очень люблю. Зачем что-то менять?
Правда, заметил одну вещь. Программирование мне нравится сильнее, чем контент-маркетинг. Когда работаю с кодом, как будто исчезаю: полностью фокусируюсь на задаче, включаюсь на полную, эмоционально реагирую, если что-то получается или не получается. Когда занят контентом, такого нет.
Тем не менее решил, что пройду четвёртый проект, буду работать редактором на «Хекслете» и впишусь в Codebattle, чтобы найти точку приложения для новых знаний.
Четвёртый проект я проходил с наставником. Мне очень сильно повезло — моим наставником была Алла Якушева. Совместная работа началась со знакомства. Алла спросила меня о планах. Я сказал, что хочу и дальше работать редактором, а заодно контрибьютить в опенсорс. В этот момент возникла небольшая пауза, которой я сразу не придал значения.
На следующем созвоне Алла сказала, что у меня очень странная мотивация. И что я могу контрибьютить в опенсорс, но не стану настоящим программистом, пока не буду получать за код деньги. Я крепко задумался. Думал долго. Успел пройти проект, но так ничего и не решил.
После проекта оставалось время для работы с наставником. Алла предложила провести тренировочное собеседование. После собеседования опять поговорили про мотивацию. Алла сказала что-то типа: «Решай сам, но ты готов».
Я опять крепко задумался. С одной стороны, мне очень нравилось работать в «Хекслете». Я получал удовольствие и был эмоционально привязан к проекту, кайфовал от общения с людьми. «Хекслет» — это космос в плане организации процессов, отношений между членами команды. В общем, ты делаешь то, что тебе нравится, а тебе за это ещё и деньги платят. С другой стороны, я хотел погрузиться в программирование с головой. Чувствовал, что моё внимание уже там — в новой сфере. И понимал, что там тоже будут платить деньги за то, чем мне нравится заниматься.
Решил, что подумаю пару месяцев, а пока попробую присоединиться к Codebattle.
Codebattle: просто крутой проект
Я знал, что в Codebattle круто, но не знал, что настолько круто. Внутри проекта всё время что-то происходит, ребята созваниваются, кодят вместе, просто общаются. Каждый готов тебе помочь и подсказать. Отдельное спасибо Виталию и Дмитрию — главным энерджайзерам проекта.
В Codebattle я стал находить задачи и делать их. Если что-то было непонятно, спрашивал. Потом что-то читал, что-то делал. Было круто увидеть фичу, которую ты сделал, на живом проекте, которым пользуются реальные люди. Это особенный кайф.
Про Codebattle сложно рассказывать, им надо заниматься. Я делал задачи по утрам или по вечерам, и немного по выходным. Однажды понял, что этого мало. Мне всё время приходилось красть время на программирование — у семьи, отдыха, досуга, сна. Поговорил с женой и решил найти работу программистом.
И снова про Codebattle: как я искал работу
Работу я нашёл быстро. Заглянул на сайт вакансий. Как ни странно, вакансий для людей без опыта там не было, если не считать пару предложений бесплатной стажировки. Тогда я сделал финт ушами. Настроил на сайте вакансий фильтр: фронтенд, удалёнка, опыт работы от года. Из полученных результатов выбрал примерно 15 вакансий, которые показались мне подходящими. Откликнулся сразу на все вакансии. Потратил вечер, чтобы написать для каждого отклика индивидуальное сопроводительное письмо.
Составьте свое первое резюме: Вы можете бесплатно опубликовать свое резюме в нашем сервисе «Хекслет-CV» и получить советы по его улучшению от разработчиков и HR-менеджеров
Среди 15 выбранных вакансий одна привлекла моё внимание. В ней была фраза, которая меня воодушевила. Что-то вроде: «Мы делаем коммерческие проекты, а ещё у нас есть несколько опенсорс-проектов, которые мы развиваем». Слово «опенсорс» стало для меня маркером.
Два или три рекрутёра из 15 мне сразу отказали, так как у меня не было года опыта. Большая часть откликов остались без ответа. Но два человека ответили. Оба сразу пригласили меня на собеседование.
Первым человеком был представитель небольшой студии. В ней трудилось 5 или 6 разработчиков. Предложили пройти собеседование. Мне показалось, что оно было формальностью: очень простые вопросы, на которые ответит кто угодно. Через сутки мне прислали оффер. Я взял день на размышление, потом поблагодарил ребят и отказался. До конца не понимаю, почему. Наверное, смутил небольшой размер компании.
Вторым был тимлид из компании, у которой есть опенсорс-проекты. Он спросил, есть ли у меня код, который можно посмотреть. Я показал код четвёртого проекта и репозиторий Codebattle. Собеседник сказал, что посмотрит код и свяжется со мной.
Спустя какое-то время он написал и предложил встретиться на техническом собеседовании. Сказал, что обычно просит кандидатов выполнить тестовое задание, но в моём случае в качестве тестового засчитывается четвёртый проект.
А вот техническое собеседование оказалось тяжёлым. Я сильно перепугался и отвечал на вопросы в автоматическом режиме. В основном отвечал нормально, но с парой вопросов облажался. Например, с перепугу забыл, зачем нужен Context в React. В общем, мне казалось, что это провал.
В финале собеседования предложили немного покодить. Я увидел задачу и чуть не упал со стула: нужно было написать свою функцию filter
. «А можно я сбегаю на Хекслет и повторю одно упражнение?» — подумал я. А сам трясущимися руками стал что-то набирать на клавиатуре.
Мозг к этому моменту был в полной отключке из-за стресса. Но я старался улыбаться и делать вид, что контролирую ситуацию. Тем временем пальцы что-то набрали на клавиатуре и запустили код. Не работает! Обложился консоль-логами, что-то поменял, запустил. Увидел, в чём проблема, ещё раз поменял — заработало!
После этого меня поблагодарили и сказали, что скоро со мной свяжутся и сообщат результаты собеседования. Через несколько часов позвонил тимлид и предложил работу. Я согласился.
Было эмоционально тяжело расставаться с «Хекслетом». Но к этому времени я уже понимал, что так должно быть.
Пустырник и валериана: как я боролся с синдромом самозванца
До выхода на новую работу мне нужно было завершить дела на Хекслете, чем я и занимался во внешнем мире. А внутри меня кипели нешуточные страсти: поймал жесточайший приступ синдрома самозванца.
Вдруг стало казаться, что я ничего не умею и не знаю. Чтобы как-то с этим бороться, стал судорожно что-то читать, что-то решать, что-то верстать. Не мог нормально спать, поэтому накупил в аптеке успокоительных трав и пил их вместо чая.
Эти мучения продолжались до момента, когда я увидел первую задачу на новой работе. «Хм, кажется, я это могу», — подумал я. И смог. И успокоился. А потом ещё раз смог. А потом что-то спросил, мне подсказали, и я снова смог. И совсем успокоился. И понеслось.
С новой командой мне очень повезло. У нас весело, все друг другу помогают. Раз в неделю проводим tech talk. Я уже успел отметиться с докладом. Ещё раз в неделю у нас неформальный обед. Собираемся онлайн и болтаем на отвлечённые темы. У каждого разработчика есть индивидуальные цели развития. В качестве цели я попросил поставить мне углубленное изучение тестирования. И пошёл на интенсив «Тестирование фронтенда». Очень доволен.
Недавно рассказал ребятам о Codebattle. Собрались, поиграли, понравилось. Решили продолжить. В рабочем слаке сделали отдельный канал и назвали его codebattle.
Вместо заключения: благодарности и рекомендации новичкам
Сначала хочу поблагодарить всех людей, которые участвуют в создании «Хекслета». Ребята, вы делаете большое дело — помогаете людям менять жизни и осуществлять мечты. Это круто. Спасибо вам.
Отдельная и огромная благодарность Кириллу Мокевнину. Спасибо и за невероятно крутой образовательный ресурс, и за космический опыт работы внутри этого ресурса. «Хекслет» изменил мою жизнь.
Спасибо Рахиму Давлеткалиеву. Моё знакомство с «Хекслетом» началось с «Введения в программирование», это была любовь с первого взгляда.
Спасибо Александру Овчару. Если бы не продолжительные разговоры с Сашей, я бы не сделал второй проект.
Спасибо Никите Науменко и Андрею Мошкову за Git. У меня на компьютере есть файл git-nikita.txt
, в котором я законспектировал инструкцию по ребейзу по итогам разговора с Никитой.
Спасибо Алле Якушевой за науку и внимание. Благодаря работе с Аллой я почувствовал уверенность. И ещё спасибо за разговор о мотивации и «настоящем программисте за деньги».
Никите Михайлову спасибо за вёрстку, а Саше Вагину за безалкогольное пиво «Клаустхаллер», ха-ха! Спасибо ребятам из Codebattle, вы крутые. Спасибо всем, с кем я работал в «Хекслете» — вы лучшие, я вас люблю.
Огромное спасибо моей жене за поддержку всех моих начинаний.
Теперь рекомендации новичкам:
Первая: ведите здоровый образ жизни. Достаточно спите, будьте физически активными, не злоупотребляйте алкоголем, про сигареты молчу. Обучение — это тоже работа, а чтобы делать её хорошо, нужно быть в хорошей физической форме.
Вторая: занимайтесь тем, что вам нравится, от чего вы кайфуете. Если вы кайфуете от программирования, вам повезло. У вас всё получится и без рекомендаций.
И третья: ешьте слона по кусочку за присест. Регулярность и настойчивость — ваши лучшие друзья.
Всем успехов! И да, как говорит Вика, ave, Hexlet!
Стать программистом можно на Хекслете: Меняйте профессию в группе, самостоятельно или с личным наставником