С какого языка программирования начать путь в IT?
Даниил Пилипенко, программный директор факультета backend-разработки направления «Программирование» Skillbox, директор центра подбора IT-специалистов SymbioWay, рассказывает, как нетехнарю выбрать первый язык программирования.
Сегодня люди нетехнических специальностей всё чаще задумываются о смене деятельности и задаются вопросом: «Кто тут в IT крайний?» Оно и неудивительно: сфера услуг подвергается роботизации, списки профессий будущего заполонили разработчики всех сортов, а HR-специалисты сетуют на дефицит программистов, особенно разработчиков веб-приложений.
Какие бывают языки программирования и для чего они нужны?
На данный момент существует несколько десятков языков программирования. Среди наиболее популярных — Java, PHP, Python, C++, C#, Ruby, Kotlin, Swift, JavaScript, TypeScript и Go. Они отличаются по синтаксису (правилам написания кода), концепциям, принципам работы и назначению. Разные языки предназначены для разработки разного программного обеспечения (ПО), программ и приложений (все эти три термина — синонимы). Приложения бывают следующих видов: веб-приложения, мобильные приложения, desktop-приложения, а также встроенное программное обеспечение.
Чаще всего пользователь имеет дело с веб-приложениями. К ним относятся как простые лендинги, интернет-магазины, новостные и информационные порталы, так и практически все онлайн-сервисы, LMS-, CMS-, CRM-системы, современные социальные сети и другое. Для их разработки требуются разные программисты.
Обычно веб-приложения состоят из двух частей — frontend и backend. Frontend — это составляющая, которая «работает» в браузере, а backend — на сервере.
Разберем простой пример работы веб-приложения. Пользователь вводит в адресную строку своего браузера vk.com и нажимает Enter. Если немного упростить, происходит следующее: после нажатия клавиши Enter браузер делает запрос к одному из серверов ВКонтакте. После этого на сервере формируется ответ в виде программного кода главной страницы социальной сети, который отправляется обратно. Получив этот код, браузер отобразит его как красивую веб-страницу. Это будет код, где используются три технологии — язык разметки HTML, технология CSS и язык программирования JavaScript.
Язык разметки HTML описывает, из каких элементов состоит веб-страница — изображений, ссылок, полей форм, кнопок, текстов и других элементов. Технология CSS отвечает за стили, задающие все аспекты внешнего вида этих элементов — размеры, отступы, расположение друг относительно друга, цвета текста, фона и границ, шрифты и другие свойства. Язык программирования JavaScript придаёт веб-странице «интерактивность»: делает так, что элементы на ней реагируют на действия пользователя. Например, пользователь вводит в поиске некий запрос. В процессе набора этого запроса появляется список наиболее подходящих результатов. Откуда берётся этот список? С сервера: код на языке JavaScript, работающий на веб-странице, при вводе очередного символа поискового запроса отправляет его на сервер и запрашивает список подсказок, который приходит обратно на веб-страницу и отображается браузером.
На backend, который работает на стороне сервера, в качестве основного языка тоже может использоваться JavaScript, но чаще — более популярные языки, такие как Java, Python, PHP, Go или C#. Backend любого известного вам продукта, скорее всего, разработан на одном из них.
А что с рынком труда?
Последние 25 лет спрос на программистов растёт быстрее, чем предложение. По данным компании SymbioWay и портала HeadHunter, количество вакансий в этой сфере повышается ежегодно на 15%, а специалистов становится больше всего на 5%. С начала пандемии (март 2020-го) потребность в разработчиках в России увеличилась в 2,5 раза. Растущий дефицит приводит к резкому росту зарплат. К примеру, начинающий разработчик в Москве, Санкт-Петербурге или на удаленке может устроиться на свою первую работу с зарплатой в диапазоне 60–90 тыс. рублей в месяц, а уже через год-два выйти на цифры 140–220 тыс. рублей в месяц.
Ниже приведена диаграмма, описывающая структуру спроса на backend-разработчиков в России, по консолидированным данным ресурса «Хабр.Карьера»:
Как сделать выбор?
Не существует общепринятых подходов для выбора первого языка программирования. Все зависит от личных предпочтений: кто-то обращает внимание на легкость восприятия, другой анализирует рынок и выбирает наиболее востребованный язык.
Важно отметить, что недоступность IT-сферы для гуманитариев и творческих людей во многом преувеличена из-за мифа о гуманитарном и математическом складе ума. Но знание высшей математики и сложных формул совершенно не требуется для работы программистом. Для этого вполне достаточно базовой арифметики на уровне начальной школы. Гораздо важнее не наличие того или иного склада ума, а интерес к делу.
Первый язык программирования можно выбрать, отталкиваясь от своего бэкграунда. Обратимся к популярным нетехническим группам профессий и рассмотрим, с каких языков программирования разным специалистам может быть проще начать карьеру в IT.
Художники и дизайнеры. Больше склонны к работе с визуальной частью ПО, обычно любят формировать внешний вид продукта или влиять на него. Им проще всего начать работу в сфере frontend-разработки или разработки мобильных приложений. Здесь уже надо ориентироваться на собственные интересы — заниматься веб-сайтами и сервисами или мобильными приложениями. В случае последнего выбрать между Android и iOS очень просто: если телефон на Android, начинайте с программирования на языке Kotlin под Android, а если на iOS — то с языка Swift. Почему так? Потому что начинать лучше всего с того, что понятно и знакомо.
Маркетологи. Обычно работают с веб-сайтами и хорошо понимают их структуру. Для этих специалистов начать карьеру в IT было бы проще всего в сфере веб-разработки на языке PHP, поскольку большинство сайтов написаны именно на нём. Например, социальные сети ВКонтакте и Facebook. Если есть опыт работы с SEO (поисковой оптимизацией сайтов), то, скорее всего, понравится frontend-разработка (SEO-специалисты обычно хорошо знают язык HTML) или fullstack-разработка, в рамках которой вы сможете программировать не только frontend, но и backend на том же PHP.
Историки, политологи или социологи. Умеют собирать и анализировать факты, способны выявлять закономерности и прогнозировать будущие события. Людям с таким бэкграундом, возможно, будут интересны технологии искусственного интеллекта, которые умеют решать задачи предсказания, а также технологии поиска закономерностей и корреляций. Все эти технологии находятся в сфере Data Science, где основным языком программирования в настоящее время является Python.
Если все перечисленные сферы не по душе и хочется просто писать код, не имея дела ни с визуальной частью, ни с обработкой данных, всегда можно выбрать язык программирования Java. В настоящее время он является самым востребованным в backend-разработке веб-приложений. Кроме того, с Java очень легко перейти на любой другой язык. Принципы, изначально заложенные в нем, оказались настолько удачными, что постепенно перенимаются другими языками.
Язык Java используется очень многими корпорациями: большинство банковских приложений («Альфа.Клик», PayPal, «Сбербанк.Онлайн») и другое программное обеспечение, связанное с финансами, разрабатывается на Java. Это один из самых безопасных языков программирования с точки зрения уязвимостей для хакерских атак. На Java также пишутся и многие другие системы и сервисы: «Яндекс.Маркет», «Яндекс.Музыка» или сервис «МойСклад» написаны на Java.
Комментарий недоступен
Комментарий недоступен
Комментарий недоступен
Комментарий недоступен
Эмм, я сам весьма недолюбливаю пыху, но это уж очень смелое заявление.
Комментарий недоступен
Комментарий недоступен
Комментарий недоступен
Комментарий недоступен
Комментарий недоступен
Комментарий недоступен
Комментарий недоступен