
Допускаю, что подобных статей было, есть и будет много, но все же постараюсь сделать ее достаточно уникальной, может, даже полезной:)
1. Введение
В процессе поиска первой работы, да и сейчас, спустя почти год коммерческого опыта (хотя, пожалуй, это совсем немного), меня порой вводят в ступор вопросы о различиях между бизнес- и системным аналитиком, главенстве иерархии Product Owner и Project Manager и некоторые иные.
Да и в целом было интересно мельком обозреть специфику работы основных групп ИТ-специалистов, чтобы проще было ориентироваться в корпоративной среде. Эта статья есть плод моих попыток разграничить теоретический спектр задач для некоторых популярных должностей.
Формат статьи: компиляция данных из курсов университета, иных ресурсов, своих домыслов и требований к кандидатам из вакансий HeadHunter.
1.1 Допущение об ИТ-специалистах
И в этой статье, и в целом я отношу к айтишникам не только классических программистов, но и тесно связанных с ними аналитиков, тестировщиков, администраторов, менеджеров ИТ-проектов и владельцев ИТ-продуктов. Словом, тех людей, чья работа связана с разработкой, внедрением и сопровождением технологических решений.
1.2 Иерархия
Классическая лесенка, знакомая даже людям, не соприкасающимся напрямую со сферой ИТ, из новостей, постов в социальных сетях и рекламах вакансий:

1. Trainee (стажер) — человек, у которого есть теоретическая база, полученная, например, в университете, ноприкладных знаний очень мало. Идет в компанию «доучиваться», возможно и без оплаты.
2. Junior (младший, помощник, ассистент) — начинающий специалист, не сильно превосходящий стажера (порой только в самоуверенности), но уже являющийся членом команды, которого хоть и курируют, но уже приучают к решению настоящих рабочих задач. Ошибаться, много спрашивать и работать медленно — можно, если это ведет к скорому развитию.
3. Middle (просто разработчик, аналитик, тестировщик,...) — специалист среднего уровня, который уже может самостоятельно (по большей части) решать поставленные задачи, декомпозировать их, прогнозировать сроки завершения работы над задачей и укладываться в них. Уже овладел большей частью как прикладных, так и теоретических знаний.
3.5 Middle+, Senior- (вероятно, не самая общепринятая группа, сюда отношу так называемых «старших») — выделил, так как встретил подобное в своей компании. Здесь потихоньку начинается работа с «подрастающим поколением», самостоятельная постановка задач младшим сотрудникам.
4. Senior (ведущий, старший) — сильный профильный специалист, способный не только выполнять поставленные задачи, но и самостоятельно видеть «дыры», нужды компании, проекта, команды и находить способы их закрытия, разбивая задачу на подзадачи, при необходимости распределяя их внутри команды.
5. Team Leader (TL, руководитель) — необязательно превосходит знаниями senior-специалиста, но является более опытным сотрудником в сфере коммуникаций, организа��ии процесса работы, взаимодействия с руководством компании и распределения обязанностей. Может несколько меньше работать «руками», но больше планировать, развивать компетенции коллег.
Можно на этом и закончить, поскольку уже с TL начинается уход в менеджмент, что не совсем соответствует профилю статьи, так что про C-level рекомендую почитать отдельно.
1.3 Профильность (I-shape, T-shape, M-shape, плоские)
Перед тем, как наконец начать рассматривать конкретные должности и их функционал, стоит чуть подробнее обсудить затронутые ранее термины.

