На какие языки программирования и технологии точно не стоит тратить время — отвечают эксперты


Оглавление (нажмите, чтобы открыть):

Языки программирования, на которые не стоит тратить время

Прим. перев.: переводчик не обязательно разделяет мнение автора, но исследование мне показалось полезным.

Все мы в курсе, что новые языки программирования появляются чуть ли не каждую неделю. Но изучение каких языков — всего лишь пустая трата времени?

Я просмотрел актуальные списки в Dice, пытаясь обнаружить какие-то тенденции. В конце апреля я просматривал свежие вакансии, а также искал по конкретным названиям навыков, дабы понять, что сейчас надо компаниям. И вот что я обнаружил.

Во-первых, многие сейчас ориентируются на веб. Два верхних предложения были по Web и Java, за ними в списке располагались C++ и JavaScript разработчики. Ясно, что если у вас нету никаких навыков веб-разработки, самое время их получить.

Java гораздо важнее JavaScript, который «превращается» в другие языки, вроде Ruby, и новые языки, такие как Erlang и Clojure. Если вы никогда не слышали о двух последних языках, то хотя бы узнайте, как они используются в функциональном программировании.

Если говорить о навыках, которые можно выбросить из резюме, то Fortran, Cobol и в некоторой степени Visual Basic сами по себе не нужны. В вакансиях они появляются редко, в основном как дополнительные языки. Очень немногие менеджеры ориентируются на них. Пока еще можно найти работу (например, разработчик Cobol в центре обработки данных MasterCard за пределами Сент-Луиса), но можно сказать, что эти языки являются мертвыми и забытыми.

Visual Basic внезапно требуется только в 13 из 700 вакансий. Так что не стоит сосредотачиваться на VB, разве только для знакомства с вселенной Microsoft .NET.

iOS-разработчики в принципе, пользуются спросом. Это особенная область работы, учитывая, что количество упоминаний таких навыков совпадает с общим количеством вакансий (прим. перев: в смысле, навыки ios-разработки требуются исключительно ios-разработчикам. Неожиданно, да?). Но Android-разработчики в два раза популярнее, что неудивительно, учитывая рост рынка Android-смартфонов и планшетов.

Несмотря на все то, что вы слышали о Big Data, это понятие встречается не так часто, как того можна было ожидать, — менее, чем в 50 должностях. С другой стороны, Hadoop упоминается всего в 10% вакансий, но даже такое количество свидетельствует, что потребность остается.

Заметим, однако, что название вакансии не раскрывает всех необходимых навыков. Например, эксперт по облакам должен владеть целым рядом дополнительных навыков и быть знакомым с несколькими платформами. Например, знание Amazon Web Services, кажется, не пользуется большим спросом. Всего 16 упоминаний. Но это означает всего лишь то, что работодатели ищут того, кто не ограничивается лишь этой платформой.

5 языков программирования, которые в будущем могут стать доминирующими

Перевод статьи Ника Колаковского «5 Programming Languages That May Dominate the Future».

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

Kotlin

Язык Kotlin пережил довольно крутой подъем, превратившись из малоизвестного проекта в «первоклассный» язык для Android-разработки. Делая каждый последующий Android SDK более «дружественным к Kotlin», Google ясно дал понять, что приветствует разработку Android-приложений на этом языке.

Недавний опрос, проведенный Pusher, показал, что 79,5% программистов, использующих Kotlin, применяют его для Android, а 31% – для работы с бэкендом/серверами. При этом 30,5% взаимодействуют с Kotlin в плане библиотек, а 5,5% используют его при «других» действиях.

Поддержка Google и очевидный интерес разработчиков означают, что у Kotlin есть очень солидная основа для расширения в ближайшие годы. И хотя планы Google относительно его будущих операционных систем неясны (Fuchsia, это намек!), Kotlin вполне может играть в этих планах большую роль. А с учетом всемирного распространения Google, для языка программирования это означает неизбежный взлет.

Swift

Несколько лет назад Apple решил заменить Objective-C, на котором десятки лет создавались приложения для экосистемы Apple, на Swift – новый язык, созданный для устранения недостатков Objective-C.

В прошлом эксперты пытались представить Objective-C и Swift в качестве соревнующихся за рынок языков, но сейчас уже ясно, что победителем в этой гонке является Swift. Доказательство этого утверждения служит огромная официальная поддержка Apple для этого языка.

Но это не означает, что в ближайшем будущем Objective-C полностью уйдет со сцены. В конечном счете, есть большое количество legacy-кода, который нужно поддерживать. Но Swift скорее всего станет основой программирования в Apple на ближайшие годы. Именно на нем будет писаться ПО для огромного количества устройств (с учетом macOS, iOS и watchOS).

Множеству людей нравится Rust. В этом году, например, ежегодный опрос на Stack Overflow назвал его «самым любимым языком» – в этом рейтинге он обогнал Kotlin. А это значит, что разработчики хотят пользоваться им больше, чем другими языками.

Что стоит за всей этой любовью? Rust имеет открытый исходный код, в нем реализована «умная» модель памяти (никаких нулевых или висячих указателей, а также состояний гонки). В этом языке точный синтаксис, сходный с C и C++. Он элегантный, дружественный к неопытным пользователям и применимый в веб-е и операционных системах. Что ж тут не любить?

Другими словами, есть все основания считать, что в ближайшие годы Rust станет настоящим монстром. Впрочем, прежде чем он станет конкурентом C и C++ по степени распространения на рынке, может пройти некоторое время: пока что он даже не ворвался в топ-20 на TIOBE.

MATLAB

Хотя на данный момент и в обозримом будущем MATLAB не вытеснит Java, C или Python с первых строчек разнообразных рейтингов, этот язык переживает стабильный подъем. Например, в недавнем выпуске индекса TIOBE он поднялся с 17-го на 13-е место.

Чем вызван такой рост? Этот язык применяется в анализе данных, он довольно хорошо взаимодействует с популярными языками, такими как Python, Fortran и Java. И поскольку все больше компаний задействуют анализ данных в своей работе, MATLAB может занять довольно большую нишу на рынке.

Python

Да, Python никуда не денется: он для этого слишком популярен и применяется на слишком большом количестве различных платформ.

Какое программирование самое востребованное

Мы решили разобраться, какое программирование наиболее востребовано сегодня и останется таковым еще долго.

Где можно встретить программистов

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

Веб-разработка

Одно из популярных и разноплановых направлений. Здесь работают с JavaScript, PHP, Python, Java и Ruby, а также используют «язык структурированных запросов» SQL.

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

Мобильная разработка

Это направление сегодня считают самым популярным и перспективным. Смартфоны есть у всех, и их возможности непрерывно растут. Языки создания мобильных приложений: Java и Kotlin для Android, Swift для Apple, а также Python, JavaScript, C#.

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

Десктопные приложения

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

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

  • для Linux и кроссплатформенных приложений — C++;
  • для macOS — Swift и Objective-C;
  • для Windows — C#.

Разработка игр

Не так давно по геймдеву сходили с ума все поголовно — он был на пике роста популярности. Сегодня страсти улеглись, но это по-прежнему уважаемая и интересная область интернет-технологий. Годовой оборот рынка в 2020 году оценили в 100 миллиардов долларов.

Осознание того, что твоим продуктом пользуются миллионы фанатов по всему миру, дарит потрясающую эмоциональную отдачу разработчику игр. В индустрии высокие зарплаты, но идти туда нужно с готовностью к сложной работе и высоким нагрузкам. Языки геймдева: С++, C#, Lua и JavaScript для браузерных игр.

Data Science

Тоже модное сегодня направление в IT, которое, выходит далеко за его пределы. Хранение, обработка и анализ больших данных есть в любой сфере экономики. Поэтому Data Science находится на стыке интернет-технологий и бизнеса.

«Data scientist — самая сексуальная профессия XXI века».

Специалисту по Big Data необходимы серьезные знания математического анализа, статистики, машинного и глубокого обучения и текстовой аналитики. Языки программирования, на которых «говорят» здесь, — R, SAS и Python.

Программирование встроенных систем

