Системный аналитик — одна из самых востребованных IT-профессий
В сфере IT я работаю более 20 лет. Сначала был программистом, затем тимлидом и техническим директором, сейчас также руковожу тремя командами разработки и парой бизнесов. В 2008 году у меня появилась веб-студия. Мы тогда делали сайты всем желающим и уже работали на удалёнке. Как и все начинающие веб-студии, мы успели наступить на максимальное количество разных граблей. Одними из таких граблей была работа без технического задания (ТЗ). Мы поняли, что для любого, даже очень маленького проекта, нужно чёткое и точное ТЗ.
Постепенно к нам пришло понимание, что ТЗ должно быть наглядным и максимально конкретным: лучше страницы сайта хотя бы ручкой на бумаге, чем описывать общими словами, что на них будет изображено. В 2010 на Хабре вышла статья «Техническое задание на сайт», в которой была изложена эта же мысль: наглядное ТЗ гораздо лучше текстового, и мы тогда ещё раз убедились, что всё делаем правильно. По таким ТЗ и нам было понятно, чего хочет заказчик, и заказчику было ясно, за что он в итоге заплатит.
Более того, точные и чёткие ТЗ в виде набора прототипов страниц сайтов позволяли нам точно оценивать трудозатраты сотрудников. В результате дизайнер знал, какие макеты ему нужно сделать, верстальщик понимал объём и сложность вёрстки, а программисту было ясно, сколько разделов будет в админке. Такая оценка позволяла точно рассчитывать, планировать и соблюдать сроки и бюджеты. Одним из слоганов нашей веб-студии стала фраза: «Всегда соблюдаем сроки».
Со временем у нас появились заказы на более сложные системы и мобильные приложения. Напомню читателям, что iPhone и Android-устройства появились как раз в 2007-2008 годах. Стало понятно, что для точной оценки трудозатрат не хватает ещё двух компонентов — понимания, сколько сущностей будет на сервере (сколько таблиц в базе данных), а также сколько будет эндпоинтов в API — «точек» на сервере, к которым будет обращаться мобильное приложение (или frontend). Эти компоненты мы также стали проектировать в рамках ТЗ, но уже, конечно, не для показа заказчику.
Те, кто пишет технические задания, называются системными аналитиками. Это отдельная профессия, ставшая особенно популярной в последние несколько лет (данные Google Trends). Раньше о ней говорили мало, но современные команды разработки поняли, что сбор, анализ и формализация требований к программному обеспечению, разработка технических заданий и постановка отдельных задач разработчикам — это важная составляющая работы, которую лучше делегировать отдельным специалистам.
Спрос на системных аналитиков и их зарплаты
По данным портала HeadHunter на момент написания этой статьи активно почти 5500 вакансий системных аналитиков. Это больше, чем, к примеру, разработчиков Java (4706) и frontend (3891), и примерно столько же, сколько вакансий разработчиков Python (5926). Перейдите по ссылкам и убедитесь, что это не фейк :)
Кроме того, как владелец компании, которая занимается подбором IT-специалистов, я работаю со множеством клиентом, которым постоянно требуются системные аналитики.
В связи с постоянным ростом спроса зарплаты системных аналитиков также растут:
- Начинающие системные аналитики без опыта устраиваются на работу с зарплатой в среднем от 45 000 до 90 000 рублей в месяц.
- Аналитики уровня middle с опытом от 1,5 до 4 лет уже получают от 120 000 до 200 000 р. в месяц.
- А senior-аналитики, проработавшие в профессии более 4-х лет, зарабатывают до 450 000 р.
Хотя и это не предел: недавно мне попалась вакансия лида системных аналитиков с зарплатой в 560 000 р. в месяц (пример похожей вакансии).
Чем занимаются системные аналитики
Выше уже было сказано, что системные аналитики пишут ТЗ — собирают и анализируют требования, а также ставят задачи разработчикам. После этого им обычно поручают приёмочное тестирование — они убеждаются в том, что разработчики создали именно то, что у них просили. А что конкретно входит в эту работу? Давайте разберём по трем основным пунктам:
- Проектирование и создание прототипов интерфейсов. Им занимаются системные аналитики, которые проектируют веб- и мобильные приложения. В случае веб-приложений (сайтов, разных онлайн-систем) системные аналитики проектируют прототипы веб-страниц. В случае мобильных приложений они проектируют внешний вид их экранов. Вот пример прототипа главной страницы некого интернет-магазина:
- Проектирование структуры базы данных. Данные на сервере той или иной системы обычно структурированы и хранятся в специальных базах. Обычно это реляционные базы данных — базы, в которых данные хранятся в формате таблиц. К примеру, у нас есть новостной сайт, и в этом случае на сайте будет сущность «новость». Логично в базе данных создать таблицу «Новости» со столбцами (в терминах баз данных — полями), в которых будут храниться свойства новостей — их названия, даты и время, полные тексты, тэги и другие свойства. Структуры баз данных могут быть довольно сложными, но научиться их проектировать — дело техники.
- Проектирование API. Практически любое современное программное обеспечение, будь то сайт или мобильное приложение, обращается к серверу через Интернет. Такое взаимодействие с сервером называется клиент-серверным, и происходит оно через специальный интерфейс передачи данных на сервере, который называется API. API обычно состоят из адресов, к которым приходят запросы с клиентов (от мобильных приложений или веб-страниц), а также форматов этих запросов и форматов ответов, которые отправляет сервер обратно.
Это три основных обязанности и навыка системных аналитиков. Есть ещё и несколько дополнительных, которые могут применяться в работе и которые часто выполняются совместно с другими коллегами:
- Проектирование архитектуры верхнего уровня. Системные аналитики часто рисуют схемы того, как системы должны быть разделены на части и как эти части должны взаимодействовать друг с другом. Но на низкий уровень — уровень программного кода, системные аналитики никогда не опускаются. Проектировать архитектуру они могут и совместно с системными архитекторами или с ведущими разработчиками (техлидами).
- Проектирование логики и процессов. Системные аналитики также часто проектируют и описывают логику работы тех или иных систем. Это делается в виде специальных диаграмм, а не в виде текстов. Проектирование процессов в крупных компаниях происходит также совместно с бизнес-аналитиками.
- Содействие в выборе технологий и специалистов. Системные аналитики иногда участвуют в выборе языков программирования, фреймворков и конкретных специалистов, которые должны быть в команде разработки. Но обычно они это делают совместно с ведущими разработчиками (техлидами).
- Управление проектами. Системным аналитикам иногда поручают не только постановку задач и контроль их выполнения, но и расчёт сроков и контроль их соблюдения. Зачастую они делают это совместно с менеджерами проектов.
Курс по системному анализу
В 2022 году я записал курс «Технические основы продуктового менеджмента» для МФТИ. Часть этого курса была посвящена проектированию современного программного обеспечения и системной аналитике.
Весной 2023-го мне потребовалось сразу 5 системных аналитиков в новые проекты, и я решил взять пятерых выпускников этого курса к себе на работу. Уже к осени они запустили свои продукты! В тот момент мне в голову пришла мысль записать полноценный курс по системному анализу, который дал бы мне возможность регулярно получать новых специалистов по системному анализу для моей команды.
Я провёл исследование существующих на рынке курсов и увидел, что в каждом из них не хватает тех или иных важных для системного анализа знаний и навыков. В итоге я записал собственный курс, в котором собрал всё необходимое и постарался не давать ничего лишнего — https://system-analyst.pro/
Сразу скажу, что у меня достаточно большой опыт записи курсов — за почти 10 лет я записал 40+ курсов в Skillbox, МФТИ, ВШЭ, РАНХиГС, АИС, ИнноТех, Lerna, GeekBrains, SkillFactory, Яндекс.Практикуме и нескольких более мелких образовательных организациях. В частности, мой основной курс в Skillbox по Java дал миру тысячи Java-разработчиков, которые после успешного прохождения курса находили работу менее, чем за 1-2 месяца.
Курс состоит из 14 модулей, в каждом из которых от 5 до 10 видео длиной 5-25 минут. После каждого модуля есть большой тест для самостоятельного прохождения, различные дополнительные материалы, а также практическое задание, которое нужно сдавать куратору. Важно, что кураторы курса — действующие системные аналитики.
Также в курсе предусмотрены два крупных проекта — сквозной, который я частично делаю в видео, а частично нужно делать в качестве домашних заданий, и итоговый, который нужно сделать целиком в конце. Оба проекта обязательно проверяются кураторами, которые дают учащимся обратную связь и помогают разобраться в сложных темах.
Сквозной проект — это разработка полноценного технического задания на систему курьерской доставки. Он состоит из сайта и мобильных приложений с личными кабинетами как для заказчиков доставки, так и для курьеров.
Итоговый проект подразумевает разработку технического задания на медицинскую систему для частных клиник. Он содержит веб-сервис и мобильные приложения для врачей и пациентов.
Проекты позволяют учащимся пройти весь процесс проектирования продукта от идеи до полноценного технического задания, которое можно смело отдавать программистам и получать готовый продукт. По итогу курса эти проекты можно добавлять в свои резюме и демонстрировать потенциальным работодателям.
Курс можно проходить в любом удобном режиме — вы смотрите видео тогда, когда у вас есть на это время и возможности, а затем в свободное время выполняете домашние задания. Рекомендуется проходить по одному модулю в неделю — это примерно 1,5-2 часа видео и 4-5 часов практической работы. Даже если вы работаете или учитесь, выделять полчаса в день или несколько часов в выходные — вполне реально.
При такой интенсивности пройти курс можно всего за 4 месяца: первые три месяца — это модули и домашние задания, а последний месяц — итоговый проект. А устроиться на работу после курса можно на зарплату от 60 000 до 90 000 рублей в месяц.
Подойдёт ли курс тем, кто «с нуля»
Курс рассчитан на тех, кто никогда не работал в сфере IT, но хочет начать это делать. Для начала обучения важно лишь, чтобы вы были активным пользователем смартфона, компьютера и Интернета. Если вы умеете подключиться к новому Wi-Fi, установить и удалить приложение на своём телефоне, пользуетесь браузером, мессенджерами и электронной почтой, курс вам подойдёт.
Многих также интересует, можно ли устроиться на работу сразу после прохождения этого курса. Если вы прошли курс целиком, то да.
Во-вторых, как я уже говорил ранее, выпускников своего предыдущего курса я сам взял и продолжаю брать на работу в свои проекты. Разумеется, выпускникам нового более полного курса мы будем оказывать содействие в трудоустройстве — брать их дальше в свои проекты, помогать составлять резюме и давать полезные рекомендации.
Если вас заинтересовал наш курс, вы хотите стать системным аналитиком с нуля или повысить свой профессиональный уровень, научиться проектировать современное ПО и писать грамотные ТЗ, оставьте заявку на нашем сайте — https://system-analyst.pro/, или сразу напишите нам в поддержку — https://t.me/SystemAnalystPro Читателям этой статьи мы подарим промо-код на скидку, для этого достаточно написать фразу «со статьи на vc.ru».
То есть вы хотите сказать, что можно пройти курс и без какого- либо вывшего образование стать системным аналитиком?
Да, высшее образование для этого не обязательно. Если оно есть, это хорошо. Но если нет, это не препятствие