Меня зовут Валерий Ковалев, я живу в Подмосковье и недавно мне исполнилось 34 года. Я расскажу, как я ушел из рекламного бизнеса и за три месяца стал программистом. А ещё — про удаленную работу, режим самоизоляции и пандемию.
Почему я решил стать программистом
Где-то год назад я вдруг осознал, что не могу больше работать в брендинговом агентстве, хоть и на позиции руководителя проектов, где я проработал 7,5 лет. Так совпало, что моя жена незадолго до этого получила хорошую работу с большой зарплатой — это позволило мне тут же уволиться и оплатить себе онлайн-курсы по программированию на Хекслете. Я всю жизнь хотел стать профессиональным программистом, но дальше хобби дело не заходило. При этом я иногда писал приложения для iPhone, создавал сайты, даже делал какие-то программки для своего бизнеса, но профессионально этим никогда не занимался. И чем больше времени проходило, тем было сложнее этим заняться — разница в перепаде зарплат была слишком большая, если становиться джуном в IT.
Это было первое правильное решение, поскольку рекламная отрасль всегда первой страдает от любых экономических потрясений, которые происходят сейчас. Не сфера услуг, а именно рекламная сфера, поскольку страдающий от кризиса бизнес режет в первую очередь расходы на рекламу.
Про обучение
Далее началась моя домашняя подготовка: весь май, июнь и половину июля я занимался программированием, почти не выходя из дома. Я учился по 9 часов в день, с перерывом на обед и четким распорядком дня — просыпался, делал зарядку, завтракал и садился учиться. В обед я вставал из-за стола, обедал, иногда прогуливался и садился дальше учиться до 7 вечера. И так каждый день.
Я учился программированию не с нуля — в юношестве я писал на Fortran, ассемблере, в институте на Pascal, потом делал мои собственные маленькие проекты на Objective-C и Swift. На Хекслете же я изучал JS.
У Хекслета очень крутой и качественный русскоязычный материал — это позволяет быстрее учиться. Когда смотришь англоязычные или переведенные курсы, всё равно какая-то часть смысла теряется — перевести и понять некоторые вещи намного сложнее, чем просто понять — это требует значительно больше сил и времени. Поэтому на этапе, когда только начинаешь вникать в программирование, очень важно, чтобы ничего не терялось — это помогает хорошо систематизировать фундаментальные знания, как в школе.
При этом даже на Хекслете есть очень сложный материал, особенно для начинающих — настолько сложный, что некоторые моменты могут отбить желание учиться. К счастью, у меня было очень сильное желание и огромная мотивация.
Во время обучения я прошёл около 80% профессии фронтенд-разработчика: теорию на 100% и один проект. На втором проекте у меня был ментором Кирилл Мокевнин — он очень давно этим занимается, у него высокий профессиональный уровень — как программиста, так и преподавателя, но поэтому мне было очень сложно с ним. В итоге второй проект я не доделал — написал весь код, но на четвёртой итерации ревью с ментором не выдержал и бросил его проходить. Тем более, что в это время я уже работал и мне было сложно выделять на проект нужное количество времени.
Собеседования
В таком режиме прошло почти три месяца, после чего я устроился фрондент-программистом в Reg.Ru. При этом меня взяли на полностью удалённую работу — мне не нужно ездить в офис, а работать можно из любого места, где есть хороший интернет.
Я устроился в Reg.Ru со второго раза. В середине июня я завалил первое собеседование — тогда я прошёл только начальные курсы по теории JS на Хекслете и решил, что уже смогу программировать. Думал, что спокойно пройду собеседование, меня возьмут на работу, а я дальше буду спокойно учиться. Но мне сказали: «Нет, парень, ты слишком мало знаешь, нам будет очень дорого и сложно тебя учить. Приходи к нам через полтора месяца». Затем, в конце июля, я прошёл уже второе собеседование у них и получил работу.
Ещё когда я только выбирал компанию, в которой хотел бы работать программистом, то специально нацелился на Reg.Ru — у меня там есть знакомые, а значит и возможность быстрой адаптации в коллективе. Я узнал примерный стек технологий, которые были нужны для начала работы, и плюс — помимо Хекслета — завел себе чек-листы, куда собирал различные возможные вопросы, которые обычно спрашивают на собеседованиях.
Во время собеседования спрашивали достаточно базовые вопросы для начинающих программистов — давали задачи на знание механизмов всплытия, как работают события, были вопросы о работе браузеров и call stack. Плюс нужно было решить задачу — дали код, который выводит последовательно на экран цифры от 0 до 10, и нужно предложить как можно больше вариантов для реализации этой функции. При этом алгоритмы не спрашивали — мне кажется, что джуниоров никогда и не тестируют на их знание, максимум на какие-то базовые.
Что происходит, когда устраиваешься на работу разработчиком
Мне очень не хватило знаний Vue.js — на Хекслете есть только React, но нет Vue.js. А это мой основной стек на новой работе — поэтому мне пришлось экстренно проходить на Udemy курсы, чтобы понимать, как это вообще работает. При этом до проекта на React в Хекслете я не дошел, из-за этого мне пришлось учить всё практически с нуля. Конечно, если бы я написал проект на React в Хекслете, то освоить Vue.js было бы намного проще — они достаточно сильно похожи друг на друга. Поэтому в первое время я активно учился новым технологиям.
Читайте и другие истории успеха: Как благодаря Хекслету я устроился в EPAM, стал сеньором и уехал в США.
Оказалось, что программисту нужны не только технические навыки, но и менеджерские софт-скиллы: планирование времени, навыки коммуникации с коллегами, правильное распределение задач. Нужно полностью понимать жизненные цикл продукта от начала и до конца. То есть разработчик создал сайт — и потом он никуда не исчез, его нужно дальше поддерживать, в общем, думать и с точки зрения бизнеса.
Вообще, лучший программист — это тот, кто был проджект-менеджером, а потом стал разработчиком, на мой взгляд.
Про пандемию
В то же время, пока я учился, мы с женой решили, что наши скудные и дешевеющие с каждым днем сбережения нужно каким-то образом использовать, а не держать под подушкой. Мы решили купить участок в Подмосковье. В процессе отбора объявлений мы поняли, что можно почти за те же деньги, но с небольшим кредитом, купить участок с небольшим домиком. В итоге, нам пришлось взять кредит побольше, но и домик стал полноценным старым деревенским домом 1954 года из сруба, с печью, сухим бетонным подвалом, баней, пристроенным гаражом и четырьмя огромными яблонями на участке, всего в 40 км от Москвы.
В марте 2020 года, после рабочего дня, когда моя жена тоже узнала, что она теперь тоже может работать удаленно, мы собрали котов, попугая, вещи — и уехали в нашу деревню. Через час мы уже топили печь березовыми дровами, которые мы так же предусмотрительно купили ещё осенью.
Советы для начинающих
Бросайте вашу старую работу — не нужно искать запасной аэродром, лучше сделать ставки и решить, что это то, чем вы хотите заниматься. Не нужно пытаться сесть на два стула — если хочешь быть программистом — ну, будь.
Я сжег все мосты, освободил просто всё свое время для того, чтобы максимально быстро в погрузиться в разработку. Чтобы хотя бы через пару-тройку лет выйти на тот же уровень зарплаты, что у меня был. Пока я ещё в процессе.