Системный аналитик: все о профессии, уровне зарплат и компетенциях в 2024 году

Читать в полной версии →

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

Чем занимается системный аналитик

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

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

На системном аналитике лежит большая ответственность. Именно он первым должен понять, как будет работать ПО и какие задачи решать. Также аналитики изучают рынок и конкурентов, находят информацию из сторонних источников, а затем формируют документацию для проекта.

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

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

Свои соображения он оформляет в виде технического задания. Обычно это текст и графика: блок-схемы, диаграммы, а иногда даже прототипы страниц.

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

Сколько зарабатывают системные аналитики

На сентябрь 2024 года на hh.ru опубликовали 5237 вакансий системных аналитиков в IT. Их ищут компании из сферы финтеха, промышленности, госсектора и т.д.

Согласно данным «Хабр.Карьере» за первую половину 2024 года, зарплаты системных аналитиков составляют:

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

Системный или бизнес-аналитик?

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

Бизнес-аналитик работает над анализом и улучшением бизнес-процессов. Он в целом может не иметь никакого отношения к IT. Его экспертиза выстроена вокруг специфики деятельности компании.

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

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

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

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

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

Фактически, плод труда бизнес-аналитика — процессы компании. А у системного аналитика — качественно спроектированные функции IT-системы.

Как работают системные аналитики

В работе над проектом у них есть несколько стадий.

Сбор пожеланий

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

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

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

Получение требований

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

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

Разработка системных требований

Здесь необходимо понимание архитектуры системы и технических процессов разработки. Нужно детализировать функциональные требования и продумать архитектуру приложения.

Системный аналитик решает, как будут взаимодействовать основные компоненты системы: фронтенд, бэкенд и база данных.

Также он выбирает подходящие технологии для реализации проекта. Например, для создания интерфейса (фронтенда) могут выбирать среди современных фреймворков — React или Vue.js, для серверной части (бэкенда) – подходящие технологии, такие как Node.js с быстрой производительностью или Java — для максимальной надежности, находят наиболее подходящие базы данных и СУБД.

Аналитик также разрабатывает требования к REST API, определяя необходимые эндпоинты, методы HTTP, форматы запросов и ответов. На основе собранных данных составляют техническое задание, подробно описывающее все аспекты системы.

Обсуждение ТЗ

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

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

Постановка задач

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

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

Итоговая проверка

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

Основные компетенции системного аналитика

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

Основные технические знания для системного аналитика

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

SQL

SQL (Structured Query Language) — язык запросов к базам данных и один из ключевых инструментов системного аналитика. Владение SQL нужно для взаимодействия с базами данных, извлечения данных и их анализа.

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

Базы данных и СУБД

Базы данных — основа любой информационной системы, поэтому он должен разбираться в основных типах баз данных и системах управления (СУБД).

Существует два основных вида баз данных: реляционные и нереляционные. Реляционные базы данных, такие как MySQL и PostgreSQL, основаны на табличной структуре и позволяют хранить данные в виде связанных таблиц. Нереляционные базы данных, такие как MongoDB, работают с данными в виде документов, графов или ключ-значение.

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

Основы UX/UI

Системному аналитику необходимо понимание основ UX/UI (User Experience и User Interface) для проектирования удобных и функциональных интерфейсов. Не будет лишним и владение инструментами прототипирования, например, Balsamiq. С их помощью создают простые прототипы интерфейсов, которые используют для предварительного обсуждения с заказчиками и командой разработки.

Стандартом оценки интерфейсов считают семь критериев качества: интуитивность, удобство использования, адаптивность, скорость отклика, визуальная привлекательность, доступность и надежность.

Системный аналитик должен уметь внедрять эти правила в разработке и оценивать продукт по ним.

Инструменты описания API

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

Ему необходимо изучить методы работы протоколов HTTP, REST и SOAP которые обеспечивают механизмы взаимодействия с API. Также системный аналитик должен иметь представление о форматах обмена данными XML и JSON. Это необходимо для корректной интеграции различных систем.

Ему нужно понимать структуру протоколов и форматов, чтобы корректно описывать требования к API.

Гибкие методологии

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

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

Общие навыки для системного аналитика

Здесь речь пойдет о практических навыках, на которых строится работа.

Опросы и анкетирование

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

На практике системный аналитик работает с анкетами и опросами, анализирует и систематизирует результаты.

Нормативы и стандарты

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

Не менее важно уметь анализировать и принимать внутренние регламенты компании.

Декомпозиция задач

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

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

Конкурентный анализ

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

Написание документации

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

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

Оценка качества

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

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