«Если вы выучили один язык программирования, то выучите и другие»: веб-разработчик рассказывает, как не заскучать в программировании и поменять язык разработки

«Если вы выучили один язык программирования, то выучите и другие»: веб-разработчик рассказывает, как не заскучать в программировании и поменять язык разработки

Личный опыт

Сегодня наш гость — Андрей Борю, разработчик и преподаватель курса DevOps Engineer Нетологии. Андрей поделился с Медиа Нетологии мнением о том, как изменить направление карьеры и освоить новые языки программирования в процессе работы.


Андрей Борюю

Андрей Борю

Разработчик и преподаватель курса DevOps Engineer Нетологии

От школьных олимпиад до работы в Индонезии: как складывалась моя карьера разработчика

С программированием я познакомился ещё в школе: освоил основы Visual Basic и Pascal, участвовал в тематических олимпиадах. После окончания школы в 2002 году я поступил в Московский институт стали и сплавов, где стал председателем турклуба и попробовал себя в веб-разработке: сделал для него сайт. На старших курсах нашёл первую работу в веб-студии: занимался разработкой несложных сайтов, программировал на PHP и JavaScript.

Позже я стал работать с крупными IT-компаниями. Я люблю путешествовать, в том числе было несколько переездов по приглашению работодателей: например, последние два года я нахожусь в Индонезии, а до этого жил в Таиланде, на Филиппинах, во Вьетнаме, Мексике, Литве. Хочется продолжить путешествие по миру, но сейчас я рассматриваю Индонезию как основную локацию и отправную точку: с жизнью здесь связаны мои хобби и интересы.

Сейчас я работаю в азиатской компании Snapcart. У меня два основных рабочих проекта. Один из них связан с машинным обучением и BigData: мы анализируем покупки на разных островах в Индонезии, составляем профиль покупателя, собираем статистику потребления и некоторые другие данные, которые полезны производителям и продавцам для оптимизации поставок. Второй проект — приложение, позволяющее людям ставить цели в плане похудения, набора веса и мышечной массы, планировать рацион и упражнения.

«Если вы выучили один язык программирования, то выучите и другие»: веб-разработчик рассказывает, как не заскучать в программировании и поменять язык разработки
Последние два года я нахожусь в Индонезии

Пока мои карьерные планы связаны с текущим местом работы, хотя, если будут предложения с лучшими условиями, я их с радостью рассмотрю. У меня есть коллеги из Европы, в том числе из России, Молдовы, Польши, а также Казахстана, Сингапура, Австралии. Мне нравится работать в интернациональной команде: разная ментальность, разные взгляды на технологии, больше интересных способов решения задач. Это способствует и расширению кругозора, и языковой практике: по работе я в основном общаюсь на английском, хотя с бывшими соотечественниками переписываюсь и по-русски. Ну и, конечно же, выше уровень зарплат: когда курс рубля сильно колебался, получать зарплату в долларах стало выгодно.

Как я изучаю новые языки и зачем мне это

Лучший алгоритм изучения программирования для меня — конкретная практическая задача, у которой есть сроки и оплата. Без этого изучать программирование у меня не получается. Ещё в школе, когда учил Basic и Pascal, я невзлюбил толстые многостраничные учебники и предпочитал небольшие пособия. В процессе работы мне тоже проще было работать с документацией, чем с книгами.

На моей первой работе, чтобы войти в процесс, мне понадобилась буквально пара недель изучения документации для PHP и JavaScript. В международных компаниях я начал заниматься DevOps, а потом в определённый момент перестал быть просто программистом и стал больше работать над архитектурой приложений в целом. Так я выучил Java и Python, тем самым сменив специализацию. А на текущем месте работы пишу в основном на Golang.

Для меня первичен поиск конкретных проектов и вакансий, а знания и навыки уже можно выучить и наверстать под то, чем ты занимаешься. Для решения задач по машинному обучению лучше всего подходит Python, для разработки не очень сложных веб-приложений можно использовать PHP, для создания большого количества микросервисов — Golang.

Новые языки я изучаю по двум причинам: это повышение зарплаты и желание попробовать что-то новое. Если программист долго работает над чем-то одним, то со временем ему становится скучно. Поэтому IT-менеджеры часто дают программистам задачи вне рамок их компетенции, чтобы тем было интереснее.

«Если вы выучили один язык программирования, то выучите и другие»: веб-разработчик рассказывает, как не заскучать в программировании и поменять язык разработки
Если программист не скучает, то работает гораздо эффективнее

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

Как сменить язык программирования: делюсь опытом перехода с одного языка на другой

Опытный программист уже не будет начинать работать с новым языком с уровня Junior. В целом, понятия Junior, Middle и Senior говорят не о знании конкретных языков и технологий, а об опыте программирования и построения IT-систем в целом. Сейчас я уже несколько лет работаю на позициях Senior и Principal.

Если вы выучили один язык программирования, то выучите и другие — было бы желание. Но не факт, что это будет легко. Например, перейти с PHP на Java или C++ сложно: языки и задачи, решаемые с их помощью, слишком сильно различаются. Поэтому при переходе на новый язык приходится первые месяц-два много времени посвящать обучению, но это, в принципе, неизбежно. Изучение программирования — непрерывный процесс.

Переход с PHP на Java проходит достаточно легко, потому что фреймворки и подходы очень похожи: PHP как бы догоняет Java. Из фундаментальных знаний мне помогло понимание алгоритмов и архитектур построения систем, опыт работы с данными, опыт работы DevOps, ну и, конечно же, кругозор, приобретённый на прошлых местах работы.

Что касается Golang, то он вообще не является объектно-ориентированным языком программирования в привычном понимании, в нём используются другие подходы к структурированию кода и данных. Но алгоритмы и структура языков везде похожи и потому понятны: запоминаешь отличия синтаксиса, начинаешь использовать, в процессе вникаешь в особенности.

«Если вы выучили один язык программирования, то выучите и другие»: веб-разработчик рассказывает, как не заскучать в программировании и поменять язык разработки курс

DevOps-инженер с нуля

Узнать больше

  • Освоите одну из самых высокооплачиваемых профессий в IT
  • Научитесь отстраивать процесс DevOps с помощью облачных сервисов
  • Сможете начать работать по специальности уже через 8 месяцев обучения

У меня нет универсальных рекомендаций для тех, кто работает в ИТ и хочет перейти на другой язык программирования: все мы разные. Я работаю на зарубежные корпорации, и взгляд может несколько отличаться от того, что принято в России.

Если в российских компаниях чаще спрашивают о том, как соискатель решал типовые задачи на прошлых местах работы, то в международных — о том, как бы он решил такую задачу сейчас исходя из знаний и опыта.

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


Материал изначально опубликован на habr

Мнение автора и редакции может не совпадать. Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.

Андрей Борюю

Андрей Борю

Разработчик и преподаватель курса DevOps Engineer Нетологии

Оцените статью

Средняя оценка 5 / 5. Всего проголосовало 3