Итак, I-shape называют узких специалистов, которые очень хороши в своей отдельной области, но их «кругозор» ограничен рамками их должности, проекта, компании.
Специалисты широкого профиля, напротив, до некоторой сферы компетентны в разных смежных областях, то есть могут понять суть обсуждения большей части задач на проекте, однако ярких «сильных» сторон не имеют.
T-shape, как вы наверняка догадались, являет собой сочетание широкого базового кругозора и экспертизы в какой-то одной сфере.
M-shape (иногда выделяют отдельно и П-shape) уже являет собой редкое сочетание глубоких знаний в нескольких сферах и понимания общих концепций во многих с ними связанных направлениях.
Тем не менее, хоть мультифункциональные специалисты выше классом, чем узкоспециализированные, в силу ограниченности времени в сутках один M-shape сотрудник не сможет заменить весь отдел:)
2. Управленцы
Первыми рассмотрим своего рода верхушку, то есть лиц, ответственных за большой блок работ, но перед этим определимся с терминами:
Продукт — средство доставки ценности. У него есть четкие границы, известные заинтересованные лица, четко определенные пользователи или клиенты. Продукт может быть услугой, физическим продуктом или чем-то более абстрактным.
Проект — временное (ограниченное датой начала и датой окончания) предприятие, направленное на создание уникального продукта, услуги или результата.
2.1 Product Owner
Владелец продукта несёт ответственность за достижение максимальной ценности продукта как результата работы команды. И добивается он этого при помощи Scrum — фреймворка гибкой разработки программного обеспечения.
Владелец продукта понимает, кто чем занимается в команде, управляет бэклогом, плотно взаимодействует с разработчиками и другими заинтересованными лицами. Он отвечает за то, чтобы все члены команды имели ясное представление, над чем работают и в какой последовательности будут выполнять задачи.
2.2 Project Manager
Менеджер проекта вступает в игру после взаимодействия заказчика с бизнес-аналитиком.
Задача — обеспечить свою команду всем необходимым (ресурсами, слаженным взаимодействием, информацией, временем, отвоеванным у заказчика) и устранить препятствия на пути к решению задачи. Составляет план работ, в рамках которого организовывает и ведет встречи, ставит задачи и следит за их выполнением, документирует процесс и готовит отчетные презентации для заинтересованных сторон.
2.3 Product Manager
Продакт-менеджер, менеджер продукта, PM — наёмный предприниматель внутри компании. Он нацелен на развитие продукта, который с наименьшими вложениями принесёт наибольшую прибыль.
Продакт-менеджер сфокусирован на долгосрочной стратегии, отвечает за исследование конкурентной среды и своей аудитории. Здесь речь идёт о маркетинговых задачах и взаимодействии с клиентами.

Кратко:
Product Owner — роль по Scrum, приоритизирует список задач, консультирует команду разработки по целям, ресурсам, срокам.
Project Manager — должность в компании. Обеспечивает согласованность действий, проводит статусы, решает различные орг.вопросы и документирует проц��сс. Если компания работает по Scrum, то его обязанности несколько шире PO, так как он координирует действия нескольких скрам-команд.
Product Manager — наемный предприниматель, фокусируется на «взлете» и долгосрочной работе определенного продукта.
3. Разработчики
Тут все достаточно однозначно: разработчик — специалист, знающий один или несколько языков программирования, применяющий его для решения специфичных задач и создания некой иной ценности, программного продукта.
Можно выделить, например:
1. По реализуемой части проекта:
- frontend-разработчик — создает привлекательную «оболочку»: меню, кнопки, формы. Все с чем взаимодействует конечный пользователь;
- backend-разработчик — «строит» сайт. Он создает процессы со стороны сервера, благодаря которым приложение/страница выполняет свои прямые функции;
- fullstack-разработчик — сочетает функции бэкенда и фронтенда для контроля процессов, поиска неисправностей. Он владеет полными знаниями обеих профессий.
2. По сфере деятельности:
- DWH-developer — разработчик SQL, который занимается построением, оптимизацией и сопровождением Хранилища Данных.
- 1С-разработчик — как ни странно, разработчик 1С, разрабатывающий и настраивающий прикладные решения на платформе 1С:Предприятие.
- Разработчик игр — создание, продвижение игр. Чаще всего специализируются на конкретных платформах или жанрах игр.
- Мобильный разработчик — программист, который пишет приложения для мобильных устройств. К ним относятся не только смартфоны и планшеты, но и умные часы, фитнес-трекеры, электронные читалки, GPS-навигаторы и проч.
Используемые ЯП (наиболее популярные): под iOS это Objective-C и Swift, а под Android — Java и Kotlin. JavaScript выделяется как кроссплатформенный, что и плюс, и минус. Подробнее, например, тут.
Разработчиков достаточно много — берете, скажем, связку любого языка программирования и слова «разработчик»: вот вам и вакансия на HeadHunter.

