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

«Какой язык программирования выбрать, чтобы стать востребованным и высокооплачиваемым специалистом?» – этот вопрос задаёт себе каждый начинающий разработчик. Универсального ответа нет, считает преподаватель школы IT и информационной безопасности HackerU Александр Солодченко. Однако есть пять советов, которые помогут новичкам определиться.
Обложка поста

Выберите отрасль для прокачки

Существуют три основных направления для программистов: фронтенд, бэкенд и мобильная разработка.

  • С фронтендом выбор очевиден. Здесь «рулит» JavaScript. Для этого языка создано множество мощных фреймворков. Также для разработки интерфейсов обязательно понадобится знание HTML и CSS.
  • В бэкенде по-прежнему актуален C++, хоть некоторые и торопятся списать его со счетов. Также в топе здесь Java и C#. Обратите внимание и на перспективные Kotlin, Golang и Python.
  • В области мобильной разработки всё зависит от платформы. Если IOS, то Swift, а если Android, то, в основном, Java. Развиваются и новые направления по созданию приложений с применением веб-технологий: HTML и JavaScript + CSS.
  • Наконец, если планируете работать с базами данных, то обязательно нужно изучать SQL.

Создайте хорошую основу

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

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

Я считаю, что знакомство с ЯП лучше начать с С или С++. Они помогут сформировать базу, понять основные принципы, и браться за другие языки будет уже гораздо легче.

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

Гармоничное развитие получится, если выбрать одно направление и один язык. А после достижения достойного уровня можно подтянуть и дополнительные ЯП.

Следите за лидерами рейтингов

Популярные языки – те, что на слуху. Даже люди, далёкие от программирования, наверняка слышали о Java, C++ и Python. Топовые ЯП периодически меняются местами в двадцатке, но состав их стабилен и отражает реальную картину. Выбрать себе язык из этого списка — неплохая идея.

Рейтинги составляют на основе поисковых запросов. И тут стоит учитывать погрешности. TIOBE отслеживает, как часто пользователи искали название ЯП. Но ведь вбивая слово «python», юзеры могут подразумевать не только язык, но и змею.

Индекс PYPL более показательный. Чтобы попасть в зачёт, запрос должен содержать помимо имени ЯП слова «tutorial», «documentation» и т. п. Но и здесь есть минусы: программисты с хорошим знанием языка редко гуглят документацию.

Точно не стоит браться за технологии, которые умирают. Visual Basic, Delphi, Паскаль — это уже история, карьеру на них не построишь. Даже если пока ещё довольно легко можно найти работу со знанием Objective-C, скоро Swift вытеснит его. Поэтому если хотите создавать современные приложения, выбирайте современный ЯП.

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

Изучайте предложения на рынке

Лучший способ понять, знание каких ЯП сегодня приветствуется, — посмотреть сайты вакансий. Там же можно узнать и «вилку» предполагаемой зарплаты. HH даже ведёт блог на эту тему, ежегодно публикуя статистику.

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

Владение редкими ЯП, например Clojure, Erlang, Scala, зачастую оплачивается выше, но и работу с ними найти сложнее. Поэтому советую осваивать их как дополнительный скилл. К тому же при изучении популярного языка можно обратиться за помощью и разъяснениями к сообществу. С новыми ЯП эта функция работает хуже.

«Любимчик» российского рынка и лидер по числу вакансий по-прежнему 1С. Оклад у junior-разработчика с ним, возможно, будет выше, чем с теми же Java и С#, но при этом потолок — ниже. Так что не гонитесь за цифрами c самого начала. Думайте о перспективах и росте.

Посмотрите, какие специалисты требуются в компании, где вы хотели бы работать. Если это enterprise-разработка и банковский сектор, то в топе наверняка будет Java. Гиганты вроде Mail.Ru Group, «Лаборатория Касперского» и «Яндекс» предпочитают C++.

Планируете заниматься НИОКР и нейросетями, ваш язык — Python, мечтаете попасть в Microsoft — С#.

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

Получайте удовольствие

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

В итоге занял лишь 51-ое место и не получил даже футболки. Однако наспех полученных навыков хватило, чтобы заслать стратегию и посоревноваться. Кстати, всего там было 200 игроков, так что моё выступление не было полным провалом.

Выводы я сделал: Python мне не по душе, а не оказаться в числе замыкающих мне помог опыт в программировании на других языках. Это было, как минимум, весело!

Так что не стоит зацикливаться на одном языке. Попробуйте другие и поймёте, какой «в руку ляжет».

Поверьте: писать на том, что нравится, гораздо приятнее, да и получается лучше. За этим подтянется и финансовое благополучие. Если, возвращаясь домой из офиса, вы пишете программы «для себя», значит, профессию выбрали правильно.