Привет Хекслет. Настала и моя очередь рассказать свою историю о том, как я стал программистом.
Про инженерное образование и программы управления заводами
Мне 30 лет, я женат и у меня есть двое детей. По профессии я инженер АСУТП (Автоматизированная система управления технологическим процессом). После окончания института мне пришлось самостоятельно изучить программирование разнообразных контроллеров, SCADA-систем — долгое время я даже писал на C++ builder. Моих знаний хватало, чтобы писать программы управления небольшими заводами, нефтяными станциями. Но я был полностью самоучкой, а без старших товарищей которые могут подсказать и направить, мой код оставался на уровне «хорошиста-студента». Я это прекрасно понимал, но не знал, что с этим делать.
В один момент мне стало скучно, задачи на работе были все типовые, поэтому много времени не занимали. Почему-то в этот момент мне стало интересно, как создаются сайты. Я начал искать разную информацию — поначалу встречались конструкторы и какая-то туча невнятной информации: что это такое и как работает. Худо-бедно я понял, что есть JavaScript, и нужно начинать именно с него. Первым обучающим ресурсом у меня был learn.javascript. Месяц неспешного чтения сухой и неинтересной теории: вроде как все понятно и легко, но при этом вообще нет понимания, что с этим делать.
Про Хекслет и пользу проектов
В одном из топиков я увидел комментарий про платформу Хекслет. Перешел на сайт, зарегистрировался, вошел в курс «введение в программирование» — и вот тут я был просто поражен. Это было просто глотком свежего воздуха. Мне очень понравился подход — бесплатный курс для новичка, в котором рассказано про рекурсию, чистые функции и множество других вещей: таких интересных, и при этом они не встречались мне ранее. А еще после каждого урока теории все подкрепляется практикой. Восторг который меня охватил, был непередаваемым. Я думаю очень много бывших студентов Хекслета понимают прекрасное чувство, когда тесты наконец-то прошли, а в консоли не это злосчастное “Pair is not a function”.
Читайте также: Haskell — язык, позволяющий глубже понять программирование. Как он устроен и почему его выбирают разработчики?
Учиться и играться в редакторе, конечно, интересно, но на Хекслете кроме курсов есть еще и проекты, которые тогда стоили отдельных денег. В описании проекта говорилось, что придется сделать простейшее консольное приложение, в котором будут запускаться четыре игры. Как курсовая в институте, что там может быть полезного? Я долго сомневался о целесообразности траты денег, так как в этот момент я не собирался менять работу, и все это было скорее просто хобби.
Забыл сказать, что мне было бы не так интересно обучаться в Хекслете без комьюнити в Slack. И да, оно стоит отдельных слов благодарности в моем становлении веб-программистом. Именно благодаря обсуждениям в слаке я принял решение пройти первый проект. И каким же было мое удивление, что проект — вовсе не о четырех маленьких играх. Настройка окружения, правила именования, структура кода и другая тысяча мелочей в ревью ментора, о которых я раньше даже и не задумывался.
После первого проекта вопроса о прохождении остальных не возникло. Интересно, что до этого в умных книжках по С++ и литературе по профессии я ни разу не встречал пунктов про правильность и важность именований, или про тестирование. Но именно в Хекслете это прививают с особым усердием.
Знакомство с Codebattle
Примерно во время прохождения 3 проекта в Slack появилось объявление, что ребята из опенсорс-проекта Codebattle собирают команду, которую будут обучать, и зовут всех желающих поучаствовать в разработке. Меня это заинтересовало, и на первом же созвоне, на котором я не понял ничего, но при этом было жутко интересно слушать ребят, я влюбился в эту атмосферу дружелюбия и поддержки.
Хоть я и не мог сделать практически ничего, мне все равно находили задачки по силе, рассказывали, все объясняли. Именно тогда git стал не таким уж и страшным. Успешно сдав в мае — через шесть месяцев после начала обучения — свой четвертый проект, и даже сделав несколько ПР в Codebattle, я ушел в лето и забросил все обучение на 3,5 месяца. Мой вам совет — не прекращайте обучение, последовательность и постоянство очень важно. Вернуться обратно к изучению программирования было очень сложно, прежнего интереса не было, да и все очень хорошо забылось. Но именно Codebattle и его атмосфера помогли мне вернуться.
За пару месяцев я повторил курсы Хекслета и сделал несколько пулл-реквестов в Codebattle. Но тут я понял, что не знаю, как развиваться дальше. Опять пришли на выручку ребята из Codebattle, которые направили на правильные мысли о трудоустройстве — о нем я раньше практически не думал, а к разработке относился как к хобби. Они посоветовали сделать несколько тестовых заданий, оформить GitHub, и помогли в составлении очень крутого резюме. Каково же было мое удивление, что именно строчка об участии в опенсорсе играла ключевую роль в приглашении от HR-менеджеров.
Почему не стоит идти на первое собеседование в компанию мечты
Мне показалось, что они принимают это как опыт предыдущей работы, и поэтому меня звали на собеседование примерно в 70% откликах на вакансии. Уверенный в своих силах, я совершил очень большую ошибку — и пошел на первое собеседование в компанию, в которую очень хотел попасть. И, соответсвенно, провалил его с треском. В связи с неудачей я решил искать работу на неполный рабочий день, чтобы совмещать со старой работой, которую, по определенным причинам, пока не был готов бросать. В итоге мне хотелось набраться опыта и попробовать в устроиться в ту компанию еще раз.
Я знал, что для джуна удаленка и неполный рабочий день — достаточно редкий вариант. Решил для начала прокачать скилл «прохождения собеседования», подготовившись по спискам «топ вопросов frontend в 2020». После этого я начал отправлять отклики и все было довольно не плохо. Я даже получил несколько офферов — из компании, в которые не собирался изначально.
Смотрите также: Публичное собеседование для junior frontend-разработчика на youtube-канале Хекслета
Увидев ту заветную вакансию о неполном рабочем дне на удаленке для джуна, я, не думая, отправляю резюме и получаю тестовое задание. В нем нужно было сделать простую TO-DO, но с хитрым условием, чтобы это все было в Docker, с которым я отчасти был знаком благодаря Codebattle. После проверки меня зовут на собеседование и приглашают на работу. Тут я уже работаю месяц по совместительству настоящим фронтенд-разработчиком, и сам не особо в это верю, что хобби медленно и верно превращается в настоящую работу.
Советы:
- Старайтесь не делать перерывы в обучении. Лучше каждый день по часу, чем семь часов за один выходной.
- Не бойтесь выполнять тестовые задания. Ими потом можно заполнить ваш профиль на GitHub.
- Участвуйте в open-source. Это хорошая прокачка и весомый плюс в резюме.
- Потратьте время на оформление резюме и профиля на GitHub. Это поможет сократить время на поиск работы и серьезно увеличит процент успешных откликов.