Embedded — микроконтроллеры, промышленное оборудование, ЧПУ и тому подобные вещи. Полная противоположность интернету и веб-технологиям. Здесь нужно понимать аппаратную часть машины, для которой создается ПО. Необходимые языки — С, С++ и специализированные для тех или иных микроконтроллеров.

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

Интернет вещей (IoT)

Отчасти пересекающийся с предыдущим сегмент рынка. Интернету вещей пророчат большое будущее и активное развитие в ближайшее время. Аналитики компании Ericsson прогнозируют среднегодовой темп роста до2021 года 23%.

Интернет вещей — это создание smart-устройств, подключенных к сети «умного» города или дома. Направление молодое и перспективное, поэтому войти в него сегодня проще, чем через 10–20 лет.

Автоматизация бизнеса

Программные продукты для компаний из трендов не уйдут: наоборот, появляются новые и конкурируют между собой. Популярные в России — «Мегаплан», amoCRM, «Битрикс24», 1С. Лидеры международного рынка: SAP, Salesforce, Microsoft Dynamics CRM, Siebel Oracle CRM и другие.

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

В сфере SaaS относительно невысокий порог входа и неплохая заработная плата, есть возможность развиваться и как программист, и как финансист.

Самые популярные языки программирования

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

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

Рейтинг IEEE Spectrum анализирует частоту поисковых запросов, число проектов на GitHub, а также упоминания в Twitter и главных IT-порталах сети. Здесь в пятерке лидеров — Python, C++, Java, C, C#.

Если ориентироваться на данные российского сайта HeadHunter, картина меняется. Наглядно она представлена таблицей из статьи в корпоративном блоге HeadHunter на Хабре:

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

Какое программирование самое востребованное?

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

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

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

Рейтинг языков программирования в 2020 году

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

Например, в середине в 80-х стал очень популярен язык Prolog, но потом его популярность резко снизилась. И сейчас на нем практически никто не пишет. А место популярного новичка занял Python.

Как же узнать рейтинг языков программирования? Общего рейтинга не существует, так как нет простого способа собрать подобную статистику. Но существуют разные способы оценки популярности языков программирования. Рассмотрим самые популярные рейтинги.

1. Рейтинг Черной утки

Самым крупным сайтом, посвященным программам с открытым исходным кодом является сайт Black Duck (Черная утка) blackducksoftware.com

Одним из проектов Черной утки является каталог open source. В этом каталоге представлено около 500 000 проектов. Так как у всех проектов код открыт, то легко определить, на каком языке эти проекты написаны. На январь 2020 года рейтинг выглядит так.

Как видно, здесь практически половина программ (46%) написано на C. Это понятно, потому что С — это язык общения программистов. Это единственный язык, компилятор которого есть на всех платформах: от встроенных систем до суперкомпьютеров.

2. Рейтинг Wappalyzer для веб-приложений

Сервис Wappalyzer использует различные методы для идентификации веб-технологий. Рейтинг языков программирования для разработки сайтов на январь 2020 выглядит так.

В веб-программировании однозначно лидирует язык PHP, более 80% сайтов написано на этом языке.

3. Рейтинг TIOBE Index

Рейтинг TIOBE Index построен на оценке результатов поисковых запросов, содержащих название языка. Логика этого индекса очень проста: «Если язык ищут в поисковых системах, то он популярен». Конечно же, это заявление спорное, потому что программисты-профессионалы крайне редко будут искать в поисковике именно название языка программирования. Они чаще ищут решение конкретной задачи. Но громадный плюс этого рейтинга в том, что он достаточно объективно показывает интерес к тому или иному языку.

Индекс TIOBE показывает самые популярные языки программирования, информации о которых искали на 25-ти самых популярных поисковых системах, то есть запросы вида: «+» programming». Индекс подсчитывается каждый месяц.

Индекс TIOBE на январь 2020 года выглядит так:

В этом индексе однозначным лидером является Java.

На графике изменений индекса хорошо видны как менялась популярность языков программирования. Но при этом первое-второе место постоянно делят два языка Java и C. Хотя Java активно продвигается компанией Oracle, а язык C никто не продвигает.

И еще интересно то, что C++ ни разу не смог превысить по популярности C.

4. Рейтинг IEEE Spectrum

Ежегодный рейтинг IEEE Spectrum Top Programming Languages использует 11 метрик из 9-ти источников, включая поисковые запросы, упоминания в твиттере и даже упоминания в вакансиях на работу программиста. С одной стороны этот рейтинг использует больше данных, но с другой стороны во многих источниках данные имеют связанный характер. Чем больше публикуются вакансий на некоторый язык программирования, тем больше запросов будет в поисковых системах. То есть у новых языков больше шансов попасть на вершину рейтинга.

Рейтинг IEEE на 2020 год выглядит так:

Важностью особенностью рейтинга IEEE является то, что рейтинг интерактивный и можно поиграть с параметрами. В этом рейтинге лидирует Python.

5. Рейтинг Stack Overflow

Сайт Stack Overflow — это площадка, на которой разработчики могут задавать и отвечать на вопросы по программированию. Этот сайт имеет около 40 миллионов посещений в месяц. Есть русскоязычная версия сайта: ru.stackoverflow.com

Этот рейтинг рассчитывается на основе опроса разработчиков. В январе 2020 года было опрошено более 100 000 разработчиков и составлен рейтинг языков программирования. Скорее это рейтинг языков, которые вызывают вопросы. В этом рейтинге лидером стал JavaScript.

Такая популярность вполне объяснима, сейчас JavaScript бурно развивается и каждая новая возможность вызывает массу вопросов, поэтому программисты идут на сайт Stack Overflow, чтобы задать вопросы.

Любопытно, что C не попал даже в первую десятку.

6. Вакансии на Head Hunter

Можно подойти к рейтингу языков программирования с другой стороны и посмотреть, какие языки указываются в вакансиях и сколько собираются платить. Одна из самых популярных площадок для поиска работы в IT-сфере — это сайт HeadHunter. Там есть отдельный раздел — вакансии для программистов.

Мастер Йода рекомендует:  Основные методы ввода-вывода (IO)

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

Здесь видно, что программист, знающий Pascal (среда Delphi), все еще востребован.

7. Google Books Ngram Viewer

И в конце рассмотрим чрезвычайно полезный сервис Гугл, на котором можно смотреть использование ключевых слов в публикациях.Поэтому можно смотреть популярность не только языков программирования, а любых технологий.

В начале этой статьи приведены графики использования слов Prolog и Python. А теперь введем JavaScript, Python и PHP.

Видно как в 1992 году появляется интерес к JavaScript и он быстро обгоняет Python и PHP.

Похожие записи:

Комментарии 18

Совсем мелкая ошибка в предпоследнем предложении. Вы написали «В начале этой статьи приведены графики использования слов Prolog и Pascal», а там были Prolog и Phyton.

«Для оценки перспективности своих усилий каждый программист должен регулярно смотреть рейтинг языков программирования.» — совет неоднозначный. Профессионал обычно хорошо знает 1-2 языка и специализируется на них довольно долго. Изучение другого языка происходит обычно по причине старта какого-нибудь проекта, или тупика в карьере с текущими знаниями.

Здравствуйте! Спасибо за статью!
Хотел бы узнать Ваше мнение насчет языка программирования Prolog. Дело в том, что язык программирования Prolog используется в разработке программ для искусственного интеллекта.Так как технологии искусственного интеллекта развиваются все интенсивнее, не станет ли язык программирования Prolog популярным, ну или востребованным?

Здравствуйте! Язык Prolog стал популярен в 1980-х годах в связи с японской программой создания программы искусственного интеллекта. Но эту программа кончилась грандиозным провалом. В результате все наработки были розданы бесплатно и никаких полезных программ так и не было создано. Поэтому сейчас Prolog полностью морально устарел и не используется. Даже если и будет новый прорыв в разработке искусственного интеллекта, то, скорее всего, он будет связан с другой технологией и другим языком программирования.

