Привет! Меня зовут Сергей, и я хочу поделиться своей историей. Мне 33 года, живу в городе Фетхие в Турции и работаю бэкенд-разработчиком на Ruby. Буквально год назад я практически ничего не знал о программировании и веб-разработке, но желание сменить профессию и попробовать себя в чем-то новом привело меня в эту точку. Как говорится, «You only live once!»
Профиль Сергея на Хекслете со всеми пройденными курсами можно посмотреть здесь, код выполненных проектов — на GitHub
Я родился и вырос в Москве, в 2012 году закончил РГТУ им. Циолковского по специальности «Материаловедение». В процессе учебы я не получил знаний об информационных технологиях и навыков программирования, так как это не было моим профильным предметом.
После учебы в университете я долгое время работал консультантом по внедрению продуктов компании SAP. Я много узнал о процессах работы в ИТ, участвуя во внедрении и поддержке готовых продуктов. Я много интересовался тем, как все устроено под капотом, и думал о том, чтобы поучаствовать в доработке существующего решения для конкретного клиента. Но тогда все это казалось мне довольно сложным, требующим подготовки и знаний. Кроме того, продукт был написан на довольно специфическом языке — ABAP.
Преодолел страхи и начал учиться
Когда настала пандемия, количество потенциальных проектов и рабочих задачи резко сократилось, в голову начали лезть негативные мысли о том, что будет дальше. Я не знал, чем заниматься в появившееся свободное время. На фоне происходящего начал задумываться о смене места работы, а затем и о смене профессии. Мне всегда хотелось попробовать себя в программировании, но казалось, что для этого нужны сильные знания по математике, в которой я никогда не был силен. Плюс к этому, боялся, что мой возраст будет препятствием. Я часто задавал себе вопрос: а не слишком ли поздно менять профессию?
Я твердо решил преодолеть свои страхи и стать программистом, близкие меня поддержали. Начал искать ресурсы для обучения, но вскоре понял: чтобы добиться хороших результатов и построить карьеру разработчика, нужна структурированная программа, которая закладывает фундаментальные знания о языке и программировании в целом, а также обратная связь от преподавателя. Именно тогда мои друзья рекомендовали мне Хекслет. Я изучил информацию о школе, почитал отзывы выпускников и решил попробовать.
Следующим шагом был выбор языка программирования. Среди моих друзей и знакомых — все рубисты, однако на Хекслете курс по Ruby — для продвинутых, и мне с нуля было бы сложно разобраться в нем. Поэтому мой выбор пал на JavaScript — как мне кажется, самый популярный язык программирования.
В процессе обучения на Хекслете мне понравилось, что акцент делается на практических заданиях, а не только на теоретических знаниях. Кроме того, у школы есть активное сообщество, в котором я мог задавать вопросы и получать помощь от наставников и других студентов. Это очень помогало, когда я сталкивался с трудными задачами или были затыки в работе над проектами.
После завершения курса по программе «Node.js-разработчик» я недолго думая сразу взялся за профессию «Разработчик на Ruby on Rails». Поначалу было довольно легко, так как у меня уже были базовые навыки, но некоторые домашние задания и проекты были довольно сложными: привет, метапрограммирование! В таких случаях приходилось много гуглить и задавать вопросы наставникам, но в конечном итоге мне удалось преодолеть эти сложности.
В процессе учебы бывали случаи, когда я не до конца понимал материал курса, приходилось самостоятельно изучать дополнительную литературу по языку и обращаться к видеоурокам на YouTube. Из книг, которые я прочитал и сейчас читаю, могу посоветовать: «Ruby Under a Microscope», «Грокаем Алгоритмы», «Programming Ruby», «Совершенный код».
Обязательно прочитайте: Список рекомендуемых книг для начинающих и опытных программистов
Практиковался, чтобы пройти собеседования
После того как в рамках профессии я завершил третий проект, мне написала карьерный менеджер Хекслета: предложила начать проходить собеседования и посмотреть несколько вакансий. На тот момент я уже чувствовал желание испытать свои знания и понять, хватает ли их для реальных продуктовых задач, но все равно был немного неуверен. Однако после первых нескольких собеседований я понял, что все не так страшно, везде задают похожие вопросы и от начинающего разработчика не будут требовать многого.
Для подготовки к собеседованиям я много времени уделял теоретическим знаниям и решал практические задачки на Codebattle, Leetcode, Codewars. А чтобы дополнительно прокачать свой GitHub, решил попробовать себя в одном из опенсорс-проектов Хекслета, для которого сделал несколько задач. Это помогло мне посмотреть на лучшие практики работы с различными технологиями и понять, как работать с реальными задачами в команде, проходить код-ревью, правильно оформлять пулл-реквесты.
Получил работу и продолжаю расти
Сейчас я уже полгода работаю бэкенд-разработчиком в международной компании. Потихоньку прокачиваю свои навыки на реальных проектах, выполняя различные задачи: от исправления багов до внедрения небольших фич. В работе мне также пригодились знания, полученные в процессе учебы, например, эффективно решать задачи, улучшать качество кода, быстро находить и устранять ошибки, взаимодействовать с другими разработчиками.
В дальнейших планах у меня, конечно, профессиональный рост. Я также хочу освоить основной стек технологий, который используется почти во всех проектах, написанных на Rails, набраться побольше уверенности в себе, приобрести практические навыки, которые помогут мне дорасти до миддла.
Что важно в процессе учебы
В процессе обучения у меня часто были ситуации, когда просто хотелось опустить руки и все бросить. В такие моменты очень тяжело: учеба не идет, ничего не понимаешь и не знаешь, что делать. Мне кажется, что нужно взять себя в руки, хорошенько отдохнуть и отвлечься, чтобы не выгореть перед настоящими трудностями уже в работе. Путь хоть и тяжелый, но он обязательно принесет результат, если постараться. И конечно — задавать вопросы, ведь самый глупый вопрос — это не заданный вопрос.
Отдельно хотелось бы подчеркнуть, что знание английского языка — важно. Иностранные языки открывают кучу возможностей для трудоустройства за рубежом и помогают в повседневной работе.
Далее — опенсорс. Я рекомендую попробовать свои силы, в том числе, в проектах Хекслета. Чтобы начать, нужно только желание, а благодаря комьюнити Хекслета можно легко вкатиться. В чате помогут выбрать интересный проект, дадут инструкцию, как начать. В списке задач для проекта всегда найдется задача для новичков: помечены как good first issue. Это может быть самая простая задача, но после того как твой код зарелизится, очень повышается самооценка и мотивация продолжать заниматься программированием.
Нужно быть готовым к тому, что на реальной работе тоже придется учиться. Различные компании используют разный стек технологий — придется во все это вникать: как настроить, как пользоваться, как тестировать.
В заключение хочу сказать, что я очень благодарен Хекслету за поддержку и помощь на протяжении всего обучения. Хекслет дал мне знания и навыки, необходимые для достижения успеха в карьере в ИТ.
Получите профессию «Node.js-разработчик» за 10 месяцев! Node.js-разработчик разрабатывает бэкенд-компоненты, связывает приложение с другими веб-сервисами.
Погружение в практику с первого дня. Вы получите готовое портфолио на GitHub к концу обучения, поддержку наставников на протяжении всего курса и помощь в трудоустройстве.