Всем привет! Меня зовут Филипп Сенцов. Я системный архитектор в «Альфа-Банке», а также преподаватель и автор на курсе «Системный аналитик» в Яндекс Практикуме.
IT-специалисту для работы и карьерного роста полезно иметь под рукой проверенные источники и время от времени к ним обращаться. Надеюсь, мой список поможет начинающим и более опытным системным аналитикам изучить что-то новое или актуализировать свои знания.
Теоретические основы
-
Книга «Требования для программного обеспечения: рекомендации по сбору и документированию», автор: Илья Корнипаев
По большому счёту, это выжимка основных моментов книги Вигерса «Разработка требований к программному обеспечению», которую считают практически библией системного аналитика. Но новичкам я бы рекомендовал читать именно Корнипаева. Так сказать, сначала попробовать водичку, а потом уже окунаться с головой.
-
Бесплатный курс «Постановка задачи на разработку ПО»
Системные и бизнес-аналитики с помощью курса научатся выявлять требования и управлять ими.
Может показаться, что в начале много воды, но со 2-го раздела видео максимально полезные. Проверено на личном опыте.
-
База знаний школы Systems Education
Большая база ссылок на статьи по различным темам: от работы с требованиями до протокола WebSocket.
Архитектура систем
-
Сайт Enterprise Integration Patterns
Сайт одноимённой книги, на котором всю информацию собирают её авторы. Для меня это один из лучших ресурсов с кратким описанием архитектурных паттернов для проектирования интеграции. Интерфейс на английском, но написано понятно и легко переводится.
-
Книга «Высоконагруженные приложения. Программирование, масштабирование, поддержка», автор: Мартин Клеппман
Для меня это настольная книга, которая когда-то помогла расширить кругозор по проектированию систем. Рекомендую её читать системным аналитикам уровня middle и выше.
-
Книга «Базы данных. Проектирование, реализация и сопровождение. Теория и практика», авторы: Томас Коннолли и Каролин Бегг
Ещё одна отличная книга по проектированию систем хранения данных. Основной упор в ней сделан на реляционных СУБД, но авторы пишут и про альтернативные типы баз данных.
-
Статья «26 основных паттернов микросервисной разработки»
Неплохой обзор основных паттернов организации работы с микросервисами для системных аналитиков уровня middle и выше. Автор рассматривает не только организацию работы микросервисов, но и принципы миграции монолита на них.
Инструментарий
-
На мой взгляд, лучший инструмент работы с диаграммами в нотации UML. Часто вижу и слышу, что некоторые системные аналитики рисуют UML Sequence, State Machine, Activity вручную. Мне кажется, это неудобно и отнимает много времени. В PlantUML можно описать диаграмму текстом и автоматически её сгенерировать.
Плюсы:
— Быстрые правки: переписать строку кода занимает меньше времени, чем перерисовать несколько сущностей.
— Возможность хранить исходный код диаграммы в системах версионирования (BitBucket, Git и т. д.).
— Автоматическое обновление диаграмм. Например, вы через плагин указали ссылку на файл с диаграммой на нескольких страницах в Confluence. При изменении диаграммы на одной странице она обновится везде, где используется.К слову, я приноровился использовать PlantUML и для работы с ER-диаграммами. Тоже очень удобно.
-
Популярный и комфортный инструмент для проектирования API, обладающий преимуществами по сравнению с условными табличками в Confluence.
Совет: используйте не веб-интерфейс Swagger Editor, а любой доступный плагин для десктоп-редактора исходного кода. Так вы сможете проектировать API без подключения к интернету и при необходимости залить свой контракт API сразу в Git-репозиторий вашей команды или компании.
Спецификация Open API лежит здесь.
Подготовка к собеседованию
-
Статья «Что нужно знать системному аналитику уровня Middle и Senior: план развития Hard Skills»
Алексей Чижов описал один из самых подробных чек-листов по знаниям системного аналитика уровня middle и senior.
А какие у вас must-have ресурсы по системному анализу? Пишите в комментарии.
astenix
Кто из аналитиков прочитал Коннолли дальше первой части?