В девяностом году шеф мой взял аспиранта себе на написание САПР, типа Симулинк в Матлабе. Тогда ещё XT-шки были в диковинку. И был в то время бум создания «Искусственного интеллекта». Ходили шутки, что это нужно, когда своего интеллекта не хватает. Ну и аспирант этот решил создавать этот САПР на языке Пролог. Тогда ещё книг, типа Братко не было. В ДОСе работали. Ну и он разобрался в языке этом глубоко так. Ему понравилось в нём лазить по деревьям и делать откаты. В других языках это геморройно было, а в Прологе это вшито как аксиома (исходные кирпичики языка). То есть если программа заходит в тупик, то как-то самореализуется всё там, что она, делая откаты назад сама ищет выход из этого тупика. И аспиранту это нравилось в ней. Написал он в ней САПР свой, «Гаммой» назвал его, была куча публикаций. Но потом бросил заниматься этим и диссертации не защитил. Его пригласили в СберБанк программистом работать, а там зарплаты уже со стипендией аспиранта не сравнить. Так всё это и забросилось. Отчёт в семи томах кода сохранился с той поры и валяется где-то. У меня на даче очень много книг по Прологу на чердаке стопками лежит не тронутых, а Братко, по моему, аж десять экземпляров. В то время хлеб стоил сто рублей, а книги эти по рублю продавались. На растопку жалко их рвать…

Интересный обзор! А что вы можете сказать про Rust в контексте перспективы дальнейшего развития?

Не тратьте время на изучение программирования

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

В этом году я обязательно выучу PHP!

Надо бы всерьёз начать изучать Javascript.

Я непременно овладею Ruby к следующему году!

И в большинстве случаев все эти порывы загибаются где-то в зародыше. Народ, может уже хватит попусту тратить время на изучение программирования?!

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


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

Научившись кодить, я смогу общаться с разработчиками

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

Если вы не можете объяснить это простыми словами, вы не до конца это понимаете.

Для программирования это высказывание так же верно. Хороший разработчик должен уметь объяснять сложные вещи понятным языком. А это достигается в процессе общения. Не стоит думать, что постигнув азы программирования, вы будете на одном уровне с разработчиком. Это то же самое, что думать, будто вы стали профессиональным арбитражером только потому, что у вас получилось купить трафика на 500 рублей и продать его за 550.

Это дополнительный пункт для резюме

Серьёзно? А я вот, например, знаю алфавит. И знаю, как из букв алфавита составлять слова. Я даже знаю, как из этих слов предложения складывать. А в те дни, когда мне особенно везёт, из всего этого получается что-то пригодное для чтения!

То, что я знаю основы русского языка, ещё не даёт мне право вписывать сие достижение в резюме и требовать за это с людей деньги. Быть хорошим программистом, это всё равно, что быть хорошим композитором. Просто знаний недостаточно для написания великих произведений. Для этого нужен многолетний опыт.

Я хочу учиться ради самого процесса обучения

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

Приведу наглядный пример. На протяжении довольно длительного периода времени я изучал английский язык. Сначала в школе, затем в институте, а позже – в аспирантуре. Причём, изучал я его не как обычный предмет (лишь бы сдать на трояк), а с большим увлечением. Даже выступал на паре конференций. Но из-за отсутствия практики язык начал потихоньку забываться. Дошло до того, что я забыл, как переводить предложения с русского на английский. А о временах и подавно.

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

Я хочу править собственный код

Ну так вперёд! Решение возникшей проблемы – лучший способ узнать что-то новое. Благодаря такому подходу, кстати, у меня на блоге появляются посты для решения определённых проблем. Однако, многие люди думают, что перед тем, как устранять определённую неисправность, нужно проштудировать всю теоретическую часть. Что же получается, например, для того, чтобы работать с компьютером, мы должны знать, как там внутри функционирует каждый отдельный элемент микросхемы? Решать нужно те проблемы, которые встают перед нами сейчас, а не те, которые могут гипотетически существовать. Боитесь совершить ошибку при правке кода? Так сделайте бэкап перед началом работ, и всё будет в порядке.

В чём ваша проблема?

Я хочу, чтобы люди не тратили время на то, что не имеет для них никакого практического смысла или на то, что им вовсе не нравится. Если вы не программист и программирование вам не доставляет удовольствия – не изучайте эту область. Лучше пойдите выпейте чашечку кофе, поиграйте со своими детьми, собакой, кошкой, женой, ну, или с чем там вам обычно нравится играть. Жизнь коротка, наслаждайтесь ею, вместо того, чтобы тратить впустую.

ПОНРАВИЛАСЬ СТАТЬЯ? ПОДЕЛИСЬ С ДРУЗЬЯМИ!

Не тратьте время на изучение программирования

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

В этом году я обязательно выучу PHP!

Надо бы всерьёз начать изучать Javascript.

Я непременно овладею Ruby к следующему году!

И в большинстве случаев все эти порывы загибаются где-то в зародыше. Народ, может уже хватит попусту тратить время на изучение программирования?!

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

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

Научившись кодить, я смогу общаться с разработчиками

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

Если вы не можете объяснить это простыми словами, вы не до конца это понимаете.

Для программирования это высказывание так же верно. Хороший разработчик должен уметь объяснять сложные вещи понятным языком. А это достигается в процессе общения. Не стоит думать, что постигнув азы программирования, вы будете на одном уровне с разработчиком. Это то же самое, что думать, будто вы стали профессиональным арбитражером только потому, что у вас получилось купить трафика на 500 рублей и продать его за 550.

Это дополнительный пункт для резюме

Серьёзно? А я вот, например, знаю алфавит. И знаю, как из букв алфавита составлять слова. Я даже знаю, как из этих слов предложения складывать. А в те дни, когда мне особенно везёт, из всего этого получается что-то пригодное для чтения!

То, что я знаю основы русского языка, ещё не даёт мне право вписывать сие достижение в резюме и требовать за это с людей деньги. Быть хорошим программистом, это всё равно, что быть хорошим композитором. Просто знаний недостаточно для написания великих произведений. Для этого нужен многолетний опыт.

Я хочу учиться ради самого процесса обучения

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

Приведу наглядный пример. На протяжении довольно длительного периода времени я изучал английский язык. Сначала в школе, затем в институте, а позже – в аспирантуре. Причём, изучал я его не как обычный предмет (лишь бы сдать на трояк), а с большим увлечением. Даже выступал на паре конференций. Но из-за отсутствия практики язык начал потихоньку забываться. Дошло до того, что я забыл, как переводить предложения с русского на английский. А о временах и подавно.

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

Я хочу править собственный код

Ну так вперёд! Решение возникшей проблемы – лучший способ узнать что-то новое. Благодаря такому подходу, кстати, у меня на блоге появляются посты для решения определённых проблем. Однако, многие люди думают, что перед тем, как устранять определённую неисправность, нужно проштудировать всю теоретическую часть. Что же получается, например, для того, чтобы работать с компьютером, мы должны знать, как там внутри функционирует каждый отдельный элемент микросхемы? Решать нужно те проблемы, которые встают перед нами сейчас, а не те, которые могут гипотетически существовать. Боитесь совершить ошибку при правке кода? Так сделайте бэкап перед началом работ, и всё будет в порядке.

В чём ваша проблема?

Я хочу, чтобы люди не тратили время на то, что не имеет для них никакого практического смысла или на то, что им вовсе не нравится. Если вы не программист и программирование вам не доставляет удовольствия – не изучайте эту область. Лучше пойдите выпейте чашечку кофе, поиграйте со своими детьми, собакой, кошкой, женой, ну, или с чем там вам обычно нравится играть. Жизнь коротка, наслаждайтесь ею, вместо того, чтобы тратить впустую.

ПОНРАВИЛАСЬ СТАТЬЯ? ПОДЕЛИСЬ С ДРУЗЬЯМИ!

Не будь немым: обзор востребованных языков программирования

18 сентября, 2020 |

Алина Драгун

Знание каких языков программирования ждут работодатели, сколько получают разработчики на старте и какие у них возможности в будущем? Сравнили самые востребованные языки программирования и делимся результатами.

Алина Драгун
Получайте новые статьи на e‑mail

Пишем о будущем, технологиях и стартапах