4. Аналитики
Перехожу к более интересной для себя теме (все же я бизнес‑аналитик. Но это неточно, так как в сфере консалтинга, по словам моего куратора, мы универсальные солдаты. Можем и в бизнес-, и в системную аналитику поиграть).

4.1 Бизнес-аналитик
Бизнес-аналитик — сотрудник, разбирающийся в некотором направлении развития компании настолько, чтобы суметь выяснить основные требования, пожелания бизнеса. При этом важно не столько записывать все, что перечисляет заказчик, но и вникать в суть: действительно ли это то, что нужно в данной ситуации? Может, стоит чуть больше погрузиться и вместе выяснить, какой решение окажется удачнее/выгоднее/быстрее?
Вторым этапом идет формулирование технического задания для команды разработки, контроль за его выполнением и.. составление отчетности. ��тчет о ходе реализации, об оценке достижения целей то, что всегда нужно составлять.
Цель — повышение эффективности деятельности бизнеса.
Требования:
BPMN, UML, JIRA, Битрикс24, Excel и его продвинутые собратья (Power Query, Power BI), знание сферы деятельности компании.
4.2 Системный аналитик
Системный аналитик чуть ближе к команде разработки, чем бизнес-аналитик, так как на его уровне идет тщательная техническая проработка ТЗ: понять и обойти возможные риски при разработке, определить требования к программному обеспечению, провести декомпозицию задачи при необходимости.
Цель — оптимизация работы системы.
Требования:
BPMN, UML, user story, use cases, XML, JSON, понимание цикла разработки и методологии проектирования.
4.3 Data Analyst
Аналитик данных как оно есть. С привязкой к конкретной предметной области по заданным требованиям собирает и обрабатывает данные, проводит первичный анализ и выдвигает свои гипотезы, основанные на нем. При необходимости полученные выводы передает профильным специалистам, которые в них заинтересованы.
SQL, Python/R, Power BI, A/B tests, математическая статистика, иногда требуется понимание основных концепций ML.
Могут быть выделены некоторые ответвления от Data-аналитика, например:
- Продуктовый аналитик — специалист данного профиля отслеживает состояние продукта и совершенствует его.
Проводит всеобъемлющий разбор данных, преследуя цель выявить в них причинно-следственные связи, прямо или косвенно связанные с этим продуктом, и объяснить их, чтобы в результате выбрать лучшую траекторию развития продукта.
Требования:
SQL, Python/R, Power BI, A/B tests, математическая статистика.
- BI-аналитик (Business Intelligence аналитик) обеспечивает сбор, хранение и анализ данных, которые генерируются в результате деятельности компании. На этой базе формулирует и проверяет гипотезы, визуализирует результаты, автоматизирует отчетность, помогая бизнесу ускорить свою работу и видеть слабые места.
- Data-scientist — исходя из того, что я прочитал и услышал на различных лекциях, такого человека можно считать как высококлассным Data-аналитиком, так и современным специалистом по математической статистике и теории вероятностей. Почему?
Специфика работы предполагает как умение разбираться в данных, находить закономерности, отмечать ключевые метрики, так и строить определенные модели, обобщающие эти взаимосвязи, помогающие оценить по имеющимся данным возможное дальнейшее развитие событий. Но, поскольку все модели как классические (вроде линейной и логистической регрессии, деревьев решений, методов опорных векторов), так и «современные» (нейронные сети, скажем) всецело основаны на статистических выкладках и вычислительных мощностях, явно прослеживается сильная статистическая подготовка.
Требования:
Python/R/C++, ML, DL, Hadoop, Spark, SQL, Git.
- Web-аналитик собирает и анализирует всю информацию о поведении пользователей на сайте (например, время активного просмотра страницы, воронку продаж по сайту (сколько зашло на сайт, сколько выбрало определенный продукт, сколько оплатило...). Отслеживае��, насколько хорошо была проведена работа на сайте как SEO- и SMM-специалиста, так и остальных участников процесса;
P.S. SEO-специалист занимается оптимизацией и продвижением сайтов в поисковых системах, а SMM-специалист занимается продвижением и ведением профиля в социальных сетях.
5. Архитекторы
Общие моменты
Архитекторы — выходцы из S-level своих сфер. С годами опыта (наработанная экспертиза, способность управлять командой, высокий уровень абстракции и понимание взаимодействия между собой различных технологий или частей продукта) и соответствующими амбициями разработчик, аналитик или администратор могут перейти от выполнения задач в определенных рамках к построению этих рамок.
5.1 Data Architect
Архитектор данных — специалист, который занимается проектированием и разработкой информационных систем. Он задает ее каркас, определяет что, где и как будет храниться, отвечает за то, чтобы система была эффективной, надёжной и соответствовала требованиям заказчика.
Требования:
SQL, OLTP&OLAP, моделирование и проектирование хранилищ данных, ETL, DataLake.
5.2 Enterprise Architect
Корпоративный архитектор отвечает за общее проектирование и успешное внедрение технологической инфраструктуры организации. Его работа заключается в анализе текущего состояния технологий, процессов и сервисов компании для определения областей, требующих улучшения, и создания плана дальнейшего развития.
То есть, например, необходимо собрать запросы различных отделов компании по поводу необходимых приложений, страниц сайта, систем авторассылки и проч., а затем понять, как лучше всего это добавить в текущую инфраструктуру. После этого в дело вступит архитектор решений с конкретными способами и средствами реализации.
С другой стороны, и на Хабре, и на некоторых зарубежных источниках предлагают не ограничиваться ИТ сферой при разговоре о корпоративном архитекторе, например тык.
Также, как часть Enterprise Architect, выделяют Business Architect.
5.3 Solution Architect
Сперва определимся с тем, что есть решение. Решением можно считать комплекс продуктов, которые закрывают возникшую у заказчика потребность.
Тогда архитектор решений — подбирают ИТ-продукты и сервисы, которые решают некую бизнес-задачу с учетом функциональных требований, стоимости, безопасности, временных ресурсов и других факторов.
В целом, исходя из описания профессии у Microsoft, можно даже назвать архитектора решений эдаким "техническим бизнес аналитиком" - работает с клиентами и отвечает за общие технические отношения и стратегию между заказчиком и организацией. Они руководят сессиями по архитектурному проектированию, разрабатывают обоснованные концепции/пилотные проекты.
5.4 Software Architect
Архитектор программного обеспечения — специалист, который выбирает средства разработки, фреймворки и библиотеки, управляет базой знаний в своей выделенной области, задает стандарты написания кода и проч.
Вероятно, эта роль может не выделяться отдельно, а быть частью обязанностей техлида, буду благодарен уточнениям в комментариях, а также живыми примерами того, чем занимается данный специалист. Пока же могу сказать, что он продолжает работу предыдущих архитекторов, в частности архитектора решений, на прикладном уровне - решает, как лучше реализовать тот блок взаимосвязанных продуктов, который был избран.
6. Иные специалисты
В три ранее рассмотренные группы не вместились все должности, а ведь некоторые из них весьма любопытны и заслуживают рассмотрения.
6.1 Инфобез-специалист
Специалист по информационной безопасности занимается внедрением механизмов, помогающих предотвратить утечку данных еще на этапе анализа кода, поиска ошибок и их исправления. В том числе обеспечивает доступ к информации ее владельцам или лицам, имеющим на то право.
Обеспечение доступа к данным может быть реализовано (и, пожалуй, должно) через виртуальные частные сети (VPN). Превентивные меры утечки данных — проведение консультаций как общих для всех сотрудников (т.н. вводный инструктаж при приеме на работу), так и специфичных, если сотрудник должен периодически работать за пределами компании или данные, которые он использует, особенно ценны.
6.2 Системный администратор

Сисадмин — работник, должностные обязанности которого подразумевают обеспечение штатной работы парка программного обеспечения. Занимается, например, установкой и конфигурацией программного и аппаратного обеспечения, заведением и актуализацией учетных записей, порой и информационной безопасностью.
Основные обязанности системного администратора:
настройки оборудования – компьютеров, оргтехники;
работа с программным обеспечением – установка, наладка, обслуживание;
мониторинг и настройки сервера;
обеспечение сотрудников сетевым оборудованием, настройка сети;
защита данных компьютерных сетей, резервное копирование;
составление заявок на приобретение и ремонт технического оборудования;
работа с учётными записями сотрудников;
поиск системных сбоев и их устранение.
Стоит отметить, что, с учетом специализаций в рамках одной глобальной профессии "системный администратор", многие пункты, перечисленные выше, можно полнее раскрыть, ибо есть и сетевые администраторы, и администраторы баз данных и так далее.
6.3 Тестировщик

Тестировщик проверяет на работоспособность продукт, выданный ему после разработки. Предпочтение отдается автоматизации и полноте тестирования (а что будет, если с HTC Desire клиент решит перейти в личный кабинет по ссылке из Google?), использованию в том числе нагрузочного тестирования (справится ли приложение или сайт с одновременными действиями многих пользователей?).
Обнаруженные ошибки передает на доработку, после чего цикл повторяется. Для того и нужна автоматизация, которая достигается при применении методологии Dev&Ops.
6.4 Data Engineer
Инженер данных, специалист, который занимается построением (то есть настраиванием перегрузки данных из исто��ников) и обслуживанием инфраструктуры для работы с данными, а также их предварительной обработкой.

Если архитектор моделирует, то инженер создает. Data Scientist же пожинает плоды трудов — пользуется готовыми данными.
Требования:
Python, SQL, T-SQL, оптимизация, ETL, AirFlow, Spark
6.5 DevOps-инженер

Development & operations инженер — специалист, который занимается автоматизацией процессов разработки, тестирования и развертывания, непрерывным улучшением инструментов и техпроцессов.
Профессия стала актуальна с приходом веб-сервисов и необходимостью частого и быстрого обновления программного обеспечения, а это трудно делать при поэтапном подходе (разработка — тестирование — релиз), потому этот специалист объединяет все эти процессы, а также управляет версионностью продукта.
6.6 Дизайнер UX/UI
Основная задача дизайнера заключается в создании визуально интересного интерфейса и обеспечении отличного пользовательского опыта.
UX (User Experience, «пользовательский опыт») — то, каким образом пользователь взаимодействует с интерфейсом и насколько сайт или приложение для него удобны. В UX входит навигация по сайту, функционал меню и результат взаимодействия со страницами, а также диалоговые окна, функционал кнопок, настройки поиска и форм.
UI (User Interface, «пользовательский интерфейс») — оформление сайта: сочетания цветов, шрифты, иконки и кнопки.

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

6. Эпилог
Вроде по структуре он просится, а вроде какое тут заключение, если разбросаны «определения» и требования к навыкам? Но ладно, допустим так:
В зависимости от размера компании, сложности внутренней структуры и щепетильности организации процессов очень многие теоретически различные роли могут быть объединены в одном сотруднике. Так что, пожалуй, все вышеописанное остается лишь теоретическими выкладками и в ближайшее время не станет корректным ориентиром.
Вероятно, когда все эти профессии станут обыденными, старыми, всем понятными, будет и единое понимание обязанностей, которые они с собой несут, однако…
Когда еще это будет?

