Раньше все были просто программистами, и разделение было очень смутным и размытым (только по языкам). Но в последнее время направления разработчики разделились более чётко. Здесь хочу написать небольшой перечень профессий.
Если вы хотите начать путь в IT и не знаете, кем хотите стать, то попробуйте всего понемногу, возможно вы найдёте что-то своё.
1. Frontend разработчик
Разработка сайтов, веб приложение, немного мобильных приложений. Только наружных, то есть лицевых их частей. Тексты, картинки, кнопки, с которыми могут взаимодействовать пользователи. Одна из самых лёгких профессий для входа, но здесь и самая большая конкуренция среди новичков. Для начала изучения подойдут: HTML, CSS, JS
2. Backend разработчик
Обратная сторона разработки сайтов и веб приложений - код, который работает на серверах и базы данных. Здесь очень большая вариативность языков, и чуть выше порог входа, часто нужно знать и уметь работать с базами данных. Языки для начала: python, java, php, .net, go, node.js, ruby. Базы данных: mysql, mongo, postgres
3. Веб разработчик / веб мастер
Предыдущие две профессии раньше были одним человеком, который делал заказчику сайт (или интернет магазин) от начала и до конца. Другой вариант - веб студии, там уже несколько разработчиков делают проект от начала и до конца, часто им в помощь добавляются дизайнер, менеджер проекта. Что посмотреть: wordpress, cms системы
4. Разработчик декстопных приложений
Разработка программ, которые устанавливаются на персональный компьютер. Система может быть любой: Windows, MacOS, Linux. Что посмотреть: C, C++, C# (си шарп)
5. Разработчик мобильных приложений
Разработка приложений под мобильные устройства. Основных мобильных систем сейчас две: Android и IOS на айфонах у apple. Языки под Android: java, kotlin. Языки под IOS: objective C, swift.
6. GameDev
Разработка игр. Под мобильные устройства, пк и веб. В зависимости от платформы языки могут быть абсолютно разными. Так же существует огромное количество игровых движков. С помощью них, иногда, можно создать игру не написав ни строчки кода. Языки: C# . Движки: Unity, Unreal Engine.
7. Дизайнеры UI/UX
Специальность не связана с написанием кода, но тесно связана с разработкой (особенно Frontend). Дизайнеры рисую макеты и интерфейсы, которые разработчики будут реализовывать. ПО: Sketch
8. 3D дизайнеры
Здесь 3D моделирование объектов и спецэфектов. Модели используются в разработке игр и видеомонтаже.
9. Тестировщики
После того, как разработчики сделали какой-то функционал, его обычно не отправляют сразу в релиз, что бы его увидели сразу все пользователи. Перед этим его должны проверить тестировщики и подтвердить, что ПО работает корректно. Тестировщики проверяют приложения как вручную, так и пишут автоматические тесты.
10. Системный администратор / администратор серверов
Из названия, думаю, всё понятно. Человек, который настраивает сервера и сети. Так же отдельно можно выделить администратора баз данных.
11. DevOps
Из администраторов выделяется направление DevOps - люди, которые создают и настраивают инфрастуктуру для программистов. Примеры: системы доставки кода, хранения кода, подготовка тестовых окружений, немного вопросы безопасности.
12. Безопасники
О безопасности. Два вида: корпоративная безопасность (антивирусы, вай фай точки, права доступа, пикание карточками) и продуктовая безопасность (когда хакеры ломают сервер, надо сделать, что бы у них это не получилось). Безопасники бывают как в штате компании, так и со стороны (например для расследования инцидентов, когда уже что-то взломано).
13. PenTest
Люди, которые исполняют обязанности хакеров и пытаются взломать или найти уязвимости в продукте. Бывают как сотрудниками компании, так и со стороны. Например, у многих крупных компаний есть программы Bug Bounty - за найденные уязвимости выплачиваются неплохие вознаграждения.
14. Data Science
Наука о данных. Люди, которые занимаются аналитикой данных. Это нужно для того, что бы видеть основные показатели продукта и компании, это влияет на её дальнейшее направление развития.
15. Machine Learning
Машинное обучение (немного пересекается с искусственным интеллектом). Написание кода, которые сам учится выполнять какую либо задачу: находить предметы на фотографиях, рисовать картины, на лету изменять видео.
16. Программирование аппаратной части
К примеру, написание драйверов, что бы заставить какую либо железку работать.
17. 1С Бухгалтерия
Распространённый вид программистов в странах СНГ. Задача - написание модулей для работы бухгалтерских программ.
Если я что то забыл, то пишите в комментариях.