Знание хотя бы одного языка программирования открывает для вас новые профессиональные возможности, это понимают даже школьники. Разработчиков все хотят. Бренды уже начали использовать образ программистов в рекламе, чтобы проиллюстрировать притягательность (например, один из героев рекламы YSL пишет код на Python).

Если вы хотите оставаться востребованными на рынке труда, учите язык программирования. Этот навык даст вам возможности — вырасти до менеджера продукта, запустить направление в компании, освоить новую специализацию или зарабатывать от 80 до 150 тыс. рублей на написании мобильных приложений под iOS. Дело за малым — определиться с языком, который вы намерены изучить.

Мы собрали статистику по показателям рынка труда и сообществ разработчиков: зарплатам в Москве, количеству вакансий, числу топиков на StackOverflow и объёму pull requests на GitHub. В обзор попали Java, JavaScript, PHP, Python, Swift, Objective-C и Ruby.

Вакансии и цифры зарплат мы смотрели на hh.ru. Чтобы не смущать вас разбросом сумм (от 15 тыс. рублей для джуниоров в регионах до 400-500 тыс. рублей ведущих разработчиков за рубежом), для сводной таблицы в упоминании окладов разработчиков мы ограничились Москвой.

Данные hh.ru, StackOverflow и GitHub

Зарплаты

В среднем в Москве программисту без опыта предложат от 30 тыс. рублей. Стартовый оклад разработчика под iOS выше на 10-15 тыс. рублей. Как объясняют рекрутёры, найти такого специалиста сложнее. Работодатели практически не ищут начинающих специалистов, которые используют Objective-C. На российском рынке крайне мало позиций middle-разработчика. Компании ждут либо совсем новичков, либо опытных программистов. Ведущим разработчикам (с опытом работы от 3-6 лет) вне зависимости от знания языка работодатели готовы предложить в среднем от 100 до 250 тыс. рублей. Вилка разработчиков под iOS на российском рынке чуть шире — в выборке на hh.ru попадались вакансии с обещанным окладом до 300 тыс. рублей.

Вакансии

Лидеры по количеству вакансий на российском рынке — JavaScript, Java и PHP. Конечно, можно сравнивать по этому параметру языки, но сегмент мобильной разработки всё равно пока узкий. JS нужен для веб-разработки и написания серверов. Понятно, что компьютеров и серверов в мире пока в разы больше, чем iOS-устройств. Но если верить мировой динамике, ситуация со временем изменится в пользу мобильных девайсов.

Елизавета Каневская, консультант компании «Контакт» (InterSearch Russia):

«Если смотреть на запросы работодателей найти того или иного специалиста, указание требуемых навыков в вакансиях, то самыми популярными языками программирования можно назвать Python, Java, PHP, JavaScript. В сегменте мобильной разработки спрос на Android-разработчиков выше, чем на разработчиков под iOS. Дело в том, что аудитория у Android-платформ больше. В то же время iOS-разработчиков меньше на рынке, и, как правило, зарплата у них выше.

Swift — это среда целой экосистемы от Apple Watch до MacBook, поэтому перспективы у этого языка благоприятные, учитывая тот факт, что у Apple нет проблем с версиями (около 80% пользователей обновляются очень быстро до последней)».

Топики StackOverflow

Количество тем обсуждения на StackOverflow приведён как абсолютный показатель на сентябрь 2020 года. Это топики, которые можно найти сейчас на сайте. Конечно, стоит сделать поправку на время появления языка на рынке. К примеру, Java, PHP, JavaScript, Ruby существуют уже 22 года, а Swift появился три года назад. Но в целом, по объёму вопросов и ответов, посвященных конкретным языкам, можно судить об активности сообществ разработчиков, интересе специалистов к языку. У нас есть гипотеза, что чем больше топиков StackOverflow, тем больше шансов у начинающего программиста найти подсказки для решения задач, с которыми они сталкиваются.

Сергей Пронин, технический директор App in the Air, преподаватель курса по программированию на Swift в #tceh:

«Если смотреть на количество тем на StackOverflow, стоит сделать поправку на популярность программирования в целом, развитие интернета, стартапов, образовательных программ в Computer Science и так далее. Всё это влияет на профессиональное общение. Абсолютные числа рассматривать некорректно, поскольку языки появились в разное время. iOS-разработчиков на рынке мало (а Swift используется преимущественно для iOS-разработки). Для работы нужен MacBook, а это барьер входа. Остальные языки, кроме Objective-C, используются для нескольких целей, потому и вопросов больше».

Объём pull requests на GitHub

Этот показатель также взят в качестве абсолютной величины, но в сравнении с данными 2020 года можно увидеть динамику. Количество pull request говорит о развитии проекта: большое число пользователей дорабатывает код и предлагает изменения. По общему объёму pull requests на GitHub можно говорить об активности специалистов, разрабатывающих на том или ином языке.

Сергей Пронин:

«PHP постепенно умирает. Он был популярен в своё время, и поэтому до сих пор существует много проектов на нём. Java — это enterprise (разработка для решения проблем бизнеса) и Android. По части Android-разработки его будет «съедать» Kotlin, но на изменение есть ещё несколько лет.

Swift конкурирует только в поле iOS-разработки и в основном с Objective-C. Хотите писать приложения для iPhone — берёте Swift. Хотите писать серверы — выбираете что-то из списка выше. Только сервер никто не видит, он работает вместе с сайтом или мобильным приложением. Если вы один и у вас есть идея продукта, то вы можете сделать мобильное приложение на Swift и выпустить его на миллионы людей».

На какие языки программирования и технологии точно не стоит тратить время — отвечают эксперты

Экспертный опрос специально для DOU .

Выводы

· Java, C#/.NET, Mobile (iOS, Android) – тройка бессменных лидеров востребованных специалистов.

· РНР-программисты также нужны на рынке труда для поддержки существующих продуктов и разработки новых в сфере электронной коммерции.

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

· Как правило, нестандартными считаются проекты с использованием новых или относительно новых технологий (например, Scala, Erlang, Dart), не очень популярных или тех, которые лежат вне сферы основной направленности работы компании ( Python,Ruby on Rails). Еще один вид нестандартных проектов – с использованием устаревших языков программирования и фреймворков (Delphi, Cobol, Sybase и др.).

Мастер Йода рекомендует:  Что такое Ruby on Rails 1.0

· Самые высокооплачиваемые на рынке – Java-программисты, однако разница в зарплатах линейных программистов не более 20 %.

· Разница зарплат заметна в вертикальном разрезе – senoir-программисты и архитекторы могут зарабатывать существенно больше независимо от того, с какой технологией работают.

· Большинство экспертов сошлись на том, что на протяжении 3–5 лет рынок не изменится существенно, меняться будут только дополнительные технологии.

· Самыми перспективными направлениями однозначно признаны Mobile и Scala. Среди других перспективных направлений называли – Haskell, Erlang, Dart, PHP (платформа Magento), возможно также Python. Эксперты указывали на то, что нужны будут и Frontend-девелоперы (HTML 5, CSS, JavaScript).

· Среди неперспективных языков программирования и технологий эксперты назвали в первую очередь Delphi и Symbian. К другим неперспективным направлениям эксперты причисляли также C, Flash, Cobol, Modula2, Lotus Notes, Pascal, VB.NET.

· Рынку не нужны «универсальные солдаты». Наилучший специалист знает 1 язык, но глубоко и с множеством сопутствующих технологий.

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

· По мнению некоторых экспертов, английский – главный язык для программиста. Без знания этого языка построить успешную карьеру практически невозможно.

· Уровень оплаты для любого программиста зависит в большинстве случаев от наличия проекта и заинтересованности компании в специалисте именно с такой квалификацией. При наличии соответствующего проекта, самыми дорогими и очень востребованными становятся специалисты по Scala, Erlang, Haskell, Go, Dart или по другим редкостным языкам.

· В зависимости от специфики компании высокооплачиваемым может стать девелопер, программирующий на «нетипичном» для компании языке (например, Perl, иногда JavaScript).

Основные выводы

