Все статьи | Истории успеха

Случайности неслучайны, или Как я думал, что программирование — не мой путь, но стал программистом благодаря настойчивости

Случайности неслучайны, или Как я думал, что программирование — не мой путь, ... главное изображение

Всем привет! Я уже два месяца работаю в компании ООО «Интегрикс» в своём родном Волгограде. «Чистыми», за вычетом подготовок к сессиям и переездов, учился на Хекслете интенсивно где-то 5 месяцев, за спиной два проекта и готовность к третьему.

Вроде бы всё логично и просто, но начиналось иначе.

Изучить программирование за три недели: миссия (не)выполнима?

Когда я узнал о Хекслете, обучался на первом курсе направления «Прикладная информатика в экономике» в своём городе. Ситуация была, откровенно говоря, так себе: еле сводил концы с концами в освоении Pascal, половина лабораторных была куплена у одногруппников, а экзамен был сдан только благодаря ловкости рук и небольшому везению. С математикой ситуация обстояла ещё хуже, что к окончанию первого курса летом 2019 года приводило меня к явному выводу: программирование — не моё.

Однако к концу того лета в моей жизни произошли перемены, и девушка, за которой я гонялся два года, ответила мне взаимностью. Но была проблема: она уже давно жила в Москве, а я все ещё Волгограде.

В голову пришла гениальная и абсурдная мысль: за три недели освоить какой-нибудь язык, получить офер из Москвы, накопить 15 тыс. рублей и переехать к даме сердца :-)

Конечно, эта мысль не выдерживала никакой критики, и ничего общего с реальностью, казалось бы, иметь не могла. Но на всё у меня был один ответ: «А почему бы и нет?»

Знакомство с Хекслетом

В скором времени на каком-то туманном форуме из глубин интернета мне добрый товарищ подкинул ссылку на Хекслет.

После вузовской программы меня очень сильно зацепила одна особенность Хекслета — невероятное внимание к деталям. Начиная от самих курсов и упражнений к ним, заканчивая структурой самой площадки в целом. Это было видно ещё при беглом взгляде на оформление. Ведь, в отличие от многих других онлайн-курсов, здесь не возникало ощущение, что тебе очень сильно хотят что-то впарить. Практически никаких речей в стиле «отучись x месяцев и будешь сразу получать y рублей в месяц». Также подкупает полная прозрачность учебного материала.

Для себя решил выбрать JavaScript по простой причине — самый низкий порог входа в профессию и обилие вакансий в столице.

Читайте также

Стоит ли учить JavaScript: перспективы, ситуация на рынке труда, мнения экспертов

Я все ещё думал, что программирование не моё, но у меня была цель, и отступать не хотелось. Полностью забив на вуз, я проводил, в среднем, около 10-12 часов в день на Хекслете. Это довольно быстро дало плоды — материал давался всё лучше, упражнения становились всё солиднее, а значит, было что показать на собеседовании, мозг перестраивался на новый курс почти каждый день.

И вот, спустя три недели, наступил мой вымышленный дедлайн. Всё, что у меня было — пройденный курс по базовым функциям в JavaScript и пара-тройка упражнений из него в своём репозитории на GitHub. Я закинул резюме на HH.ru, красиво оформил его (не без помощи прекрасной Вероники — catwomenko.ru), написал сопроводительные во все места, куда откликался (50+ мест) и стал ждать чуда. Дождался.

Спустя несколько дней мне пришло аж три приглашения на собеседование. Денег было не так много, поэтому взял пару тысяч у родителей и продал свою любимую консольку с парой дисков в придачу, взял первый же ближайший билет от «Победы» и полетел.

Неудачные собеседования

Первым было собеседование от банка «Киви». В первой части был тест из нескольких разделов, в каждом из которых давались разные простые задачки. Здесь мне очень помог подход, который вбивался преподавателями из Хекслета с самых первых упражнений, а именно — представить пошагово, что делает моя функция, а потом её уже реализовывать. Тем не менее крайне скромная база всё же сказывалась, и очень много где я просто не понимал написанного и ориентировался по каким-то отрывкам контекста, который улавливал.

Меня пригласили на вторую часть собеседования. Это было уже собеседование с тимлидом и старшим разработчиком. Меня опрашивали по моим упражнениям на гитхабе и, указывая на разные элементы кода спрашивали: «Что здесь можно исправить и улучшить?»

К сожалению, у меня были небольшие пробелы в знаниях, и не помог даже энтузиазм. Грустные глаза очень милой HR явно говорили, что она была расстроена, но ничего поделать не могла.

