Solutions architect, который не пишет код
В данной статье рассматривается профстандарт архитектора ПО (06.003).
Ссылки на первоисточники:
Добрый день, уважаемые коллеги!
Данной статьей я преследую цель ознакомить аудиторию с профстандартом архитектора программного обеспечения, чтобы дискуссии/диалоги велись с единым пониманием терминов, а также для расширения общего кругозора тех экспертов, кому это необходимо.
Считаю, что ознакомление с данным стандартом будет полезно как тем, кто уже не первый год работает как архитектор, так и тем, кто только планирует стать на этот увлекательный путь!
В стандарте достаточно однозначно приведены обязанности, требуемое образование, и необходимый опыт (Про образование подготовлю отдельную статью, о которой сообщу отдельно).
Буду благодарен за дискуссию по данной теме, жду ваших комментариев!
«Не нужно выдумывать велосипед»
В который раз возвращаюсь к старой теме, что архитектор не пишет код. А тот, который пишет, скорее является лидером команды (team lead), который совмещает в себе сразу несколько обязанностей, имеет не самую большую команду, или в команде отсутствует разграничение ответственности, и такой архитектор морально не готов/не хочет перейти на следующий уровень абстракций.
На этот раз хочу рассмотреть этот вопрос с точки зрения профстандарта архитектора программного обеспечения, и провести аналогию с профстандартом разработчика (06.001) и другими источниками. В частности, пример из Linkedin по запросу «Solutions architect».
На мой взгляд эти аргументы железные.
Стандарт архитектора ПО утвержден 30.08.2021 и действует с 1 марта 2022 года до 2028 года.
Т.е. фактически это молодой стандарт, и как таковой специальности до этого не существовало, а полномочия таких экспертов были размазаны по другим специальностям.
Сейчас в ВУЗах преподают дисциплины, в названии которых присутствует термин «архитектура». Например, «архитектура вычислительных систем» — про микропроцессоры, или «Проектирование программного обеспечения» — про подготовку компонентных диаграмм программных/автоматизированных систем, и др. Таким образом сразу открывая горизонты перед молодым поколением.
«Руководитель среднего звена»
Вернусь к стандарту. Сразу хочется обратить внимание, что цель деятельности архитектора, заявленная в профстандарте — это проектирование, мониторинг и контроль. Проведу параллель по моим наблюдениям в Linkedin — как правило, Solutions architect относится к руководителю среднего звена.
Аналогично и в профстандарте: деятельность относится либо к группе занятий руководителя службы или подразделения, или все-таки к разработчикам, но с оговоркой, что если не удалось отнести их к другой группе.
Т.е. можно сделать вывод, что архитектор — это не специалист, закончивший институт, и который без сомнения много умеет (но пока что недостаточно), а эксперт, имеющий за плечами опыт работы с крупными системами или ИТ-ландшафтами. Крупными, потому что некрупным архитектор не нужен.
Далее в стандарте представлены обобщенные трудовые функции:
Управление архитектурой изолированной (неинтегрированной) программной системы;
Управление архитектурой интегрированного программного обеспечения;
Управление архитектурой единой информационной среды.
Т.е. фактически в стандарте приведена классификация систем, что системы бывают монолитные, или интегрированные, или очень сильно интегрированные.
И далее трудовые функции сгруппированы по роли/масштабу/опыту архитектора:
И каждая из этих ролей явно сопоставлена с обобщенной трудовой функцией (указал их чуть выше) — т.е. Архитектор работает с изолированной системой, Ведущий архитектор — с интегрированной системой, а Главный архитектор — с единой информационной средой.
Конечно же в стандарте также приведены рекомендации по образованию архитекторов. Для всех уровней архитектуры приведена рекомендация по повышению квалификации по моделированию систем. Об этом я напишу отдельно, чтобы сейчас не увеличивать время на чтение. Обещаю, это будет увлекательно!
«Что я должен делать»
Дальше я не буду перечислять все трудовые функции архитектора, заявленные в стандарте. Надеюсь, что вы самостоятельно ознакомитесь с ними. Со своей стороны я только сгруппирую основные функции архитектора и положу глаголы функций в облако тегов:
Выявление и согласование требований … с точки зрения архитектуры;
Выбор и моделирование…;
Разработка разделов …;
Контроль реализации и испытаний … с точки зрения архитектуры;
Сопровождение эксплуатации … с точки зрения архитектуры;
Создание и согласование требований … с точки зрения архитектуры.
Стандарт достаточно подробно описывает каждую трудовую функцию, а именно:
Какие трудовые действия трудовая функция включает;
Умения, необходимые для выполнения трудовой функции;
Знания, необходимые для выполнения трудовой функции;
А также другие характеристики.
«Что я не должен делать»
А теперь давайте посмотрим на обобщенные трудовые функции из профстандарта разработчика программного обеспечения (06.001 https://classinform.ru/profstandarty/06.001-programmist.html):
Разработка и отладка программного кода;
Проверка работоспособности и рефакторинг кода программного обеспечения;
Интеграция программных модулей и компонентов и проверка работоспособности выпусков программного продукта;
Разработка требований и проектирование программного обеспечения
Вот вам и разница!
«Доброе слово рабочей группе»
По моему мнению, эксперты, которые готовили данный стандарт, довольно четко и ясно очертили круг задач архитектора. И если на рынке труда встречаются комбинированные варианты архитектора-разработчика-аналитика (без сомнения, архитектор должен быть знаком на собственном опыте с такими задачами) — то это скорее либо специфика отдельного предприятия, либо попытка подмены понятия, либо экономия бюджета, либо другие возможные варианты. Это поиск универсального солдата.
Хотелось бы в качестве заключения озвучить, что сам я минимум раз в год погружаюсь в лабораторную среду, рассматриваю языки, на которых ранее не писал, или начинаю разворачивать ПО, с которым раньше не работал. И даже иногда подумываю, почему бы по новой для меня исследуемой технологии не поработать месяца три так называемым Джуниором. Периодически ностальгирую по коду!
Но потом откуда-то появляется много новой работы по прямому назначению, так что большое спасибо за ознакомление со статьей, откланиваюсь и ухожу проектировать крупные системы!
До новых встреч, уважаемые коллеги! Жду ваших комментариев!