Решился рассказать, как я прошел нелегкий путь к профессии программиста из диаметрально противоположных областей. Кто-то с детства тяготел к компьютерам и узнав, что есть возможность что-то написать некой загадочной последовательностью слов, символов и машина-программа-компьютер будет выполнять пусть и простые, но задуманные тобой действия, был сражен окончательно и выбор жизненного пути был определен. Наверное, это большое счастье и удача, пожалуй для любой профессии, без поправки на нашу сферу. У меня было совсем иначе — я до последнего момента не знал, кем хочу быть. Нет, это вовсе не значит, что я ленивый или ограниченный, скорее наоборот — я с огромным интересом погружался во все науки, мне было комфортно и в точных, и в гуманитарных дисциплинах, занимался всеми доступными мне видами спорта и был во всем этом в каком-то смысле успешен.
Но как и бывает, выбор профессии (точнее сказать, места учебы) остался на последний момент. Обычно в таких ситуациях дети идут по стопам родителей, в ту область, где есть шанс удержаться на плаву в водовороте жизни, либо, денежно-рейтинговую сферу, в мое время это были юристы-экономисты. Проживая, в провинциальном сибирском городке я решил идти на робототехнические системы. Было это, что тогда, что сейчас каким-то безумием, вызывавшим при этом парадоксальным образом всеобщее одобрение и слова поддержки. Конечно там были прекрасные заблудившиеся простые честные ребята, но даже несмотря на успешную учебу и отличный коллектив пришлось все это бросить, меня как и многих в то время накрыла предпринимательская деятельность и я перевелся на другой факультет, где мог больше заниматься работой. Это принесло мне в целом возможность вести достойную жизнь, приобрести машину-квартиру, помочь родственникам.
Но меня не оставляла ни на секунду мысль, что все это ничтожно и должно быть стыдно посвящать этому трудовую деятельность. Позже я уже закончил другую специальность - экономическую, тоже с отличием, поступил в аспирантуру в надежде получить новый вызов, быть полезным обществу, иметь возможность заниматься уже экономикой своего региона. Но и здесь ждало разочарование и ощущение пустоты и полной ненужности своих трудов. В итоге было решено с моей супругой отправиться в Москву, сменить обстановку, получить новый опыт. Тут в целом пошло достаточно ровно, мы обосновались в отличном районе в центре города, оба устроились, помогали родным и строили планы на будущее.
Но потом наступила черная полоса, начался кризисный период да еще и я к сожалению заболел. А так как никогда в жизни, за исключением студенческих подработок, не имел даже 100 рублей гарантированного дохода, то пришлось особенно непросто. Я уже начал шерстить рынок вакансий менеджеров по продажам, банковских служащих, мелких госслужащих, но понимал, что это жуткий тупик для меня, при всем уважение к огромному количеству достойных людей в этих профессиях. Нужно было решиться на перемены, я боялся пополнить армию ворчунов, ели сводящих концы с концами и ненавидящих свою работу, власть, систему и винящих в этом всех кроме себя.
И тогда я решил прислушаться к себе, что мне сейчас будет по душе, что я хочу делать в данный момент жизни? Я устал заниматься по большей части юридической деятельностью и мне по душе была именно техническая работа, я всегда к этому был ближе всего и находил гармонию. Не то, что я необщительный, но именно кропотливо сидеть над чем-то, произвести кучу расчетов и вычислений, прикинуть все варианты, принять решение, ошибиться, найти, где ты совершил ошибку и исправить и сделать все правильно — это моя стихия. Находиться в достаточно четких границах и системах координат и не зависеть от изменчивого экономического курса страны. Это была моя цель. А профессию я уже решил подогнать под это.
После длительных размышлений по этому поводу, стало ясно — лучше всего на данный момент программирование: стабильность, активный рост вакансий даже в кризис, мои предпочтения по течению рабочего процесса. Никаких золотых гор по сравнению со многими другими отраслями как-то не ощущалось, искренне не понимал, не понимаю тех, кто пошел в эту сферу ради шестизначных цифр. Осталось самое легкое — научиться программировать! Меня с юности как-то отпугивали ребята, кто выбрал путь этой профессии: какие-то странные, со своими тараканами, немного запуганные и неряшливые) может мой образ несколько собирателен, но в большинстве это было именно так! Были и хорошие черты — это живой ум и отличное чувство юмора. Почему такой внимание я уделил всем этим внешним атрибутам? Работать придется с людьми прежде всего, и важно быть с ними близкими в чем-то…
Встал вопрос, а как мне выучиться программировать и что нужно для билета в этот чудный новый мир. Побеседовал с HR-ом, связанным именно с этой предметной областью, рассказал, что конечно в институте, школе программировал, но это было в качестве учебной программы (хотя я ходил на курсы в школе и даже писал что-то для себя, но это все было между делом без фанатизма). Ответ мне был такой, выучи SQL и иди работать тестировщиком, туда берут почти. Меня это воодушевило! Я открыл какие-то курсы на ютьюбе, стал по вечерам создавать схемы, таблицы, делать запросы. Решил заодно попрактиковаться в изученном в институте C++, все уроки брал там же.
Потом начал втягиваться, решил почитать истории успеха, как, кто и куда устроился. И все ссылки стали выпадать с рекламой каких-то курсов, с обещаниями трудоустройства и прекрасными перспективами. И самое главное: тут так легко, обучиться может любой, особо думать не надо. Меня это уже начало смущать, ну не может быть так просто и я решил начать курс для интереса. В бесконечном потоке комментариев на разных сайтах и соцсетях пару раз наткнулся на упоминание о странном название ресурса Хекслет, и все писали о них что-то адекватное и уважительное, не в духе «Никогда программированием не занимался, а учиться к ХХХХ пойду, обучение для народа». Зашел я к ним на сайт, посмотрел один вебинар, другой и понял: во-первых, судя по авторам и как все сделано, тут ребята явно не миллионеры и особо за деньгами не бегут, во-вторых никаких липовых гарантий и фальшивых лозунгов (было что-то про стажировку, но потом сделали даже лучше), в-третьих это то, что привлекло больше всего — главное фундаментальная подготовка и никаких синьоров-помидоров за один месяц две недели и двое выходных. Ну и цена в 700, что ли, рублей купила меня с потрохами. В итоге я прикинул, что тут и начнется большая игра, и поставил свои 14$ на эту лошадку. Здесь уже можно брать отсчет моему обучению.
Вся учеба прошла на каком-то древнем ноутбуке, который я брал почти 10 лет назад. Он тормозил иногда безумно даже от пары вкладок в хроме! Забегу вперед, что помогло — так это знание английского, без него я бы сошел с ума, особенно учитывая, что на первом этапе на тебя сваливается сотни неизвестных терминов и выражений, большинство из которых просто заимствование иностранных слов и их использование повсеместно даже при наличии привычных русскоязычных синонимов. К этому вообще надо привыкнуть, любая специализация полна профессионализмами, здесь же это принимает поистине космический масштаб. Также математическая база сильно меня выручала, здесь она не настолько сложна и многогранна, как во многих инженерных, все же там высшая математика намного серьезнее, как минимум сложных дифференциальных/интегральных вычислений, математического, векторного анализа здесь нет и в помине. Может есть специфические области, где это и нужно, но такого объема, как для любого среднего инженера и экономиста тут точно нет, пусть программисты не лукавят, хотя это мое личное впечатление и может в будущем меня ждет какое-то откровение — пожалуйста.
Первые шаги давались легко, благо был удобный онлайн редактор кода с тестовыми проверками, все очень наглядно и удобно! Сложности пошли с настройки среды, в это я включаю переход на линукс, с ним никогда не имел дело. Пришлось потратить время на его освоение и понимание необходимости. Работа с терминалом, Bash сразу ставилась, как одно из самых важных в последующей работе. Пришлось пройти по нему дополнительные курсы на другом ресурсе и привить себе привычку совершать все манипуляции на компьютере с помощью командной строки. Честно говоря всегда раньше казалось какими-то заклинаниями и магией те наборы букв и символов, которые совершают необходимые действия их автору, хотя так кажется и до сих пор. Очень много мне дал суперполезный чат, сообщество учащихся, где обсуждаются многие непонятные для новичка вопросы. Хотя такая характеристика скорее не отражает всей полноты того, чем эта площадка в итоге стала для меня и думаю организаторов. Один из авторов курса очень верно подметил важнейшую часть учебы — это постоянное взаимодействие с другими учениками. Не с преподавателями, а такими же студентами. Это очень помогает, ведь другие делятся способами усвоения материала, пытаются помочь объяснить сложные моменты своими словами, параллельно через это объяснение сами усваивая материал, делятся своими историями преодоления лени, неверия в свои силы и результат.. Тут вскипали споры на кучу разных тем, которые помогали разобрать авторы и эти дискуссии открывали чакры лучше перечитывания кучи спеков и документаций.
Радует, что многие из этих бесед доступны для прочтения и можно вернуться к ним снова. Очень понравилось то, с каким рвением авторы курса отстаивают и доказывают важность чтения фундаментальной и популярной литературы не сколько по самому программированию, а по важным околокомпьютерным вещам, которые дают понимание того, каким должен быть профессиональный программист, на чем требуется делать акцент в своей работе, к каким идеалам нужно стремиться. Плюс декларирование важности функционального, автоматного программирования, рекурсивных вычислений, важности разработки через тесты, понимание которых сформировало мое, как я надеюсь, правильное мышление в этой области. Благодаря этому мой интерес к профессии рос вместе с количеством изученного материала.
Были моменты, когда казалось, что моё обучение будет длиться вечно, а мои друзья и близкие до самого конца были в полной уверенности, что это просто пустая трата времени. Они говорили примерно следующее: как такой сложной профессии можно обучиться удаленно, ни разу не видя авторов лично, тем более у непонятной конторы да ещё и за такой короткий срок (хотя у меня вышло примерно полтора года). Мне признаться честно тоже было страшно и я в какой-то момент тоже был на грани того, чтобы бросить все это. Особенно нелегко мне пришлось, когда мы с женой узнали, что ждем ребенка. В этот момент мне было важно сделать окончательный выбор — продолжать учебу или искать что-то стабильное и с гарантированной зарплатой. Учитывая, что полагаться нам не на кого, это было непросто, но я уже так отчетливо видел себя в этой профессии, что решил идти до конца (хотя потом были моменты когда я внимательно вчитывался в объявления в метро о наборе машинистов, думал сесть за руль такси, находил плюсы в работе курьером и говорил себе, что и там можно зарабатывать) В этот момент были анонсированы так называемые проекты в дополнение к пройденным курсам — это полностью реальный программный продукт небольшого объема сделанный по всем основным актуальным требованиям. Это было то, что нужно! К тому моменту я уже почти закончил проходить курсы по PHP, но ради этого сразу перешел на изучение JS, проекты были только в по нему.
В итоге за 9 месяцев я прошел путь по всем курсам и проектам и закончил все ровно в тот день, когда стал отцом! Но это было началом другого сложного этапа — устройства на работу. Хоть мне очень помогли с составлением резюме и дали много дельных советов по поиску компаний, было непросто найти кого-то кто бы пригласил меня. Тут, наверное, все мои страхи вылезли наружу! Мне казалось, что я приду на собеседование и мне скажут: «Да кто тебя этому научил? Ха-ха, ты же не знаешь простейших вещей!» Ведь я все еще ни разу ни с кем не говорил о программирование и все крутилось в моей голове и на экране компьютера. Может это и глупо, но у меня все еще было опасение, что это некий мираж! Хотя в октябре я успел поучаствовать в открытой акции от гитхаба, где требовалось сделать несколько пулреквестов в открытые проекты, это дало возможность немного поучаствовать в пусть и небольших, но реальных проектах. Все же я жутко боялся!
Один раз я поговорил по скайпу с каким-то HR-ом, потом мне позвонили с другой компании и пригласили на собеседование, их привлекло, что я больше был ориентирован на бэкенд. Я пришел на встречу минут на 40 раньше, походил вокруг здания немного, переживания были ровно до того момента, как мне предоставили лист с тестовыми вопросами. С этого момента всё было хорошо, я решил почти все задания! Правда в конце разговора я сказал, что готов работать хоть за какие деньги)) В итоге мне сказали, что со мной свяжутся по телефону. Эти дни были полны надежд, я уже видел себя в этой конторе… В итоге спустя неделю мне позвонил незнакомый номер, через 5 минут я закончил разговор и обнял жену и сына. С понедельника я вышел на работу.
Было волнение, когда пришел на работу в первый день, но коллектив оказался замечательным, меня отлично приняли и дали возможность втянуться в рабочий процесс. Конечно, были трудности, работа с чужим кодом всегда несет в себе много сюрпризов, но это были скорее трудовые будни и все сложности оказались решаемыми. Не было ничего, с чем я не сталкивался за период обучения.
Испытательный срок уже подошел к концу. Я принят в штат. Но каждое утро я с огромным удовольствием иду на работу, мне дорог каждый день на рабочем месте, всё это благодаря одному — я занимаюсь любимым делом, которым стало для меня программирование за последние 2 года! И мне все также хочется учиться и узнавать новое, благо в этой сфере неисчерпаем путь для собственного образования и совершенствования.