Языки-лидеры практически неизменны, независимо от того, какая направленность у компании и какие проекты она реализует.

Сегодня на рынке наиболее востребованы специалисты, владеющие языком программирования Java.

Именно этих специалистов назвали все опрошенные эксперты. Java-девелоперы нужны всем и практически без исключения. Такая популярность связана со спецификой языка. Во-первых, по словам менеджеров по персоналу, на нем реализуются как большинство бизнес-приложений (в том числе в финансовой сфере), так и небольшие развлекательные или игровые приложения, десктоп-программы, мобильные решения. Кроме универсальности языка есть еще один фактор: Java – язык программирования, который с одной стороны существует довольно давно, а с другой – активно развивается, открывая новые возможности. Таким образом, для работы на Java нужны специалисты и для разработки новых продуктов, и для поддержки или доработки старых.

Наталия Зуб, руководитель отделов HR и рекрутмента в компании «Innovecs»: «Java держит первенство – есть потребность на рынке, проекты многие на Java уже написаны – их нужно дорабатывать или перерабатывать, поэтому это номер один».

Следующий по популярности «скил» − знание фреймворка . NET и сопутствующего ему языка программирования С#. Об этих технологиях в своих интервью упоминали также практически все эксперты (13 из 15). Большинству из них нужны такие программисты для своих компаний, реже менеджеры по персоналу просто осведомлены о востребованности таких специалистов.

Востребованы у работодателей также Mobile-программисты, работающие как с iOS (Objective C), так и с Android. О необходимости таких специалистов говорили также почти все респонденты. Крупные аутсорсинговые компании, которые могут позволить себе несколько разноплановых проектов, чаще ищут таких специалистов. Также в них заинтересованы небольшие компании для быстрых стартапов и «легких» проектов.

Отдельно стоит упомянуть PHP-программистов . Несмотря на то, что язык программирования несколько утратил популярность за последние годы, специалисты со знанием этого языка все равно нужны рынку. Об этом нам сказали 10 из 15 экспертов. Основные направления – поддержка существующих продуктов и разработки в сфере интернет-торговли.

Марианна Петренко, руководитель направления HR в «SysIQ»: «Проекты на РНР бывают разные по техническому уровню и задачам. Текущее состояние рынка позволяет говорить о постоянной востребованности РНР-разработчиков высокой квалификации. Они успешны, находят работу и в Украине, и в США, и в Европе. Это и социальные сети, и платформа Magento с хорошими возможностями для электронной коммерции ».

Римма Мень, глава отдела Мотивации и PR, «Ciklum» : «Наиболее востребованы сейчас Java, .NET, Mobile (iOS, Android и multi-platforming) и PHP. Почему возникает спрос именно на этих специалистов: все диктуется, естественно, запросами. В основном, это запросы на разработку приложений для банковской и финансовой сфер, а они все пишутся, чаще всего, на Java; если это какие-нибудь порталы, web, то в таком случае обычно используется PHP. Mobile популярен, так как все, в той или иной мере переходят на Mobile со своими сайтами, со своими приложениями, в любом случае, они будут затребованы. Microsoft -продуктов очень много, поэтому .NET-специалисты действительно востребованы».

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

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

Татьяна Лысенко, HR-директор, «Cogniance, Inc»: «Нас интересуют в первую очередь программисты, владеющие open-source-технологиями… Такие технологии чаще используются в инновационных решениях, потому что позволяют относительно бесплатно запустить сервис, продукт, начать работу с ним, не покупая дорогостоящей лицензии».

Несколько иначе выглядит ситуация с «динозаврами» рынка – языками С/С++ и Delphi.

О том, что нужны Delphi-программисты, нам чаще говорили эксперты из украинских компаний, ориентированных на внутренний рынок. Почти все задачи для таких специалистов связаны с поддержкой уже существующего ПО. Сегодня актуальными вакансиями для них могут похвастаться только 4 компании из 15.

По-другому выглядит ситуация с С/С++. Большинство экспертов сказали нам о том, что действительно количество вакансий для таких специалистов уменьшилось. Однако существенно уменьшилось также и количество девелоперов, программирующих на этих языках в силу трудностей в их изучении. Таким образом, несмотря на существенное уменьшение количества предложений, эти специалисты по-прежнему востребованы.

Инна Мокровольская, руководитель HR-департамента компании « Materialise» : «С++ превращается в умирающую технологию, потому что она самая сложная и переключается на более простые, интересные для разработчиков языки. Что, с другой стороны, для работодателей подогревает спрос на С++, потому что если ваша программа уже написана на С++, а программисты переключаются на другие, то их становится меньше».

Гораздо реже упоминали эксперты специалистов по JavaScript. Как правило, знание этого языка требуется только как дополнительное к другим основным «скилам». Однако довольно часто говорили о том, что будут нужны Frontend-разработчики со знанием нескольких востребованных языков программирования – HTML 5, CSS, JavaScript и других.

Иногда, как самых востребованных, также упоминали администраторов баз данных (MySQL, noSQL). Однако чаще эти технологии назывались как дополнительные, хотя и очень необходимые.

В качестве самых востребованных иногда называли Python, Ruby on Rails.

Массовые и необычные проекты

Самым массовым языком программирования, как уже выше было сказано, сегодня можно назвать только один – Java. Дальнейшая «популярность» специалиста, привлечение его к крупным или точечным проектам зависит только от специфики компании. Так, некоторые эксперты редкостными специалистами называли то C#-программистов, то Mobile-разработчиков, то html-девелоперов.

Самые популярные языки программирования и скилы для «точечных» и нетипичных проектов

Называли: Python и Ruby on Rails, C под Unix, C со знанием ядра (Kernel), VB и C++ .

Светлана Ломака, ведущий специалист по персоналу в «Luxoft» рассказала, что им приходилось искать «Seibel» или Business Intelligence. Мало специалистов, если таких находим, то предлагаем не проектную, а постоянную работу».

Марианна Петренко, руководитель направления HR в «SysIQ» говорит, что часто есть запрос не столько на основные языки, сколько на дополнительные знания: « Это не то, что языки, это знание платформы Demandware, Magento, Fry OCP . Есть такая большая платформа, Infinity».

Людмила Сирик, Head of Recruiting компании « Miratech », также поделилась опытом поиска редкостных специалистов : « В ряде случаев даже от новых клиентов поступают эксклюзивные заказы. Речь идет о редких специализациях, которые устарели на украинском рынке, но востребованы крупными западными компаниями, которые заботятся о стабильности своего работающего персонала и не тороп я тся переходить на новые технологии. От них может поступить запрос, например, на администраторов Sybase, COBOL или Open VMS . Также периодически возникает потребность в С++ разработчиках. Раньше это был достаточно популярный язык программирования. Потребность в нем есть и сейчас, но специалистов осталось мало, поскольку многие, кто им владел, переквалифицировались на JAVA или . Net ».

HR-службам бывает проблемно не только найти, но и удержать такого специалиста – после окончания проекта компания не всегда может предоставить аналогичное предложение о работе. Возможно, именно поэтому «точечные», небольшие, нестандартные проекты чаще бывают либо у крупных аутсорс-компаний, либо у небольших компаний, которые на них специализируются.

Аэлита Король, ведущий менеджер по персоналу «Softline» Консорциум «Intecracy Group»: «…Вот с дальнейшим удержание трудности, после того как найден такой специалист, работает на проекте, проект заканчивается и мы знаем, что он ценный специалист, но аналогичного интересного проекта предоставить мы не можем. Стараемся ротировать внутри компании».

Почти все эксперты сошлись на том, что в ближайшие 35 лет рынок существенно не изменится.

Уверенно эксперты говорят только об изменении тенденций в рамках базовых уже популярных технологий. Однако, учитывая специфику рынка, непредсказуемость его развития точно прогнозировать не берется никто из экспертов. Но наличие уже разработанного ПО, которое необходимо будет поддерживать и дорабатывать, обеспечит работу специалистам по всем актуальным сейчас технологиям в ближайшие годы. Кроме того, есть постоянная миграция с менее популярных платформ на более популярные (например, часто встречается переквалификация с С++ на Java). Таким образом, среди девелоперов на менее популярной платформе сокращается конкуренция, вырастает востребованность и з. п. не уменьшается.

