enterprise architect кто это такой
Олимп айтишников: туториал по профессии IT-архитектор
Вот работаешь ты в IT как молодец. Проходишь, как все смертные, уровни джуниор, мидл, сеньор. Но есть ещё Олимп. Ореол загадочности и элиты вокруг этой профессии не даёт покоя амбициям юных разработчиков. Кто такой IT-архитектор и как им стать читай ниже.
Кто такой IT-архитектор
это тот, кто проектирует модули (функциональные части) приложения или сайта и способы их взаимодействия.
это главный герой при создании сложных IT-решений. Он не только решает что делать, но и контролирует как. Архитектор обеспечивает гибкость решений и следит за рисками, сокращает time to market как может.
Когда нужен
Главная задача IT-архитектора — найти оптимальное решение, по потребностям заказчика и возможностям команды.
«Впихнуть решение в бюджет и заложить прогноз на развитие
— вот основные задачи архитектора».
В основном, он приходит когда надо:
разработать ПО или систему;
определить архитектуру и эволюцию проекта;
выбрать технологию для каждого элемента системы (монолит или микросервисы, коробочное или комбинированное решение);
провести ревью бизнес-требований;
помочь выбрать фреймворк;
определить стандарты кодирования, создать каталог паттернов/антипаттернов для проекта;
указать риски проекта;
разобраться в документах проекта;
Какие бывают архитекторы (типы и виды)
По типам: функциональный и технический.
Но на практике это 2 в 1.
Enterprise архитектор (отвечает на вопрос «что делать?»)
Решает стратегические проблемы – анализирует ключевые требования, потоки данных, пишет конституцию проекта. Разрабатывает архитектурные стандарты и требования.
Solution архитектор ( «а как делать?»)
Выбирает фреймворки, формулирует альтернативные варианты решений, обозначает риски, решает спорные ситуации. Тестирует производительность и безопасность. Он чётко представляет воплощение идеи в жизнь и доносит до команды. Держит команду разработки в рамках тз. Знает какие ресурсы требуются и как быстро поднять упавший сервис.
Архитекторы инфраструктуры («а чем и зачем делать?»)
Занимается серверным оборудованием (серверы приложений, поддержки), базами данных, архитектурой безопасности (авторизация, аутентификация), облачными сервисами.
Этот архитектор может делиться на:
Security architect — специалист по вопросам безопасности (закрытие доступов на уровне оборудования, шифрование каналов передачи данных и прикладная защита на уровне приложений, почта или корпоративные приложения).
Сетевой архитектор — сопровождает инфраструктуру передачи данных.
Архитектор облачных систем — указывает, какие ресурсы и в каком объёме брать из AWS, AZURE, Google, Yandex.
Data-архитекторы ( «а по полочкам кто разложит?»)
Собирает данные из многочисленных источников, знает как их систематизировать в озере данных, какие данные поместить в корпоративное хранилище и как их разместить, может достать нужные данные.
А как в жизни?
Где нужен такой архитектор
Этой профессии не учит ни один вуз. Фишка в том, что IT-архитекторы невероятно востребованы и без них не может работать крупный бизнес.
Хороший IT-архитектор постоянно учится и готов инвестировать в обучение время и деньги.
Откуда тогда они берутся
Так утверждают сами архитекторы © :
«Архитекторы берутся из проектировщиков и разработчиков по мере накопления опыта и расширения кругозора»;
«Из разработчиков. Если есть хороший разработчик, то он и дальше может углубляться в языки программирования, развиваться вглубь. Но если, ему в свое время, стало любопытно как рождается техническое задание, кто анализирует, кто принимает решение надо это или не надо делать, то это сигнал к тому, что специалист встал на стезю начинающего архитектора».
Топ-5 скиллов профессии
Рeople management
IT-архитектор собирает на проект специалистов разных направлений. Он ставит задачи конкретным специалистам, следит за качеством и сроками исполнения работ. В итоге он отвечает за то, чтобы проект выдерживал планируемую нагрузку и имел запас прочности для развития.
Time management
Long life learning
Постоянное обучение. IT включает в себя столько направлений, что быть экспертом в каждом из них нереально. Хороший IT-архитектор может разобраться в любой теме, даже в совершенно новой.
Strategist
Speaker
Что по деньгам
Хабр Карьера проанализировала больше 10 000 зарплат айтишников за второе полугодие 2020 года, и вот что получилось →.
habr.com
медианная зарплата в IT-индустрии сейчас 113 000 ₽.
разработчики в среднем получают 120 000 ₽.
среди разработчиков традиционно больше всех зарабатывают архитекторы ПО (200 000 ₽).
Вывод
Мы наслаждаемся навороченными приложениями без тормозов и зависаний, только благодаря IT-архитектору, который выполнил свою работу и подложил под него правильно разработанную ИТ-инфраструктуру.
На него нигде не учат, но он нужен всем. Это дает ему шикарные возможности для карьерного роста среди всех IT-специальностей. И да, в этой профессии можно расти бесконечно, ведь появляются новые технологии, проблемы, продукты.
memesmix.net
P.S. Если хочешь проникнуться IT-архитектурой и областью в целом, то приключения Нео из «Матрицы» наглядно иллюстрируют профессию.
Автор выражает благодарность за помощь в написании статьи настоящим IT-архитекторам:
Антон Прибора, IT-архитектор IBC Corporate Travel,
Максим Кириллов, руководитель отдела ИТ архитектуры и системного анализа МФК «МигКредит».
Архитектура и архитекторы
Относительно давно посетил семинар посвященный управлению архитектурой и ее контролю и все хотел описать полученные знания, так как информации было много, и большая ее часть была весьма полезна. Могу сказать, что представления мои об архитектуре сильно расширились, и тема оказалась более глубокой и широкой, нежели я себе ее представлял. Но это и хорошо, есть отправные точки, которые можно будет самостоятельно проработать в будущем. Итак, заканчивая с лирикой, хочу предоставить краткий конспект по архитектуре.
Бизнес архитектура, она же Enterprise, является представлением того, как эффективно воспроизвести цели бизнеса и стратегию путем создания, улучшения и объединения ключевых требований, принципов и моделей для успешного развития бизнеса и достижения поставленных целей. Определение взято из английской википедии. Архитекторы уровня Enterprise должны ориентироваться на бизнес потребности и проводить анализ потоков данных, т.е. покрывают два указанных пункта. Архитекторы уровня Solution занимаются технологическими аспектами проектов. Так же стоит упомянуть не обозначенных здесь Infrastructure Architect, людей, которые занимаются глобальным развитием и анализом технических возможностей по реализации проектов.
Отличия Enterprise Architect от Solution Architect
EA разрабатывает глобальный план работы приложения, взаимодействия его с другими приложениями. SA работает над конкретным ПО. При этом EA постоянно следит за тем, как именно развивается приложение и может вносить коррективы в концептуальные части приложение.
Например, в какой-то момент появляется потребность в новом приложении Х, которое использует данные, которые генерирует приложение А. В таком случае ЕА принимает решение о выделении части приложения А в отдельный сервис, который будет поставщиком данных для приложения Х. Таким образом может быть заметно сокращена работа по реализации нового приложения.
Из представленного примера легко прийти к заключению о том, что EA должен очень хорошо прорабатывать, анализировать и следить за тем, как работают все приложения вместе, иметь всю информацию в наглядном и структурированном виде, для того, чтобы можно было принимать описанные решения. Повторное использование сервисов и данных, помнить или знать специфику данных и сервисов, все это входит в ответственность EА.
На мой взгляд, SA должен быть практикующим программистом, так как требуется знать достаточно хорошо продукты и фреймворки с которыми предстоит работать, знать ограничения и сильные стороны технологий которые будут использованы. В свою очередь EA точно так же не оторван от мира технологий, так как надо знать концептуальные различия в общих технологиях, быть в курсе тенденций их развития. Так как принятые решения в глобальном плане развития ПО могут похоронить все последующие проекты, либо сделать их разработку долгой и трудной, если выбор будет не соответствовать технологической структуре бизнеса.
Уровни ответственности и влияния
На данной, схеме показаны зависимости и отношения между разными уровнями архитектурного планирования. Влияние их друг на друга. Комментировать не стоит, я думаю.
Про каждый элемент из списка можно погуглить отдельно, но в целом понятно, что они означают. Остается наверно выбрать наиболее удобный формат представления.
Работа архитекторов
Некоторые люди высказывались о том, как построен процесс принятия решений в их компаниях. Например, при утверждении плана на год обязательно участие архитекторов, которые стараются сделать анализ возможности реализации в необходимые сроки. Определяют какие проекты потребуют наибольшего вложения сил, какие могут стать потребителями только и не потребуют много ресурсов.
Определенных средств для разработки и контроля никто не называл. Так или иначе, используется компиляция средств из Visio, SharePoint, Wiki.
Для меня остаются открытыми вопросы того как оценивать тенденцию в росте данных, механизмы управления данными. Лучшие практики по миграции архитектур, как идет работа систем при модернизации. Много, много вопросов возникает практического характера, которые я постараюсь выяснить у практикующих людей, с которыми познакомился на семинаре. Если будет результат, то напишу дополнительно.
Из дополнительного материала можно порекомендовать TOGAF9 и блог Nick Malik.
Большой гайд по профессии архитектора решений (+список полезных ссылок)
Еще лет 10 лет назад роль архитектора решений (Solution Architect) на проектах выполняли сами разработчики. Теперь это отдельная профессия, довольно востребованная и активно обсуждаемая. Вместе с коллегами-архитекторами подробно разбираемся во всех деталях и рассказываем, как стать архитектором в EPAM.
Начнем с азов: что означает слово «решение» в контексте IT?
Это продукт или комплекс продуктов, который решает конкретную техническую или бизнес-задачу. Решение нужно бизнесу, чтобы увеличить прибыль: оно либо повышает доходы, либо снижает издержки — к примеру, автоматизирует бизнес-процессы и тем самым снижает расходы на оплату труда. Решение встраивается в архитектуру предприятия и связывается с другими ее компонентами. Большинство проектов EPAM направлены на создание решений: разработка от начала и до конца или отдельных компонентов.
Выходит, на каждом проекте по разработке нужен архитектор?
Алексей Кожемякин (Director, Technology Solutions, EPAM Belarus):
«Как только инженер задумался о нуждах бизнеса — он ступил на путь Solution Architect».
Почему раньше обходились и без архитекторов?
Роль архитектора решений на проектах играла вся команда целиком, несколько ее членов или один разработчик с высокой квалификацией. Он мог быть сразу и разработчиком, и проектным менеджером, а заодно и архитектором. Со временем (и опытом) пришло понимание, что создание архитектуры слишком важная и объемная задача, чтобы заниматься ей по остаточному принципу.
В отличие от разработчика, архитектор мыслит абстракциями более высокого уровня. Он размышляет не о взаимодействии классов, а о взаимодействии компонентов решения – приложений, веб-сервисов и так далее. Хотя, если требуется, он должен без проблем «провалиться» в детали кода. Кроме этого, бизнес-сторона решения для архитектора важна так же, как и техническая. Разработчики часто фокусируются на технологиях и новых библиотеках, с которыми хочется познакомиться; архитектор же отталкивается от интересов и потребностей заказчика.
Так кто главнее: архитектор или разработчик?
Архитектура и разработка – разные и равноправные направления карьерного пути. Архитектор мыслит более абстрактно, но при этом реже прикасается к коду. К тому же не всегда продумывает все до мелких деталей. Часто команда разработки реализует архитектурную концепцию самостоятельно. А качественно реализовать дизайн решения – это так же важно, как и придумать этот дизайн.
Конкретнее: какими задачами занимается архитектор решений?
В первую очередь архитектор анализирует бизнес-цели заказчика, связанные с новым продуктом. Фокусируется на требованиях, которые повлияют на архитектуру, на программную часть решения и его компоненты. Затем проектирует решение и продумывает его дизайн. Архитектор определяет, из каких компонентов будет состоять продукт, нужно ли разрабатывать его составляющие с нуля или будет уместнее использовать готовые компоненты «из коробки».
Для некоторых частей решения SA делает proof-of-concept – небольшую экспериментально-исследовательскую задачу, чтобы понять, возможно ли реализовать тот или иной функционал.
Архитекторы участвуют в предпродажах, консультируют клиентов, проводят аудит архитектуры существующего решения – оценивают, насколько она эффективна для поставленных задач, можно ли ее оптимизировать, и если да, то как.
В EPAM, например, у архитекторов есть возможность часто менять проекты, что позволяет поработать в разных областях и сферах, напрямую общаться с людьми, непосредственно вовлеченными в основные бизнес- и технологические процессы в компании.
Владимир Казакевич (Senior Solution Architect, EPAM Belarus):
«Каждый понимает слово «бизнес» по-своему. И задача архитектора решений — вникнуть в бизнес заказчика настолько глубоко, насколько это возможно, а главное — результатом его работы должны быть решения, «заточенные» под конкретных заказчиков и их конкретные бизнес-проблемы».
А есть ли какие-то еще архитекторы?
Помимо архитекторов решений это:
Enterprise Architect – создает и поддерживают архитектуру целого предприятия, которая состоит из множества решений.
System Architect – выстраивает инфраструктурную сторону решения, фокусируясь на инфраструктурных облачных сервисах, на ПО, необходимом для поддержки решения после его развертывания.
Quality Architect – выстраивают стратегию тестирования и определяет подход к управлению качеством создаваемого продукта.
В EPAM, например, архитекторы решений пока в большинстве.
Кто может стать архитектором решений?
Роман Шрамков (Director, Technology Solutions, EPAM Ukraine):
«Для того, чтобы бизнес и менеджмент увидел возможности для применения технологий, нужен настоящий гик, который объяснит им какие в этом преимущества и как это можно сделать».
Помимо разработчиков, попробовать себя в архитектуре решений могут бизнес-аналитики, деливери-менеджеры, проектные менеджеры, ресурсные менеджеры, а также тестировщики-автоматизаторы: для них есть даже специальная поддисциплина — Solution Architecture in Test Automation.
Cтоит отметить, что ожидания от такого специалиста у компании и коллег действительно серьезные. Если ошибку в разработке отдельного компонента можно исправить, то неверное решение и плохая архитектура – могут обернуться огромными потерями для обеих сторон.
Дмитрий Гурский (Lead Solution Architect, EPAM Belarus):
«У того, кто хочет стать архитектором, прежде всего, должно быть желание что-то создавать, строить. И это не навык, который можно прокачать, это внутренняя потребность — либо она есть, либо нет».
Какие образовательные программы для будущих архитекторов есть в EPAM?
Так как Solution Architect, как отдельная должность, появилась на рынке сравнительно недавно, ее понимание в разных компаниях отличается. В EPAM создан центр компетенций по архитектуре, команда которого формирует единое представление об этой роли, основываясь на опыте работы с клиентами, их бизнес-задачах и ожиданиях, лучших практиках, внутренних процессах и системах.
Программа, которую разработали практикующие архитекторы и СTOO компании постоянно обновляется. С одной стороны она учитывает индивидуальный опыт сотрудника, а с другой позволяет выбрать образовательный модуль кастомно.
Для начала можно присоединиться к Architecture Excellence Initiative – глобальному архитектурному сообществу EPAM, чтобы быть в курсе последних новостей и тенденций в области архитектуры. Участники комьюнити еженедельно общаются с архитекторами из более чем 25 стран. Оперативный обмен кейсами, доступ к обширной библиотеке и вебинарам, собранной коллегами – это сюда.
Дальше – обучение в Solution Architecture School. Это уникальная программа, которую в компании создавали с нуля: групповые занятия с лекциями и практикой ведут действующие архитекторы компании. Здесь все как в обычной школе – домашние задания, включающие разработку дизайна, постоянное общение с преподавателями и защита контрольной выпускной работы.
Что делать, если пришел в EPAM уже архитектором?
Архитекторы решений, которые пришли в компанию, могут пройти программу Solution Architecture Basics: это своеобразный помощник архитектора, включающий базовые темы, информацию о возможностях профессионального и карьерного развития, полезные контакты и гайды по инфраструктуре. Все, что поможет быстрее адаптироваться в компании.
Архитекторам буду рады в Global Solution Architecture Team – команде экспертов, которые активно участвуют в развитии дисциплины: разрабатывают лучшие практики в компании, координируют глобальные образовательные программы для архитекторов, консультируют коллег и клиентов.
Ну, а если не хочется останавливаться на достигнутом, можно стать студентом Solution Architecture University — трёхуровневой программы, которая помогает опытным архитекторам синхронизировать знания и заговорить на едином языке. У студентов есть возможность пройти сертификации в Software Engineering Institute, IASA Global и других ассоциациях, с которыми сотрудничает EPAM.
Еще одна инициатива — Solution Architecture Mentoring — менторами в которой выступают опытные архитекторы, технические директора и CTO компании. Менти вовлечены в переговоры с клиентами, вместе с наставниками работают над реальными проектами и задачами. Программа помогает архитекторам «прокачаться» в профессии и даже вырасти до уровня CTO.
Solution Architect: Кто Это и Какие у Него Обязанности
Содержание
Многие компании заранее могут увидеть, что проект окажется неудачным. Соответственно, они имеют шанс изменить результат и достигнуть успеха. Это требует внезапной трансформации большинства процессов в соответствии с новыми требованиями рынка.
Такая трансформация требует особой экспертизы и набора практик для согласования бизнес-фокуса с технологическими решениями. В противном случае, изменение методов работы не даст улучшения эффективности.
Поэтому, в любой компании, которая нацелена на развитие, развита архитектура решений. Это практика проектирования, описания и управления решениями в зависимости от задач и проблем бизнеса.
Подобная практика породила соответствующую должность – архитектор решений. Это Лицо, ответственное за руководство практикой и представление общего технического видения конкретного решения. Работа архитектора решений включает в себя множество аспектов и обязанностей, о которых и пойдет речь в статье.
Из чего состоит архитектура программного продукта
В первой из них основной фокус – построение экосистемы и решение стратегических проблем высшего уровня (объединение ключевых требований, анализ потоков данных и т.д.). Бизнес архитектура приводит к понимаю того, какие техническая средства необходимы для поддержания программного продукта.
Архитектура решений – промежуточная составляющая между бизнес-процессами и технологическими решениями. Она включает в себя поиск технических решений для разных задач, описание структуры и поведения ПО, определение функций и этапов для каждого решения.
Технологическая архитектура включает в себя инженерные проблемы. Иными словами, это аппаратная составляющая программного продукта. Она описывает системное ПО, стандарты на программно-аппаратные средства, системы управления и т.д.
Исходя из этого мы видим, что в ИТ архитектуре есть три соответствующих уровня должностей – Enterprise Architect (EA), Solution Architect (SA) и Technical Architect (TA).
Роль архитектора решений
За простым «как делать» в работе архитектора решений кроется множество задач, таких как выбор фреймворков для работы, контроль за развитием программного продукта, решением спорных ситуаций у разработчиков. Почему же так важна эта работа?
Кроме того, именно архитектор решений отвечает за соблюдение всех требований в ходе разработки. Он же должен изучить ограничения проекта, чтобы проанализировать допустимые альтернативы и снизить риски.
В общем, архитектор решений – это связующее звено между технической группой и руководителем проекта. Он обеспечивает скорость и точность передачи информации, а также контролирует ключевые процессы разработки.
Какими навыками должен обладать архитектор решений
Архитектор решений – это не высшее и не низшее звено в процессе разработки программного продукта, но без него невозможно получить необходимый результат. Именно поэтому, архитектор решений должен обладать как общими навыками управления проектам, так и исключительными способностями.
Экспертная коммуникация. Роль SA – обеспечить выполнение проекта в срок. Поэтому он должен быть в состоянии четко донести технические аспекты, риски, проблемы и преимущества каждого решения.
SA – это центральный элемент для всех сторон, вовлеченных в решение, от бизнес-аналитиков и до разработчиков. Соответственно, он должен уметь объяснить выбранные подходы на всех уровнях. При этом, ему необходимо обладать человеческими качествами для предоставления советов и объяснений, ведения переговоров и оказания положительного влияния.
Управление рисками. Как снизить риски? Необходимо уметь пользоваться тестами производительности, безопасности, взаимодействия с пользователем и другими. Если SA не способен проанализировать показатели подобных тестов, то его работа окажется безуспешной.
Технические знания. SA не сможет дать совет или объяснить какое-то решение, если он не обладает достаточными знаниями в технических аспектах проекта. Такая должность подразумевает понимание всех технических дисциплин, которые задействованы в разработке.
Ориентация на детали. В ходе разработки программного продукта очень важна скрупулезность. Но такая черта характера у всех развита по-разному. Архитектор решений – это человек, который должен уделять наибольшее внимание деталям. Ведь именно они определяют возможные риски, а также помогают разделить ценные и незначительные элементы программного продукта.
Рациональное распределение. Для обеспечения быстрого и качественного результата нужно большое количество ресурсов. Но если их распределить неправильно, то итог все-равно будет негативным. Архитектор решений должен иметь информацию о всех доступных ему ресурсах и использовать их наиболее оптимальным путем.
Аналитические навыки. Разработка решений требуют понимания того, как связаны различные части бизнеса. Потому SA должен разобраться в корпоративной стратегии и реализовать все бизнес-процессы, которые определяют способы достижения целей компании. Таким образом, архитектор решений постоянно должен проводить аналитическую работу на разных уровнях бизнеса.
Обязанности архитектора решений
В общем, архитектор решений – это человек, который отвечает не только за разработку, но и за практическую реализацию идей. Он должен иметь четкое представление о продукте и понимать, какую пользу этот продукт принесет бизнесу. Кроме того, архитектор решений транслирует это видение всей команде разработчиков кода, чтобы они могли создать программный продукт.
Неотъемлемой частью разработки является выбор технологического стека. Архитектор решений обязан принимать участие в этой процедуре. Главная цель в данном случае – найти, какой стек будет наиболее подходящим для конкретного проекта.
Почему компании платят архитекторам решений
Таким образом, компании платят за оптимизацию бизнес-процессов и создание условий для масштабирования. Сколько? В среднем – 100 тысяч долларов в год. При этом, архитектор решений не получает меньше 80 тысяч. А вот максимальный показатель уже зависит от страны и компании, в которой работает человек. К примеру, в Австралии, в 2019 году максимальная оплата труда SA составила 106 тысяч долларов, в то время, как в США – 196 тысяч.
Заключение
Архитектура решений лежит в основе любого ИТ-проекта, независимо от того, применяется ли такая практика или нет. Преднамеренно внедряя архитектуру решений, компания создает структуру, которая объединяет технологии, ресурсы и навыки команды с определенными бизнес-целями.
Прежде, чем начинать работу над новым проектом, необходимо изучить структуру компании и основные требования. Конечно, можно сделать это лично. Но можно делегировать все соответствующие полномочия архитектору решений. Его роль и значимость будет замечена моментально.