Я вырос в Казахстане, окончил вуз по инженерной специальности в Новосибирске, работал в продажах и аудите, а пару лет назад переехал в Москву, окончил курсы GeekBrains и теперь сам работаю в этой компании front-end разработчиком. Я уверен, что нашел свою профессию, хотя в школе и представить себя не мог программистом.
Почти отличник
Заниматься программированием я изначально даже не думал. Впервые познакомился с ним в школе, когда на информатике учился писать простые программы на Pascal. Но тогда интереса не возникло: то ли преподаватель не заинтересовал, то ли я энтузиазма не проявил. Зато я любил математику и физику. Эти предметы мне легко давались, да и по остальным все шло отлично. Единственная четверка — по русскому языку.
Я родился и вырос в Казахстане, там отучился в школе, а после поступил в Новосибирский государственный технический университет. Новосибирск был недалеко от моего родного города Петропавловска. Я переехал в Россию, чтобы учиться, а через несколько лет смог получить здесь гражданство.
Специальность, которую я выбрал в вузе, называлась «Электропривод и автоматизация промышленных установок». Выбор был рандомным и неосознанным, как обычно после школы. Пришел в приемную комиссию, изучил буклеты, мне сказали, что это лучшая специальность, и я пошел на нее учиться. В этом возрасте я, как и многие сверстники, не понимал, чем хочу заниматься. Мне было важно получить высшее образование, а дальше я решил ориентироваться по ходу. Через год я понял, что не туда поступил, но учиться продолжил.
В НГТУ я изучал Pascal, спецглавы высшей математики (это и матанализ, и программирование), информатику, программирование микроконтроллеров. Мы писали на C++, но это были простейшие программы. Меня смущало, что я не видел и не мог потрогать результат того, что мы делали на занятиях. Позднее я понял, что программирование может быть другим.
В целом, специальность оказалась очень инженерной: для нас даже организовывали практику на предприятиях, но я не особо активно в ней участвовал, хотя учился хорошо. Параллельно с учебой я искал для себя другие возможности.
Свой бизнес, работа в EY и Deloitte
Первый год я закончил с одной четверкой (остальные пятерки), на втором начал работать и не так много уделял времени занятиям — тут уже и тройки появились.
Я успел попробовать себя в разных сферах. На третьем курсе активно занимался продажами, организовал небольшой бизнес с другом. Мы продавали страхование жизни, а позже стали работать с накопительной частью пенсии. Было интересно и прибыльно. Но через пару лет прошла реформа — накопительную часть пенсии заморозили, и мы закрылись.
После этого я пошел в аудит. В университете был день открытых дверей, там я познакомился с компанией EY (в прошлом — Ernst&Young), заинтересовался их деятельностью, а позже прошел собеседование и устроился на стажировку. Это была очень однообразная и скрупулезная работа: уже тогда я начал сомневаться в том, что профессия аудитора мне подходит. Но мне нравилось работать с внутренними программами компании и Excel, где мы сводили данные. Я начал понимать, что мне нравится техническая работа.
После стажировки у меня появилась возможность устроиться в другую аудиторскую компанию — Deloitte в Москве. Я решил дать аудиту еще один шанс.
Переезд в Москву и курсы GeekBrains
Помню, когда я уходил со стажировки в EY, HR предложила мне попробовать себя в программировании. Ей показалось, что IT-сфера мне больше подходит. Я не прислушался тогда к совету, но запомнил его.
Мне давно хотелось переехать в Москву — пожить в бешеном ритме и мягком климате. Я был рад возможности переехать, когда прошел собеседование в Deloitte. Но на новой аудиторской должности я окончательно убедился, что хочу работать в сфере IT. Я стал искать курсы по программированию.
Обычно я выбор делаю быстро. Зашел на какой-то форум, спросил, какая самая популярная профессия в будущем. И там же нашел статью какого-то японского чувака о том, что Ruby on Rails — это будущее разработки.
Дальше я гуглил уже конкретные курсы. И первое, что выдал мне поисковик, — курсы GeekBrains «Программист Ruby». Бесплатные курсы я даже не рассматривал, я знаю себя: когда я не плачу за курс, у меня нет мотивации постоянно уделять ему время. А если заплатил, отношусь серьезно.
Учеба была 2 раза в неделю. Но я также много дополнительно занимался сам: скачивал макеты в .PSD и сам их верстал, читал много статей на GeekBrains, Habrahabr, Stack Overflow.
После изучения блоков по HTML и CSS я попросился внутри своей аудиторской компании перевестись в отдел, который разрабатывал внутренний сайт.
Работа в OneTwoTrip
Еще через несколько месяцев я ушел из аудита окончательно и начал работать в компании OneTwoTrip младшим front-end разработчиком. По большей части я там работал верстальщиком, но и код немного писал.
В OneTwoTrip тогда искали младшего разработчика, которого они бы обучили своей специфике уже в процессе работы. Я ответил на технические вопросы на собеседовании, выполнил тестовое задание (сверстал слайдер) и получил оффер. Но на самой работе все оказалось сложнее.
Первый месяц я каждый день думал: «Ну, сегодня меня точно уволят». Я многого не понимал, постоянно задавал вопросы коллегам, учился с помощью Google, code review и старался себя не выдать, но уровень моих знаний был очевиден. В работе нужен был весь пул разработчика: Git-flow, работа с консолью (Iterm2), Jenkins, сборщики проектов (у меня тогда был Gulp), ну и много всего сопутствующего. Я открывал файлы HTML и CSS, верстал простую страничку и отдавал. Коллеги комментировали, объясняли, что конкретно нужно поправить, и это тоже помогло набраться опыта. Спустя месяц я втянулся — все пошло более-менее хорошо.
В итоге я отработал год. На тот момент я чувствовал себя в разработке более уверенно и хотел заниматься другими задачами, но вакансий, которые были бы мне интересны, в компании не нашлось, и я стал искать другую работу.
Работа в Mail.Ru
Когда я понял, что в OneTwoTrip для меня подходящей работы нет, я выложил резюме и через какое-то время получил приглашение пройти собеседование в Mail.Ru.
Я уже проходил собеседование в другом отделе компании до этого, но в первый раз меня не взяли. Тогда я не особо переживал: понимал, что еще зеленый для них, и мне был интересен сам опыт собеседования в такой крупной корпорации. На первой встрече я смог уловить, что нужно подтянуть, чтобы работать в компании. Еще пообщался дополнительно с человеком, который меня собеседовал, задал все интересующие вопросы.
На второй встрече с Mail.Ru я был уже более уверенным специалистом. Мне задавали технические вопросы и дали одну задачку на логику. Думаю, подготовиться к таким заданиям заранее не получится: либо у тебя есть нужные знания-навыки, либо нет. Я не ожидал, что пройду. А дальше все очень быстро — от собеседования до получения оффера прошло 10 дней.
Сейчас я отвечаю за разработку клиентской части GeekUniversity. Уже в процессе работы понадобилось кое-что подучить. Например, технологию React. Это сейчас мейнстрим в веб-разработке. Компоненты, написанные на React, легко поддерживаются и масштабируются. В дальнейших планах — разобраться с Ruby on Rails и переходить потихоньку на фулстек.
Все сложилось как нужно
Когда я пришел в Mail.Ru, у меня появилось ощущение, что я сделал важный шаг в карьере разработчика. К московскому ритму я быстро привык: мне нравится быть в этом потоке. Может быть, когда-нибудь мне и захочется свое дело, как тогда — в Новосибирске. Но прежде чем открывать что-то свое, нужно хорошо разобраться в определенной теме, стать в ней специалистом.
Front-end разработка меня сразу зацепила тем, что ты делаешь что-то и сразу видишь результат. Плюс задачи постоянно разные и ты сам выбираешь, как их решать.
Сейчас я думаю, что если бы я еще в школе понял, чем хочу заниматься, я бы выучил английский и уехал в Штаты. Закончил бы колледж и пошел сразу работать программистом. А с другой стороны, я не жалею о предыдущем опыте: и продажи, и аудит были хорошей школой.
Я из тех людей, которые быстро принимают решения. Думать и размышлять можно очень долго, но пока не попробуешь, не поймешь, что тебе подходит. У меня все сложилось так, как нужно.
Советы новичкам
Новичкам я советую не торопиться. Если ты понимаешь, что не до конца разобрался, лучше потратить еще день-два на дополнительное изучение. Лучше понять меньше, но четко.
В процессе учебы я использовал один прием. Если какая-то тема совсем не давалась, я записывал ее, откладывал и возвращался после перерыва. И через какое-то время магическим образом до меня все доходило. Так я использовал время максимально эффективно.
Важно заниматься понемногу, но каждый день.Также я считаю полезным регулярно повторять то, что ты изучил раньше. Прежде чем браться за новую тему, я всегда просматриваю предыдущую.
Мне кажется, главное, что нужно для успеха в этой профессии — личный интерес. Если ты ради чего-то другого выбрал эту работу, долго не протянешь, либо просидишь всю жизнь на одном месте. А если тебе интересно, ты постоянно будешь что-то дополнительное читать и изучать, расти как профессионал.
Часто в программирование идут, потому что это мейнстрим, а потом быстро бросают. Это должно тебе сразу понравиться, тогда дойдешь до конца.