И сегодня вакансий на IT-рынке в любом случае больше, чем программистов.

HR-менеджеры прогнозируют стабильную популярность для Java, . NET , Mobile и PHP (развитие последнего связывают с развитием платформы Magento). А также дальнейшее развитие языков Scala, Erlang, Haskell, Dart, Go и Python. Хотя, что касается последнего, то тут нет единой позиции. Часть специалистов говорит о том, что программисты со знанием Python будут нужны и дальше, часть называет этот язык неперспективным. Зато почти все говорят о том, что возрастет потребность в Frontend-программистах (HTML 5, JavaScript, CSS) – заказчик веб-приложений почти всегда заинтересован в хорошей конечной картинке.

Евгений Кагановский, HR-менеджер в «IT Innovations Ukraine Ltd.»: «В ближайшие 35 лет ничего не изменится, потому что у нас сейчас бум аутсорсинга. Многие проекты крупные компании сейчас начинают перевозить: из индийских центров, из малазийских центров,очень активно перевозят как раз к нам. Потому что если мы внимательно посмотрим на КПД сотрудников, то он на 70, даже на 100 % выше, чем у их коллег из Индии. С другой стороны – уровень подготовки сравнить очень сложно. У нас намного выше».


Наталья Пивень, старший HR-менеджер компании «Infopulse Ukraine» : « Думаю, в ближайшие несколько лет сохранится тенденция популярности Java-технологий, поскольку сейчас это направление активно развивается, появляется много новых, интересных и удобных в использовании программ, как для разработчиков, так и для конечных пользователей. Кроме того, будут появляться заказы по поддержке разработанных систем на Java, доработке и улучшению их функционала».

Татьяна Лысенко, HR-директор, «Cogniance, Inc»: «Я сомневаюсь, что появятся новые языки, которые станут массовыми в использовании, но какие-то новые фреймворки, дополнительные библиотеки и более оптимальные решения – конечно, да, они появляются постоянно».

Наталия Зуб, руководитель отделов HR и рекрутмента в компании «Innovecs»: «Есть тенденция, что не сами технологии, а именно конкретный опыт будет востребован. Опыт работы в определенном бизнес-домене – например, финансовом, или supply chain и т.д. Сейчас не столько технология важна (они могут быть устаревшими), а важно, с чем человек может работать, с какими проектами и в каком бизнес-домене. Были случаи, когда люди переключаются с технологии на технологию, но они могут с этим работать».

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

Нет общего мнения у экспертов о том, потребность в каких специалистах сократится или исчезнет в ближайшие 35 лет. Однозначно прогнозируют сокращение вакансий для Delphi-девелоперов. Однако и они смогут найти работу, особенно в поддержке уже существующего ПО.

Ольга Горчинская, ведущий специалист по персоналу, департамент по работе с персоналом, «ИНКОМ» : « Я не уверенна, что что-то исчезнет, потому что все равно остаются системы, которые требуют поддержки. Разработки не будет, а поддержка будет всегда».

Потребность в других специалистах, которые программируют на «массовых» языках, скорее всего, сокращаться не будет. Могут уходить отдельные технологии или непопулярные ранее языки программирования в связи с утратой своей актуальности. Некоторые эксперты говорят о снижение спроса на С/С++-программистов, однако таких прогнозов мало.

Марианна Петренко, руководитель направления HR в «SysIQ»: «Если мы говорим про С++ для встроенных устройств, то у меня не было такого случая, чтобы без работы сидели разработчики. Если и были простои, то это специалисты перебирали, они хотели что-то новое, сложное, а таких проектов не много в Украине. В Силиконовой долине таких специалистов носят на руках и будут носить еще долго».

Татьяна Лысенко, HR-директор, «Cogniance, Inc»: «Отмирают (или уже отмерли) такие технологии, как BREW, Symbian . Также не много перспектив и у Flash. После их конфликта с Apple и выпуска всех iOS-устройств без поддержки этой технологии ее успешно заменит JavaScript, HTML 5 и т.д. Знание С++ это очень хорошо и никогда не помешает. У PHP тоже своя ниша, он функционален и удобен, так что я не думаю, что он канет в лету».

Среди неперспективных языков программирования и технологий эксперты упоминали в первую очередь Delphi, Symbian, а также C, Cobol, Modula2, Lotus Notes, MainFrame, Pascal, VB.NET и др.

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

Елена Ширинговская , ведущий консультант HR «CONSULTING» : «Desktop- программистов в последнее время меньше ищут. Если раньше какие-то развлекательные проекты были под Web, а серьезные бизнес-приложения были для Desktop , то сейчас бизнес приложения переписываются под Web, а развлекательных все больше пишется для мобильных устройств. Мы программистов для D esktop в 2012 году почти не искали».

Рынку не нужны универсальные солдаты.

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

Ольга Горчинская, ведущий специалист по персоналу, департамент по работе с персоналом, «ИНКОМ» : «Рынку нужны узкие, но очень профессиональные специалисты, знать хорошо два языка невозможно. Например, Java требует очень больших знаний и усилий. Обычно хороший специалист по Java должен выполнить пару коммерческих проектов и уметь работать с базами данных».

Наталья Зуб, руководитель отделов HR и рекрутмента в компании «Innovecs»: «Независимо от того, какое программист выбрал для себя направление – Java или C#, или PHP, при этом он должен знать новые фреймворки и библиотеки, которые облегчают работу с этими языками – вот они постоянно развиваются. Для JavaScript – Framework ExtJS, node.js, backbone.js. Каждый со своими преимуществами, часто нужно знание именно этих фреймворков. Они появляются очень часто – постоянно происходят обновления – важно, чтобы человек был up-to-date – на гребне волны».

Конечно, если программист хорошо и полно владеет несколькими языками, это будет для него плюсом и, возможно, ключом к успешной карьере архитектора или ведущего программиста. Однако «универсальных солдат» много не нужно – до 5–10 человек в компании, да и работать они, скорее всего, будут в очень специфических проектах. Поэтому «распылять» внимание между технологиями эксперты категорически не рекомендуют. Большинство задач не выходят за рамки одного языка программирования, и специалист, который постоянно совершенствует свои познание в нем, ценится больше, чем девелопер, который поверхностно знает 2–3 языка.

Людмила Сирик, Head of Recruiting компании « Miratech » : « Разработчик, который знает несколько языков программирования – большая редкость. В нашей компании эти специалисты имеют уровень Principal – один из наивысших уровней инженерной квалификации, выше чем Senior, фактически, гуру. Такие люди везде «на вес золота». Они универсалы. И это очень удобно для любых проектов. В качестве их работы не приходится сомневаться. Однако, если говорить о рынке в целом, то «узкие» специалисты не менее востребованы ».

Римма Мень, глава отдела мотивации и PR, «Ciklum» : «Универсальные солдаты нужны – их всегда есть где применить (проекты по оптимизации ресурсов, переписыванию ПО с одной платформы на другую, разработка игр сразу на несколько мобильных платформ). Но в основном мы говорим о потребности рынка в хороших узконаправленных специалистах. Не могу сказать, что если бы .NET-специалист знал Java, PHP, то он бы ценился больше или приносил больше пользы Java-проекту, чем просто хороший Java-специалист».

Евгений Кагановский, HR-менеджер, «IT Innovations Ukraine Ltd.»: «Все зависит от жизненного цикла проекта. Если мы говорим о проекте, который длится 34 года, где нужна узкая специализация, то здесь я полностью согласен. Если мы говорим про быстрый development, там где есть один проект, который идет на Android, а потом резко переключается на безопасность, то тут нужен более полифункциональный человек. Таких программистов хватает даже одного, если он эксперт, если это уровень выше среднего, то двух достаточно».

Эксперты указывают на важность не только профессиональных навыков, но и знания английского языка.

