Направлений в программировании десятки, поэтому непросто выбрать IT-профессию, которая ближе всего. Расскажем о наиболее популярных специальностях в разработке и необходимых навыках для входа.
Frontend-разработчик
Frontend-разработчик (frontend developer) — специалист, который занимается созданием пользовательского интерфейса сайта, ПО или приложения. Такой программист делает продукт, который будет функциональным, понятным, удобным для пользователей. Также frontend-разработчик отвечает за корректную работу проекта, делает так, чтобы все элементы правильно отображались на разных устройствах, в разных браузерах и операционных системах. Он сотрудничает с другими специалистами: backend-разработчиком, веб-дизайнером, SEO-специалистом, веб-мастером и пр.
Что должен знать и уметь программист
- Создавать HTML-страницы сайта на основе дизайн-макетов, то есть верстать с использованием HTML и CSS.
- Писать на основном для программиста языке JavaScript, в частности знать стандарт Ecmascript 6 — спецификацию 2015 года, которая принесла новый уровень производительности и элементы синтаксиса.
- Работать в консоли и пользоваться пакетным менеджером NPM, который позволяет быстро и удобно загружать приложения и JavaScript-библиотеки.
- Использовать популярные CMS: Битрикс, WordPress, Modx и др.
- Работать с системой контроля версий, например Git, и сервисом GitHub.
- Использовать сборщик проектов (это небольшой код, который определяет порядок действий при автозапуске приложения из командной строки), например gulp.js.
- Знать хотя бы один из современных фреймворков для JavaScript: React, Angular или Vue.js.
- Уметь читать профессиональную литературу и документацию на английском языке.
Насколько востребован программист
Frontend-разработчик нужен везде, где требуется создание сайтов, приложений или любых других программ, у которых есть интерфейс. Знание JavaScript (главного для frontend-разработчика) не ограничивает специалиста веб-разработкой. Язык программирования применяется в создании десктопного ПО, например офисных пакетов OpenOffice и Microsoft или приложений Adobe, в программировании бытовой техники и оборудования (телевизионных приставок, платежных терминалов и т.д.). В январе 2023 года на сайте hh.ru можно найти 4171 вакансию по запросу «frontend».
После получения профессии программист может устроиться:
- в IT-компании, которые пишут веб-сайты, ПО, приложения, корпоративные сервисы, CRM и пр.;
- ритейле;
- финансовый сектор;
- сферу онлайн-образования;
- государственные учреждения;
- сферу услуг и пр.
По данным Хабр.Карьеры, в среднем в сентябре 2022 года frontend-разработчикам готовы платить около 150 тыс. рублей в месяц. Средняя зарплата начинающих специалистов — 80 тыс. рублей, разработчиков уровня middle — 190 тыс., самых востребованных программистов уровня senior — 350 тыс.
Узнайте больше о профессии: Кто такой frontend-разработчик?
Backend-разработчик
Backend — это, наоборот, внутренняя часть сайта или приложения. Она находится на сервере и скрыта от пользователей.
Backend-разработчики:
- отвечают за внутренние процессы приложений и сайтов;
- выстраивают обмен данными;
- подбирают системы для управления и хранения информации, обеспечивают максимальную производительность при минимуме сбоев;
- администрируют свои системы. Иногда этим занимаются DevOps-инженеры. В таком случае backend-программист может сконцентрироваться на написании кода.
Например, в интернет-магазине frontend-разработчик создает форму заявки, удобное меню, кликабельные карточки товаров, а backend- разработчик отвечает за правильную работу корзины или интеграцию с платежным шлюзом.
Что должен знать и уметь программист
- Писать быстрый, красивый и правильный код хотя бы на одном языке для backend. Можно программировать на PHP, Python, Go, Ruby, Java, C++ и пр.
- Пользоваться системой контроля версий, например Git, и сервисом GitHub.
- Работать с пакетными менеджерами (package manager) — специальными утилитами, позволяющими добавлять в приложения сторонние библиотеки, чтобы создавать новые функции и расширять возможности. Для каждого языка есть свой пакетный менеджер (в Python — pip, в Ruby — RubyGems, в PHP — Composer и т.д.).
- Знать современные парадигмы программирования, например ООП, и паттерны проектирования.
- Понимать устройства веб-сервисов, интерфейсов.
- Знать основы сетевой безопасности.
- Уметь проектировать базы данных SQL и оптимизировать запросы.
- Писать юнит-тесты.
- Использовать популярные библиотеки и фреймворки под выбранный язык. В backend-разработке чаще всего используются фреймворки Symfony, Laravel и Yii.
- Работать в операционной системе Linux.
- Знать английский язык для чтения технической документации.
Насколько востребован программист
Backend-программисты нужны во всех проектах, связанных с IT: от разработки корпоративных сайтов до создания крупных криптовалютных бирж. В январе 2023 года на сайте hh.ru можно найти 5046 вакансий по запросу «backend».
Как и frontend-разработчики, backend-программисты могут трудиться:
- в IT-компаниях, занимающихся коммерческой разработкой сайтов, ПО, приложений, корпоративных сервисов, CRM и пр.;
- ритейле;
- финансовом секторе;
- на промышленных предприятиях;
- в онлайн-образовании;
- государственных учреждениях;
- сфере услуг и пр.
По данным Хабр.Карьеры, в сентябре 2022 года средняя зарплата backend-разработчиков составляет около 165 тыс. рублей.
На hh.ru зарплата начинающих специалистов — от 35 до 90 тыс. рублей, разработчиков уровня middle — от 100 до 210 тыс., наиболее востребованных программистов уровня senior — от 250 до 500 тыс.
Узнайте больше о профессии: Как стать backend-разработчиком с нуля?
Fullstack-разработчик
Fullstack-программист занимается веб-разработкой полного цикла. Это универсальный специалист, который может сам реализовать проект «под ключ», охватив и frontend, и backend.
Обычно он:
- разрабатывает frontend- и backend-части;
- проектирует архитектуру;
- привязывает проект к базе данных;
- занимается его обновлением и системным администрированием.
Что должен знать и уметь программист
- Одинаково хорошо разбираться и во frontend, и в backend.
- Знать один или несколько языков программирования, например Python или РНР для backend-разработки и JavaScript для frontend.
- Уметь использовать основные фреймворки. Для frontend-разработки — JavaScript с фреймворками React, Angular или Vue.js. Для backend-разработки — Python с Flask, Django или Sanic, JavaScript с Fastify или Express, PHP с Laravel.
- Знать CSS и SQL.
- Разбираться в системах контейнеризации Git и Docker.
- Знать основы системного администрирования.
- Владеть английским языком для работы с документацией.
Насколько востребован программист
Fullstack-разработка — очень перспективное направление в IT. В январе 2023 года на сайте hh.ru можно найти более 300 вакансий. Такие программисты способны заменить трех-четырех специалистов. Благодаря этому клиенты могут сэкономить, а разработчики — регулярно иметь заказы.
Получив специальность, программист может устроиться:
- в веб-студии, которые занимаются созданием интернет-магазинов и других сайтов, веб-приложений для корпоративных клиентов;
- финансовый сектор;
- сферу услуг;
- IT-компании, которые занимаются созданием софта и цифровых продуктов, и пр.
По данным Хабр.Карьеры, в сентябре 2022 года средняя зарплата backend-разработчиков составляет около 150 тыс. рублей. На hh.ru зарплата начинающих специалистов — от 40 до 165 тыс. рублей, разработчиков уровня middle — от 70 до 250 тыс., уровня senior — от 200 до 400 тыс. рублей.
Узнайте больше о профессии: Кто такой Fullstack-разработчик?
Мобильный разработчик
Мобильный разработчик создает программы для мобильных устройств: телефонов, планшетов, часов и так далее. Его главная задача — сделать удобное и функциональное приложение. Он участвует во всех этапах разработки продукта:
- проектирует приложение, навигацию, функциональные возможности и архитектуру вместе с другими членами команды;
- пишет код с помощью выбранного языка программирования. Он зависит от задач продукта и типа устройств;
- занимается тестированием и отладкой;
- участвует в написании технической документации, инструкций по работе с приложением и руководств для пользователей;
- публикует продукт в магазинах RuStore, Google Play, AppStore, Huawei AppGallery, Samsung GetApps;
- развивает и поддерживает приложение.
Что должен знать и уметь программист
Профессиональные навыки зависят от направления: разработка под Android или iOS.
Android-разработчик должен:
- писать код на языках Kotlin или Java;
- использовать Android Studio — комплекс программных средств, которые разработчики применяют для создания софта. Это официальная среда программирования для системы Android;
- работать с XML и Android SDK — универсальным набором инструментов для создания ПО под конкретную версию ОС;
- знать особенности операционной системы Android и дизайн-системы Google;
- управлять базами данных с помощью SQL;
- тестировать ПО, чтобы оценивать его качество;
- разбираться в сетевых протоколах — наборах правил и стандартов, определяющих команды и способы коммуникации между устройствами. Основные протоколы — это HTTP, HTTPS, TCP/IP;
- знать основы дизайна и проектирования мобильных приложений;
- знать принципы объектно-ориентированного программирования;
- работать с системой управления версиями Git и сервисом GitHub;
- уметь публиковать приложения в магазинах.
iOS-разработчику необходимо:
- знать языки для разработки мобильных приложений Objective-C и Swift;
- уметь использовать среду Apple XCode, в которой пишут приложения под iOS;
- уметь создавать сетевые запросы;
- знать, как создавать интерфейс приложения на основе макета;
- знать архитектурные подходы;
- уметь подключать базы данных к приложению;
- уметь обрабатывать данные, в частности в формате JSON;
- знать правила сотрудничества с AppStore и официальную документацию Apple.
Насколько востребован программист
По данным Statista, в 2022 году из 7,7 млрд людей на планете пользуются смартфоном более 6,5 млрд человек. И это значение будет расти. Владельцы бизнеса стараются охватить как можно больше аудитории и пишут мобильные приложения и для iOS, и для Android. Разработчиков активно ищут в ритейле, маркетинге, банкинге, гостиничном бизнесе, транспортных агрегаторах, образовании, спорте и играх.
На январь 2023 года на hh.ru 1700 вакансии для Android-разработчиков и 1500 предложений для iOS-разработчиков.
По данным Хабр.Карьеры, в январе 2023 года средняя зарплата мобильных разработчиков составляет около 170 000 рублей. На hh.ru зарплата начинающих iOS-разработчиков — от 40 до 120 000 рублей, разработчиков уровня middle — от 150 до 250 000, уровня senior — от 180 до 300 000.
Зарплата начинающих Android-разработчиков — от 50 до 150 000 рублей, разработчиков уровня middle — от 150 до 280 000, уровня senior — от 280 до 400 000.
Узнайте больше о профессии: Что выбрать: iOS- или Android-разработку?
Java-разработчик
Java существует с 1995 года. Его основная ниша — энтерпрайз. На языке программирования пишут мобильные приложения для Android, frontend и backend, разрабатывают игры.
Java-программист — это разработчик, который пишет программный код на Java. Также он часто взаимодействует с заказчиком, тестирует приложение на каждом этапе создания, исправляет ошибки и занимается техподдержкой.
Такое программирование востребовано в финансовом секторе, так как язык применяется для создания надежных веб-сайтов, серверы которых должны выдерживать большое число запросов.
Что должен знать и уметь программист
- Понимать основные конструкции Java, использовать функции и переменные.
- Разбираться в библиотеках — знать, где искать шаблоны, для каких задач подходят конкретные классы библиотек.
- Работать с фреймворками. Основной — Spring. Он обеспечивает инфраструктурную поддержку для создания приложений Java, помогает разрабатывать их удобнее и быстрее.
- Использовать базы данных MS SQL Server, Oracle, MySQL, Postgres с помощью SQL.
- Применять систему управления версиями Git и сервис GitHub.
- Владеть английским языком на уровне чтения технической документации.
Насколько востребован программист
Java уже давно входит в тройку самых популярных языков программирования по индексу TIOBE и нужен везде: от игр до финансового сектора, от смартфонов до серверов крупных компаний. На сайте hh.ru в январе 2023 года представлено 4191 вакансия для Java-разработчиков.
По данным Хабр.Карьеры, в январе 2023 года средняя зарплата программистов составляет 180 тыс. рублей.
Средняя зарплата начинающих разработчиков — от 60 до 150 000 рублей, разработчиков уровня middle — от 150 до 250 000, уровня senior — от 250 до 400 000.
Узнайте больше о профессии: Как стать Java-программистом с нуля?
C / C++-разработчик
Языки программирования C и C++ — это нестареющая классика. C появился еще в 1969 году, а C++, его усовершенствованная версия, — в 1980-х годах.
На C++ и С пишут сложные продукты и сервисы. Профессиональные программисты разрабатывают на них ИИ, беспилотные автомобили, нейронные сети, банковские, поисковые и ГИС-системы, операционные системы, микроконтроллеры, браузеры, серверы и видеоигры. С/C++ помогают дорожным картам в GPS строить оптимальные маршруты, играм — не зависать при максимальных настройках графики, а банковским сервисам — функционировать круглосуточно.
Разработчик на С/C++:
- пишет код для приложения/программы/сайта;
- тестирует проект на разных этапах разработки, ищет и устраняет ошибки;
- обеспечивает техподдержку продукта: выпускает обновления, делает доработки и пр.;
- проектирует и взаимодействует с базами данных noSQL, SQL;
- разрабатывает техническую документацию.
Что должен знать и уметь программист
- Знать синтаксис, условия, циклы, функции языков программирования C/C++. Также полезно владение C или C#, Python или Java.
- Владеть CSS, HTML.
- Использовать основные фреймворки и библиотеки, например Qt.
- Знать принципы ООП.
- Уметь работать с базами данных и SQL.
- Знать среду разработки Microsoft Visual C++ или подобную.
- Применять основные правила разработки, написания тех. документации, составления ТЗ, проведения тестирования и отладки.
- Уметь работать в разных операционных системах: Windows, Linux, MacOS и др.
- Хорошо разбираться в прикладной информатике и математике, знать структуры и алгоритмы данных.
- Использовать систему управления версиями Git и сервис GitHub.
- Владеть английским языком на уровне чтения технической документации.
Насколько востребован программист
Несмотря на солидный возраст, это до сих пор одни из самых востребованных языков программирования. В январе 2023 года C++ занимает 3-е место в топе TIOBE, а C находится на втором месте.
В январе 2023 года на сайте hh.ru представлено более 1500 вакансий для разработчиков на C/C++.
По данным Хабр.Карьеры, средняя зарплата программистов на C++ составляет 150 тыс. рублей, на C — 113 тыс. Начинающим разработчикам готовы платить от 60 до 180 тыс. рублей, разработчикам уровня middle — от 180 до 400 тыс., уровня senior — от 250 до 600 тыс.
C#-разработчик
C# — язык широкого назначения для сложных приложений, который разработан Microsoft. Он применяется в создании десктопных приложений, веб-сервисов, веб-приложений, ПО для Windows, iOS, Linux и игр в Unity.
Язык используется в backend-разработке веб-приложений: в работе с сетью и базами данных, в области программирования логики и т.д. Программисты работают в банках, стартапах и небольших компаниях, занимаются созданием мобильных приложений. C# будет полезен тем, кто собирается использовать алгоритмы машинного обучения или разрабатывать видеоигры и VR-приложения на движке Unity. Такой программист:
- ищет оптимальные решения под поставленное ТЗ;
- программирует, настраивает взаимодействие с базами данных, внедряет ПО в работу;
- дорабатывает готовые проекты, готовит обновления, исправляет ошибки;
- пишет техническую документацию.
Что должен знать и уметь программист
- Писать на других языках программирования, например C++, Java или JavaScript.
- Работать с программной платформой .NET Framework — одной из основных для C#.
- Использовать Visual Studio — среду разработки, созданную специально для C#.
- Применять WPF (Windows Presentation Foundation) — софт для программирования графических интерфейсов для разных экранов.
- Знать LINQ (Language Integrated Query) — встроенный в C# язык запросов, который напоминает SQL.
- Пользоваться основными фреймворками: Entity Framework для работы с данными как с объектами и использования для запросов языка LINQ; ASP.NET для веб-разработки на C#, чтобы быстро и просто связывать серверную часть приложения с клиентской.
- Использовать систему управления версиями Git и сервис GitHub.
- Владеть английским языком на уровне чтения технической документации.
Насколько востребован программист
C# замыкает пятерку в рейтинге языков программирования TIOBE. В январе 2023 года на сайте hh.ru представлено около 1500 вакансий для разработчиков.
По данным Хабр.Карьеры, средняя зарплата программистов на составляет C# составляет 151 тыс. рублей. Начинающим разработчикам готовы платить от 75 до 150 тыс. рублей, разработчикам уровня middle — от 150 до 300 тыс., уровня senior — от 250 до 500 тыс.
Узнайте больше о профессии: Как программировать на C#: обзор языка, примеры кода, базовые инструменты
Тестировщик-автоматизатор
Профессия тестировщика-автоматизатора — один из наиболее простых способов входа в IT-сферу. Тестировщик нужен во всех проектах, связанных с IT. Он повторяет действия пользователей, находит ошибки в коде и дает советы по их исправлению. Тестировщики требуются в сфере безопасности, на этапе верстки сайтов, при создании игр и пр.
Тестировщик-автоматизатор отличается от ручного тестировщика тем, что не проверяет работоспособность программы вручную: он пишет небольшой код, который выполняет те же действия за него. Потом код проверяет, что получилось, и представляет результаты в виде отчета.
Тестирование — часть понятия Quality Assurance. По мере получения опыта тестировщик начинает улучшать и внедрять процессы тестирования на всех этапах разработки. Такой специалист — не просто тестировщик, а QA-Engineer. Также автоматизатор может стать в перспективе программистом.
Для автоматического тестирования можно выбрать язык программирования Python или Java.
На Python. Python — золотой стандарт для автоматического тестирования. Он очень универсален. Автоматизатор может писать на Python UI-тесты, а потом переключиться на бэкенд, запустить тесты для веб- и мобильных приложений, юнит-тесты.
На Java. Java в основном используют большие компании, энтерпрайз-сектора, поэтому таким образом тестируются высоконагруженные приложения.
Что должен знать и уметь тестировщик
- Знать основы тестирования, его виды и методы.
- Иметь навыки ручного тестировщика: уметь составлять тест-кейсы, писать баг-репорты, анализировать проблемные участки.
- Знать Python или Java, уверенно владеть инструментарием, писать читаемый и поддерживаемый код.
- Использовать фреймворки для автоматизации тестирования, например JUnit для Java, PyTest для Python.
- Применять инструменты Selenium для тестирования веб-приложений.
- Знать SQL для работы с базами данных.
- Знать инструменты разработчика в браузере.
- Использовать систему управления версиями Git и сервис GitHub.
- Владеть английским языком на уровне чтения технической документации.
Насколько востребован тестировщик
В 2022 году из России ушли иностранные биржи тестирования, поэтому сильно вырос спрос на отечественных специалистов. А приток азиатских компаний приводит к еще большей потребности в тестировщиках.
По данным Хабр.Карьеры, средняя зарплата тестировщиков — от 80 000 рублей.
В январе 2023 года на hh.ru можно найти около 4000 вакансий для тестировщиков, тестировщиков-автоматизаторов и QA-инженеров. Разброс зарплат очень большой, все зависит от навыков. Начинающим тестировщикам могут платить от 30 до 100 000 рублей, тестировщикам уровня middle — от 100 до 250 000, уровня senior — от 100 до 300 000.
Узнайте больше о профессии: Кто такой тестировщик ПО?
Разработчик игр на Unity
Разработчик игр создает уровни, механики и целые миры с помощью игрового движка и языка программирования: наиболее популярные — Unity (C#) и Unreal Engine (C++). Такие программисты работают в студиях, которые создают, продают и продвигают игры. В больших компаниях задействовано много разработчиков и дизайнеров, поэтому у каждого есть специализация. В небольших студиях, которые называют инди-сегментом, разработчик может одновременно заниматься другими задачами, не связанными с написанием кода, — например, звуком и графикой.
Что должен знать и уметь разработчик игр
- Владеть C#. Также могут использоваться C++, Java и Ajax.
- Знать SQL и уметь пользоваться MySQL.
- Понимать, как устроены сети и компьютеры.
- Знать алгоритмы и структуры данных.
- Использовать Unity.
- Базово разбираться в других специализациях — например, уметь анимировать персонажа, добавлять звуковые эффекты.
- Работать с системой управления версиями Git и сервисом GitHub.
- Владеть английским языком на уровне чтения технической документации.
Насколько востребован разработчик игр
По данным сайта gamedatacrunch.com, в 2021 году 49,48% платных игр, вышедших в Steam, были созданы на Unity. А в сфере мобильных игр показатель превысил 50%. Создание игр — было и остается перспективным направлением в программировании.
Сейчас на сайте hh.ru можно найти около 1000 вакансий только на Unity. Начинающим разработчикам могут платить от 60 до 100 тыс. рублей, уровня middle — от 100 до 250 тыс., уровня senior — от 250 до 400 тыс.
Узнайте больше о профессии: Кто такой разработчик игр?