Спустя время понимаю, что если бы я позанимался в родном городе на неделю-полторы больше, то исход был бы другой, и я смог бы ответить на поставленные вопросы.

По иронии судьбы днём ранее прекратилось общение с девушкой, к которой я так стремился переехать. Грубо говоря, урок я выучил тот же, что и от собеседования: упорство — это прекрасно, но слишком сильно спешить — вредно.

Следующие два собеседования прошли по похожему сценарию — у меня спрашивали самые базовые знания по любому из языков. На одном из них ещё попросили сделать простой запрос Select в базу данных. Снова досадный пробел в знаниях, снова грустная HR.

Слегка удрученный результатами, вернулся в родной город, но интерес к программированию не потерял.

Как я потерял запал, но кризис помог мне его вернуть

Вуз я по прежнему не посещал, появляясь лишь на сессиях. Освободившееся время тратил на курсы, проекты и небольшие подработки. Планомерно, не спеша, но продвигался, параллельно занимаясь очень важной вещью — вхождением в IT-общество. Общение с большим количеством уже состоявшихся разработчиков из разных сфер и разных стран дало понимание главных паттернов и антипаттернов в разработке, познакомило с неожиданными рабочими моментами, напрямую с кодом не связанными, и немного открыло глаза на то, в какую сторону лучше двигаться. Для себя понял, что действительно хочу работать на JS, а впоследствии — React.

Читайте также

Зачем изучать React: особенности и перспективы библиотеки, ситуация на рынке труда

Но у моего упорства был и обратный эффект — не ценил имеющееся. Уже в марте этого года спокойно мог бы устраиваться в местные компании на младшего разработчика, ведь за спиной были два полноценных проекта. Но, все ещё удручённый прошлыми провалами на собеседованиях в столице, хотел довести дело до четырёх проектов, каждый раз подгоняя себя мыслью, противоположной осенней — «ещё рано, очередной провал не нужен».

Как бывает со всеми, кто долго учится и явного результата в виде трудоустройства не видит, после очередной попытки переезда в Москву начал терять запал и устроился там в кофейню. Потихоньку подзабил на код, начал обживаться и довольствоваться малым...

Однако, по привычной уже иронии судьбы, из Китая раздался кашель. Нет кофейни, нет денег на аренду, нет столицы.

Если бы ещё немного приложил усилий и начал учить асинхронный код и DOM-деревья, которые на тот момент активно требовались на удалённых вакансиях — получил бы работу и остался в Москве. Усвоил ещё один важный урок — надо доводить дела до конца.

Как я нашёл работу в родном городе

Наконец, вернувшись в Волгоград, понял, что тянуть дальше смысла нет, и подал резюме в местную компанию, в которую искренне хотел попасть по совокупности причин.

Отклик, собеседование, трудоустройство. Собеседование проходило в дистанционном формате. Мне давали тестовое задание, которое выглядело так: создайте аналог школьного расписания, используя PostgreSQL. Таблицы и связи были на моё усмотрение. На задание ушло примерно 3-4 дня. Потом было собеседование с техническим директором и одним из разработчиков, где меня расспрашивали на знания баз данных, а также на предмет опыта работы с информационными системами.

Через неделю мне позвонили и сообщили, что приглашают на работу. Полностью белое оформление, 5/2 в хорошем офисе с действительно классным коллективом. Для меня абсолютно развеялся миф о том, что программисты — закрытые необщительные люди, с которыми не о чем разговаривать. Конечно, быть может это исключительно мне так повезло, и везде по-разному, но тенденцию подобную улавливаю не в первый раз.

Про саму работу написать особо нечего, потому что встречаю всё то, через что проходил при обучении. Разрабатываю информационные системы для разных государственных структур, например МФЦ или РЖД. У нас есть платформа под названием RDEV, и на её основе создаются другие ИС. Вся бизнес-логика описывается на чистом JavaScript с небольшим количеством готовых системных функций для взаимодействия с базой данных и отправкой HTTP-запросов.

Самое главное — упорство и умение задавать вопросы. 99% проблем, через которые проходил, решались банальным обращением в чат или к коллегам, которые сто раз предпочтут быстро помочь надоедливому новому разработчику, чем исправлять критические ошибки в коде тихого парня, который думал, что знает всё сам.

Так выглядит история вхождения в айти обычного 19-летнего парня, богатая как хорошими, так и не очень хорошими событиями. Впервые пишу подобного формата текст, буду рад любым вопросам и комментариям :-)

Аватар пользователя Юник Степанян
Юник Степанян 08 сентября 2020