Тимофей Евграшин, независимый эксперт, командный коуч, бизнес-тренер, консультант по внедрению методологий управления проектами: «Самый главный язык, который он [программист] должен знать – это английский. Большая проблема нашего рынка, что у нас плохой английский. В Индии английскийэто второй родной и хотя образование низкое (уровень ПТУ), они [индийские программисты] более привлекательны».

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

Мастер Йода рекомендует:  Обзор методов классификации в машинном обучении с помощью Scikit-Learn

Ирина Радченко, менеджер по персоналу, « DIO-soft» : «Универсального варианта, на мой взгляд, нет. Основной фактор здесь – гибкость мышления, проактивность и стремление расширять свой профессиональный багаж знаний».

Инна Коваленко, руководитель отдела HR в «Terrasoft»: «Как правило, если человек знает какой-то один язык программирования, он очень быстро может освоить что-то другое – главное, чтобы у него был к этому интерес».

Самым дорогим языком программирования единогласно признан Java. На втором месте по дороговизне называют С#. Немного дешевле РНР и С++ (но только на начальных уровнях), а меньше всего для компании стоят Delphi-программисты.

Очень важно заметить, что большинство специалистов по персоналу указали на то, что разница в оплате работы программистов, работающих на разных языках, несущественна. Она составляет максимум 15 20 %. Значительные различия в оплате будут не в «горизонтальном» а в «вертикальном» разрезе. Зарплаты программистов начального, среднего и высокого уровня действительно могут существенно отличаться.

Немаловажен тот факт, что зарплату для любого программиста определяет наличие проекта и заинтересованность компании именно в этом специалисте. Таким образом, иногда на первое по стоимости место выходят специалисты, программирующие на Perl, JavaScript. Одновременно один из экспертов назвал тот же Perl одним из наиболее низкооплачиваемых «скилов» в компании.

По словам Елены Ширинговской, старшего консультанта в HR «Consulting», при наличии проекта, самыми дорогими становятся очень востребованные специалисты по Scala, Erlang, Haskell или других редкостных языках: « Самые дорогие – это, во-первых, Scala , Erlang, Haskell. Те, кто успели их первыми изучить и стать профессионалми, зарабатывают хорошие деньги, потому что c одной стороны, их сейчас очень мало, с другой – они будут потом обучать других».

Римма Мень, глава отдела мотивации и PR компании «Ciklum»: «Самый дорогой – Java, больше из-за того, что на него слишком большой спрос, очень много зашло в Украину проектов под Java (во всех компаниях), − в основном это клиенты из банковской сферы. Настолько возросшая потребность в этих специалистах подняла уровень зарплат, что естественно».

Ирина Радченко, менеджер по персоналу, « DIO-soft» : «Поскольку у нас используются наиболее востребованные на сегодняшний день языки, то я не могу сказать, что кто-то из них дороже. Скорее выше всех оплачиваемы те специалисты, которые являются действительно гуру в своем направлении – они находятся на ведущих ролях senior-специалистов и архитекторов».

Татьяна Лысенко, HR-директор, «Cogniance, Inc»: «Мы регулярно обновляем нашу компенсационную сетку, но я не вижу особой разницы между стоимостью специалистов по разным технологиям сейчас. Может быть, это специфика нашей компании. Да, PHP немного дешевле, и то не всегда. Остальные языки у нас на одном уровне».

Эксперты говорят о том, что возрастет потребность в программистах для мобильных платформ и Scala.

Среди возможно популярных и востребованных в будущем технологий в первую очередь называли Mobile (iOS, Android). Столько же «голосов» набрал и язык Scala.

Наталия Зуб, руководитель отделов HR и рекрутмента в компании «Innovecs»: «Из «необычных» языков набирает популярность Scala. Scala-программы во многом похожи на Java -программы и могут свободно взаимодействовать с Java-кодом. Это относительно новая технология – мало кто владеет этими навыками, хотя есть определенный спрос».

Также упоминали HTML 5, Silverlight , Python , Dart , Erlang, Haskell, NoSQL, а также фреймвок CoffeeScript.

Делая прогнозы, эксперты, тем не менее, остаются довольно осторожными. Римма Мень напоминает о том, чтоуже были предпосылки бума для многих языков, однако его так и не случилось. Поэтому прогнозировать что-либо довольно сложно.

Однако развивать новые технологии могут себе позволить не все.

Елена Ширинговская, ведущий консультант HR «CONSULTING»: « Работодатели требуют знание таких (новых) языков, как Erlang, Haskell, Go, Dart если есть проект, в основном зарубежные заказчики, международные компании с собственной разработкой. Новые перспективные языки могут позволить себе компании, разрабатывающие свой продукт, аутсорсеры – идут за рынком, ищут только тех, кто уже нужен, а не будет нужен в перспективе».

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

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

Инна Коваленко, Руководитель отдела HR в «Terrasoft» : «Х арактер работы такой, что они постоянно учат что-то новое. Естественно, мы для них приобретаем специализированное обучение, которое в целом повышает знание чего-то на уровне всей команды. Но в рамках выполнения каждым своих задач он research-ит информацию – все, что связано с его работой в интернете, на форумах – таким образом, повышает свой профессиональный уровень. Очень важна работа в команде, когда они передают этот опыт друг другу».

Ольга Горчинская, ведущий специалист по персоналу, департамент по работе с персоналом, «ИНКОМ» : «Мы обучаем. У нас есть система внутреннего обучения, то есть мы можем брать «зеленых» специалистов и развивать их самостоятельно. Со временем они могут пройти сертификацию. Но без самомотивации к самообучению, процесс будет долгим и малоэффективным».

Татьяна Лысенко, HR-директор, «Cogniance, Inc»: «Мы предоставляем возможность учиться как при переходе на новые технологии, так и для совершенствования знаний в текущих технологиях. Но не все люди этого хотят и у компании нет задачи таких людей перевоспитать».

Открытым вопросом остается подготовка молодого специалиста до того, как он попадет на рынок труда. Несмотря на то, что в Украине есть ВУЗы, выпускающие молодых специалистов с хорошей теоретической базой, практические навыки, как правило, оставляют желать лучшего. Однако большинство экспертов говорят о том, что освоение любого из востребованных языков для бывшего студента профильного ВУЗа − дело посильное, и компании готовы тратить на этот процесс время и деньги.

Аэлита Король, ведущий менеджер по персоналу «Softline» Консорциум «Intecracy Group»: «С ейчас ведется активная работа по внедрению в наши украинские ВУЗы программ именно технологий более современных, но пока это не реализовано».

Аэлита Король, как и многие другие респонденты, говорит о том, что проще научить специалиста в процессе работы, чем искать готового, в частности, молодых специалистов после ВУЗов со знанием востребованных технологий почти нет.

Существенным плюсом нашей системы образования называют ее универсальность и возможность после ВУЗа легко освоить любую технологию:

Тимофей Евграшин, независимый эксперт, командный коуч, бизнес-тренер, консультант по внедрению методологий управления проектами: «Нюанс нашего образования: если вы учились в нормальном престижном ВУЗе, то там чаще учат не язык, а подход в целом. Выпускнику не важно на чем-то специализироваться. Он попадает в первую компанию, там ему нужно разобраться, например, в .NET. Он разобрался, ему понравилось, он продолжил специализироваться. Или же не понравилось – он переучился».

Данные были получены в результате серии глубинных интервью с HR-специалистами ведущих IT-компаний, которые работают в Украине. Исследование проведено в январе 2013 года.

HeadHunter благодарит за участие экспертов:

Елена Ширинговская, ведущий консультант HR «CONSULTING ».

Аэлита Король, ведущий менеджер по персоналу «Softline », Консорциум «Intecracy Group» .

Римма Мень , глава отдела Мотивации и PR, «Ciklum ».

Пивень Наталья, старший HR-менеджер компании, «Infopulse Ukraine ».

Инна Мокровольская, руководитель HR-департамента компании «Materialise ».

Сирик Людмила, руководитель группы рекрутинга компании «Miratech ».

Горчинская Ольга, ведущий специалист по персоналу компании «Incom ».

Коваленко Инна, руководитель отдела HR в «Terrasoft ».

Евгений Кагановский, HR-менеджер, «IT Innovations Ukraine Ltd ».

