«Если владеешь несколькими языками, тебя ждут везде». Как перейти на новый язык программирования, и почему это важно?

Поговорили с Валерием Кабисовым, преподавателем онлайн-курса «Golang Developer. Professional» в Otus и Senior Go-разработчиком о его опыте перехода на новые языки.

«Если владеешь несколькими языками, тебя ждут везде». Как перейти на новый язык программирования, и почему это важно?
Валерий Кабисов
7 лет работал PHP/JS разработчиком. Последние три года пишет на Go.

Как решил перейти на новый язык программирования?

Я вошел в IT с языка PHP — открывали свой интернет-магазин. Позже магазин закрыли, а я решил остаться в IT и стать программистом. Я перешел в компанию, которая занималась разработкой сайтов. Помимо того, что нужно было писать на PHP, был еще фронтенд на JavaScript, мне пришлось срочно подтягивать этот язык программирования. Я потом поменял эту работу на другую, вторую на третью, но это всегда был стек PHP и JavaScript.

К 2017 году я стал понимать, что PHP устарел. Я работал тогда в аутсорс-компании и ей было тяжело найти проект, потому что все проекты писались не на PHP. Тогда я начал изучать другие языки: C и Go.

Сфокусировался больше на Go, так как было интереснее.

Я начал изучать Go, но в вялотекущем формате. К концу 2017 году решил поменять работу. Написал в резюме, что знаю PHP и немного Go. Меня взяли в компанию, где был как раз переход с PHP на Go.

Разработчиков на Go было тяжело найти, поэтому они искали PHP программистов, которые хотели изучать Go — среди них был я. С этого момента работаю на Go.

Почему выбрал Go?

Go — молодой и популярный язык, он был на хайпе и многие начинали на нем писать. Go часто используются в крипто-стартапах, которые сейчас платят очень много и это достаточно интересные проекты. В тот момент я думал, что моя сфера деятельности может быть гораздо шире.

Большинство моих коллег перешли с PHP на Go. Ни разу не видел тех, кто начал с нуля изучать Go. В основном я работаю с backend-разработчиками и все уже имеют опыт на других языках и перешли на Go.

Чего стоит ожидать от перехода?

Сейчас большой дефицит IT-кадров, особенно с мало популярными языками: Haskell, Rust. Компании не хочется долго искать, им проще переучить.

Компания в первую очередь нанимает инженеров, а не программистов на каком-то языке. К тому же, не только язык нужно знать, но и сопутствующие технологии: базы данных, как грамотно строить архитектуру, как писать хороший код, как все это поддерживать. Это все актуально для любого языка.

Если переходите на востребованный язык, стоит ожидать только повышения зарплаты. Когда я переходил, я не планировал стать Go-разработчиком, я думал, что просто буду его иногда применять. Я получил +30% к зарплате. Если знаешь язык хорошо, в случае перехода с PHP на Go зарплаты растут на 50-70%.

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

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

Часто компании ищут разработчиков, у которых есть опыт определенной сфере. Например, финансовые компании ищут людей, которые готовы работать с финансовыми системами.

Как сменить язык?

Я сразу начал делать все на практике. Первый раз необходимо было изучать на работе JavaScript. Сначала получилось не очень хорошо, но со временем все лучше. С Go было так же. Знания, как все работает у меня уже были. Нужно было только изучить язык.

На практике все гораздо быстрее. Когда я попал в компанию, я, можно сказать, изучил там Go за месяц. Синтаксис учить недолго, а как он применяется это плюс-минус одинаково для всех. Мне повезло, что компания была готова обучать. Я совместил свой старый стек с новым и потихоньку перетек в новый.

Очень помогло, что в резюме указал знание Go. Многие компании готовы брать на работу разработчиков и обучать их 1-2 месяца новому языку, когда не могут найти специалистов с нужным стеком. Например, по такой стратегии я сейчас изучаю Rust.

С чего начать переход?

  1. Если есть проект, небольшой ресурс, который вы вдоль и поперек знаете, хорошим упражнением будет перенести его на новый язык программирования.
  2. Указать в резюме новый язык и попытаться устроиться на работу, где он нужен. Если этот уровень достаточен — вас примут, если нет — стоило попробовать.
  3. Пройти обучение на курсах. Курсы тоже могут помочь при освоении нового языка. Опытные разработчики помогут быстро освоить язык и дадут обратную связь.

Почему важно учить новые языки?

Сильно расширяется кругозор, возможность найти хорошую работу. Если человек знает к примеру C++, Rust, Go, для него все двери открыты. Это как с иностранными языками. Гораздо шире список стран, куда можно поехать и спокойно разговаривать. Если владеешь несколькими языками, тебя ждут везде.

Изучить новый язык программирования, когда знаешь другой, несложно. Тяжело привыкать в самом начале. Но если вы знаете несколько языков, вам будет проще подобрать инструмент, который эффективнее решит задачу.

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

Переходить на новый язык — это всегда интересно и положительно сказывается на карьере и зарплате. Поэтому не упускайте время, дерзайте!

99
2 комментария

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

1

универсальность,
3 года достачно чтобы освоить формошлепство в совершенстве