Итак, меня зовут Даня. Мне 21 год, и я являюсь старшим разработчиком с опытом работы в таких крупных компаниях, как Ozon & ВКонтакте.
Однако одним лишь фактом работы в подобного рода компаниях гордиться, мне кажется, не стоит. Ведь одного названия мало: важны задачи, проекты и челленджи, с которыми ты сталкиваешься ежедневно.
Столь развитые участники российского IT-комьюнити и рынка могут дать тебе, как специалисту, представление о культуре разработки востребованных и крайне популярных продуктов. Помогут осознать столь высокий уровень ответственности, который будет только расти, если ты на это способен и к этому стремишься, а также покажут, какие последствия могут повлечь неосторожные действия, ошибки и человеческий фактор. Речь не только о репутации, но и о финансовых издержках потенциально крупного масштаба.
Однако не все сразу, и мой путь отнюдь не исключение. Попал в эту сферу я абсолютно случайно. Еще со школьных лет хотел стать командиром воздушного судна и летать по миру.
Из всего, что я знал о компьютерах, было — как запустить контру и зайти в Discord для совместного времяпрепровождения с друзьями — на этом буквально все.
Но на одном из уроков информатики преподаватель дал нам задачку, которая была направлена скорее на логическое мышление. Мне удалось решить ее быстрее всех, на что преподаватель сказал мне при всех: «Вот, тебе бы в программисты пойти». Буквально с этого момента, с 9 класса, начался мой путь.
Придя тогда домой, я открыл в YouTube первое попавшееся видео по запросу «Востребованный язык программирования». Я по сей день удивляюсь, ведь мне выпало видео об основах C++. Тогда я вообще не разбирался в тонкостях и просто сел смотреть уроки один за другим. Да, меня затянуло. Меня впечатлил тот факт, что я своими руками могу что-то создать. Что-то осмысленное, что мне подконтрольно.
И я вечерами сидел и просматривал эти видео одно за другим, конспектируя цветными маркерами к себе в тетрадь 48 листов каждую заметку и синтаксическую особенность языка. Это все длилось долго. Более 3-х лет я посвятил этому языку. Освоил его на неплохом уровне и даже умудрился провести свой первый в жизни локальный митап на несколько человек, посвященный выходу в C++20 корутин.
Однако попасть в коммерческую разработку я так и не смог с этим инструментом. Честно сказать, даже особо и не пытался. Вяло откликался (по 2−3 отклика) на вакансии, но кому нужны джуны. Так и не нашел пристанища. Так и прошли первые годы изучения и самостоятельной практики языка, computer science и некоторых технологий. Все самостоятельно, без помощи и сильных коллег.
Поступив на 1-й курс университета, я попал в группу, в которой очень быстро нашел общий язык с некоторыми ребятами. Как оказалось далее, это стало очень важным аспектом в дальнейшем. Ребята были заряжены на развитие, стремились раскрыть свой потенциал в IT-сфере. Ближе к весне и первой сессии один из них, имея неплохие знания в Python, вдруг пришел со словами: «Даня, я тут на GO посмотрел, язык — сказка, и на C++ похож очень». И тут я подумал: ну раз похож на С++, то почему бы и не взглянуть. С плюсами-то я справляюсь, а с этим-то тем более все будет good.
И действительно, та самая база, те знания и представления, которые мне дал период изучения плюсов, сыграли очень важную роль. Буквально за неделю-две неторопливого изучения GO я все больше и больше ловил себя на мысли, что концепции некоторых языков пересекаются, и я могу провести параллель между ними. Все это позволило очень быстро вкатиться. Синтаксис, внутрянка, примитивы оказались очень знакомыми и понятными. Буквально после двух недель я уже мог создавать полноценные приложения, грамотно управлять возможностями конкурентности, которые дает язык, и строить первые веб-сервисы.
Еще через месяц я понял, что пора устраиваться и расти. Расти как специалист. С этого момента и начались «обстрелы» компаний разного рода и направления деятельности. От инфобеза до e-commerce. Я закидывал по 70−100 откликов в день. Просто протыкивая каждую компанию, где есть вакансия Junior Go-разработчик. В резюме особо нечего было написать, поэтому я немного приукрасил (ну, а как иначе) описание пет-проектов и самоделок, расписав технологии и места их применения.
Я четко осознавал, что неважно, над чем я буду работать. Важен сам факт наличия проекта и сильных коллег. В результате 2-х недель поисков я все пробился на первое собеседование в info sec компанию, которая создавала ПО для оборудования. Оно прошло без осечек. Тогда я сильно удивился, что вопросы были довольно легкие, и задачи весьма понятные, что придало, несомненно, уверенности.
Во время ожидания ответа от HR (около 2-х дней) меня пригласили на еще одно собеседование в FinTech-компанию, которая была расположена прямо в Moscow City. Я четко выделял именно эту компанию среди остальных из-за стека технологий и направления. Мне было очень интересно поработать в данной сфере. Да и с большинством технологий стека (а там было указано Kafka, k8s, Postgres, Golang и еще пару) я был знаком и осознавал их востребованность на рынке. Собеседование было назначено на дату X.
И буквально на следующий день мне пришел ответ с предложением. Я принял решение рискнуть и попробовать свои силы на поставленном ранее собеседовании. Я отклонил предложение. Единственное, которое было на руках, и самое первое — в пользу компании, на которую был нацелен. Без каких-либо гарантий.
В результате не ошибся и попал на позицию junior-разработчика на довольно интересный проект. Коллеги там были сильнее меня, и мне было чему поучиться. С этого и начался мой путь в IT, можно сказать. Но не только у меня.
Параллельно со мной мои уже друзья по университету также искали работу. И именно Даня (так зовут паренька, который и уведомил меня о красках языка GO) нашел ее одновременно со мной (спустя месяц после моего трудоустройства). Попал он в Ozon. Также на джуна.
Проработав более 7 месяцев, набравшись определенного опыта и знаний на текущем месте работы, на данном проекте, который буквально стимулировал все это время развиваться и учиться у коллег, ко мне пришло осознание, что на данном месте я достигаю своего рода потолка. Задачи кажутся однообразными, процессы в коллективе были хуже и хуже, новые знания и практики получается применить нечасто. Да и по зарплатным ожиданиям было куда расти.
Все это привело к тому, что я сижу с руководителем команды Дани (из Ozon) и прохожу первичный скрининг в эту компанию. Да, реферальная программа — крайне интересный инструмент. Меня порекомендовали, и в кратчайшие сроки был назначен ряд собеседований в данный коллектив. Все этапы я прошел. И благополучно вступил в команду.
Попал я на проект, который являлся буквально стартапом внутри компании. Его разработку мы вели буквально с нуля, создавая MVP для бизнеса. Этим продуктом сейчас является лидер на площадках найма сотрудников среди конкурентов — приложение Ozon Job. Команда из 4-х человек отвечала за core backend-часть данного продукта с самых истоков.
Это стало следующей точкой моего карьерного роста. Попав на позицию middle, я учился новому ежедневно, много челленджей, подходов, которые я раньше не встречал, формировали фундамент для меня как для продуктового разработчика.
Отдельное внимание стоит уделить направлению отказоустойчивости системы. Так получалось, что немалый процент задач и проблем данного характера падал на меня как на ответственного. Так исторически сложилось, что система проектировалась и разрабатывалась в реалиях, где просто не было места для такого термина, как «отказоустойчивость».
Ее попросту не заложили на этапе проработки MVP. Это вскоре и аукнулось. Было множество проблем и отказов, на которые система реагировала недолжным образом, заставляя пользователей проявлять негодование. С одной стороны может показаться, что это непозволительная роскошь — создавать систему без оглядки на ее надежность и устойчивость к сбоям. Но я тут вижу лишь возможность на собственном опыте встретиться лицом к лицу с множеством проблем, о которых когда-то читал или слышал ранее. Пройти путь от множества исследований очага и устранения его самым эффективным способом.
Окружение, задачи и темп кратно ускоряли мой рост и багаж навыков и знаний, которые я бы вряд ли получил на прошлом месте. Так прошли все два года моего пребывания в этом коллективе.
Данная компания позволила мне брать ответственность за целые проекты, принимать стратегические решения и быстро адаптироваться под новые вводные. Из-за высокой отдачи, желания брать ответственность и соответствия ей мне удалось вырасти до старшего разработчика. Как уже упомянул, прошедшие 2 года продуктовой разработки на довольно динамичном и перспективном проекте (имеющим на тот момент чуть ли не топ-1 приоритет всей компании) сформировали четкое понимание, как должны выглядеть production-системы с немалой нагрузкой. Это крайне ценный опыт.
Однако в конце этого срока я стал замечать, что я все больше и больше привыкаю к специфике продуктовой разработки.
Платформа в компании решает огромное количество проблем для рядового продуктового разработчика, кратно сокращая TTM его фичей, но мне всегда было интересно, какого это — быть по ту сторону. Сев одним днем и обдумав дальнейший план моего развития, я определил вектор его направления. Он был (и сейчас) направлен на инфраструктурную разработку. Искал место в платформе при отсутствии какого-либо опыта в данном направлении. Руководствовался лишь наблюдениями за время работы в Ozon.
Проходил собеседования в Яндекс и ВКонтакте. По итогам прохождения всех секций в Яндекс меня завернули на финалке. Сказали, что нашли более релевантного кандидата, имеющего за плечами опыт в данном направлении. Ну что ж, подумал я, идем дальше. Дошел до ВК. Шел целенаправленно в команду платформы. Направление языка GO там набирает обороты и вытесняет все остальное, поэтому присоединиться как можно раньше стало моей задачей номер 1. Крайне хотелось с истоков принять участие в поднятии всего того, чем я пользовался несколько лет и вообще не задумывался, а как оно на самом деле работает.
И успешно. Пройдя все собеседования, попал туда, куда и хотел, на позицию старшего разработчика. Да, уровень платформы тут ниже, чем в Ozon, но стоит отметить, что здесь она только появляется и обкатывается. В то время как в Ozon — это отточенный временем и шишками инструментарий. Однако ожидания оправдались. Минимум продуктовых нюансов и максимум инженерных и технических задач.
Сейчас занимаюсь развитием ядра платформы и предоставлением баз как сервис (DBaaS). Планы построены на кварталы вперед, так что отчетливо виден вектор развития этого направления.
Вот в двух словах и описан путь. С маленького FinTech-стартапа до крупных компаний и ключевых проектов. Многих, возможно, удивит факт роста с джуна до сеньора за три года, но тут нельзя отталкиваться только от этого факта. Могу с уверенностью сказать, что качественная работа с высокой отдачей формирует у руководителей представление о тебе как о хорошем специалисте. В свою очередь этим можно пользоваться! Как именно? Да все просто. Брать на себя ответственность, повышая ее планку с каждым разом. Ответственность и скиллы — ключ к замку карьерного роста. Нужно всего лишь убрать те барьеры, которые нам могло навязать общество, и открыть этот самый замок.