Тимофей Евграшин, независимый эксперт, командный коуч, бизнес-тренер, консультант по внедрению методологий управления проектами, автор блога The Improved Methods .

Марианна Петренко, руководитель направления HR в «SysIQ ».

Татьяна Лысенко, HR-директор, «Cogniance, Inc ».

Наталья Зуб, руководитель отделов HR и рекрутмента в компании «Innovecs ».

Ирина Радченко, менеджер по персоналу компании «DIO-soft ».

Самые востребованные языки программирования. Языки программирования для начинающих

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

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

Что такое язык программирования?

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

Язык программирования – это формальная знаковая система, которая применяется для написания компьютерных программ. Как и любой другой язык, он имеет свои лексические, семантические и синтаксические правила.

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

Языки программирования высокого и низкого уровней

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

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

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

К высокому уровню относятся Pascal, Java, C, C++, C#, Delphi и многие другие. Используются они для написания программного обеспечения и прикладных программ.

Наиболее востребованные языки программирования

Какие же самые востребованные языки программирования на сегодняшний день?

В последние годы наиболее популярными и востребованными считаются Java, C, C++, Python, C#, которые входят в топы языков программирования. Именно они составляют основу современных программ и используются при написании любого крупного проекта. Более 70% программистов работают с этими языками. Прогнозируется, что в ближайшие 10 лет они будут все так же востребованы, как и сегодня.

Не менее популярными считаются и Ruby, PHP, JavaScript. Большинство специалистов делает упор и на них.

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

С, С++ и С#

Для начала рассмотрим семейство Си.

Язык Си является компилируемым и статически типизированным. Он разработан в 70-х годах. На его основе в дальнейшем были созданы такие языки как С++ и С#, Java.

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

Си# — современный объектно-ориентированный язык, в основе которого лежит язык Си и Си++. Имеет безопасную систему типов. Одна из отличительных его черт состоит в том, что он также весьма схож и с другим популярным языком программирования — Java.

Один из недостатков языка заключается в том, что он позволяет создавать приложения только для операционной системы Windows, и кроме того, является весьма тяжеловесным, а значит, программы, написанные на нем, занимают немало места.

Можно отметить, что во многом С, С++ и С# — языки программирования для начинающих. Освоив их, можно быть уверенным в том, что изучение нового языка займет минимум времени.

Познакомиться с ними и написать свои первые приложения можно в специальной среде Borland или Visual Studio.

JavaScript

JavaScript — язык с объектно-ориентированными возможностями. Разработан в 1996 году и сегодня один из наиболее популярных. Язык используется в основном при создании сценариев в интернете и работает в основных браузерах, таких как Internet Explorer, Firefox, Opera. Он также тесно связан с HTML и CSS, поэтому прежде чем приступать к его изучению, необходимо освоить основы данных языков.

Стоит отметить, что, несмотря на схожесть в названии, JavaScript и Java – это два совершенно разных языка.

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

Рассматривая самые востребованные языки программирования, нельзя не отметить Java. Это объективно-ориентированный язык программирования, который вошел в обиход с 1995 года. Он весьма легок и работает на любой Java-машине любой архитектуры. Применяется для разработки приложений под Android и iOS.

Python

Python — язык высокого уровня программирования, основная задача которого — повысить производительность разработчика, сделать код более читаемым. Он имеет небольшой список синтаксических конструкций и весьма внушительную стандартную библиотеку функций. Разработка языка началась еще в 90-х годах и продолжается до сих пор. Он применяется для разработки различных проектов, расширений и интеграции ранее разработанных приложений.

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

Ruby — язык программирования высокого уровня, вмещающий в себя части Perl, Smalltalk, Eiffel, Ada и Lisp. Используется с 1995 года. Основное преимущества языка – его простота и гибкость. Подходит как для написания небольших приложений, так и для разработки серьезных программ.

Язык PHP

PHP — довольно популярный язык для написания сценариев, разработанный для создания web-приложений. Довольно часто его также вносят в список «Языки программирования для начинающих» и рекомендуют к изучению.

С его помощью можно создавать высококачественные web-приложения в весьма сжатые сроки. Язык имеет простую и понятную структуру, что позволяет изучить его в считанные дни.

Заключение

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

Результаты опроса Stack Overflow: какие языки программирования популярнее, а за какие больше платят

И чем результаты в 2020 году отличаются от результатов прошлых лет.

Каждый год сайт Stack Overflow проводит опрос разработчиков, собирая данные по целому ряду вопросов: от отношения к удалённой работе до используемых IDE. В нём принимают участие десятки тысяч человек, так что на размер выборки не пожаловаться. На прошлой неделе появились результаты за 2020 год, и мы решили разобрать интересные числа оттуда.

Для начала нужно сделать оговорку. «Большая выборка» не означает автоматически «репрезентативная», в ней могут быть свои перекосы. И если присмотреться к результатам, заметны странные скачки: например, в прошлом году о наличии детей сообщили 29% респондентов, а в этом 39%. Вряд ли это говорит о том, что за год в ИТ произошёл гигантский беби-бум — скорее, что-то оказалось иначе с выборкой или методологией.

Поэтому из результатов опроса стоит делать не детальные выводы, а общие. Если в списке популярности язык X на одну строчку выше языка Y, не стоит уверенно говорить о его превосходстве, разница может быть случайной. Но если эти строчки — вторая и третья, можно уверенно говорить «оба языка очень популярны».

И хотя проще всего обсуждать изменения по сравнению с прошлым годом («смотрите, TypeScript обошёл C»), на самом деле показательнее то, что не поменялось. Изменения могут быть разовой флуктуацией, а вот если что-то подтверждается год за годом, это уже больше похоже на реальное положение дел. Поэтому мы в первую очередь рассмотрели неизменные вещи, а затем уже перешли к «новостям».

Вечные ценности

Нет особого сюрприза в том, что самым популярным языком программирования в очередной раз был назван JavaScript. Но опрос Stack Overflow интересен тем, что не ограничивается вопросом «какими языками разработчики пользуются», а задаётся и такими:

  • какими языками хочется продолжать пользоваться? (так формируется список «самые любимые»)
  • какими хочется перестать пользоваться? («ненавистные»)
  • какие хочется начать использовать? («самые желанные»)

И если в списке самых востребованных у JavaScript нет конкурентов, то в «самых любимых» он далёк от вершины, которую четвёртый год подряд занимает Rust. Это уже интереснее: о Rust можно услышать гораздо реже и его победа куда менее очевидна.

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

По списку «ненавистных» видно, что разработчикам хочется сбежать от легаси: среди того, что они хотят перестать использовать, в последние годы оказывались Visual Basic 6, COBOL и тому подобное. А лидером списка «самые желанные» (то есть «пока не использую, но хотел бы») уже не первый год подряд оказывается Python.

Кроме этих списков, есть ещё и «зарплатный»: разработчикам на каких языках больше платят. Авторы дают его с осторожной формулировкой «какие языки ассоциируются с высокими зарплатами», а также оговариваются, что многое зависит от региона (по США предоставляют отдельные данные, а вот по России нет). Но всё равно любопытно: какой язык учить выгоднее всего?

Единого устойчивого лидера нет (в этом году первое место в мире у Clojure, а в США — у Scala; год назад мировым лидером был F #, а американским — Erlang). Зато по этим четырём названиям можно заметить единую устойчивую тенденцию: самыми высокооплачиваемыми оказываются функциональные языки. Похоже, в их случае особенно высок дефицит кадров.

Если после предыдущего абзаца вы бросили все дела и лихорадочно вбиваете в Google запрос «онлайн-курс по функциональному программированию», сначала обратите внимание на ещё один фактор, объединяющий все четыре перечисленных языка: ни один из них не входит в десятку самых популярных. А это означает, что зарплаты-то могут быть высокими, но список возможных мест работы будет очень ограничен.

Например, на момент сочинения этого текста HeadHunter находил в Москве всего одну открытую вакансию Clojure-разработчика. Со Scala дела получше, там счёт идёт хотя бы на десятки, но до JavaScript в любом случае очень далеко.

Добавить комментарий