Кто такой архитектор, и как им стать
Рассказываем, чем занимается ИТ-архитектор и какие навыки ему требуются, как войти в профессию и можно ли создать матрицу.
4К открытий7К показов
Архитектор ПО — важнейший специалист для создания крупных систем. Это гуру разработки и сетевой инфраструктуры, мастер предугадывать возможные проблемы и немого техномаг. Lead architect Группы «Иннотех» Александр Соляр поделился, чем занимается ИТ-архитектор, как войти в профессию и можно ли создать матрицу.
Александр Соляр
Lead architect Группы «Иннотех»
Кто такой архитектор
Очень просто понять на аналогии. Представьте поезд с большим количеством вагонов (больше сотни), который движется на высокой скорости. А ещё в нём периодически загораются вагоны. Так вот, архитектор — это человек с огнетушителем в руках, который знает, как всё внутри поезда устроено.
Архитектор может точечно взять на себя ответственность тушить пожар там, где это необходимо в первую очередь, чтобы поезд продолжал двигаться. При этом специалист одновременно будет осуществлять взаимодействие и координацию с другими гигантскими поездами, которые несутся параллельно или навстречу ему, чтобы аварии не произошло.
Я, как архитектор, просто кайфую от создания сложных систем с нуля и их развития. Мне очень нравится планировать будущее масштабирование, гибкость и возможность расширения проектов. На самом деле это завораживает.
Какие знания требуются архитектору
Архитектору в принципе надо уметь абстрагироваться от некоторых вещей и развивать гибкость мышления, чтобы смотреть на проект под разными углами, суметь его прокручивать, разбирать на логические части и находить наиболее подходящие решения под ту или иную ситуации.
Важна высокая обучаемость, потому что во время работы тебе приходится постоянно разбираться в новых системах, взаимодействиях, стеках, с которыми ранее не сталкивался. Нужно впитывать знания в очень короткие сроки, особенно когда пытаешься какие-нибудь передовые штуки использовать на проектах.
Всем архитекторам присуща высокая стрессоустойчивость. Это позволяет качественно находить альтернативы и консенсус даже в экстремальных ситуациях. Например, при необходимости оперативного импортозамещения.
Не стоит забывать об умении находить общий язык с бизнесом. Приходится часто общаться с заказчиками и доносить те или иные архитектурные решения с учётом бизнес-потребностей. Архитектор в этом случае выступает в качестве партнёра, который указывает на потенциальные проблемы и моменты, требующие заблаговременного решения.
Крайне желателен опыт создания систем с нуля. Это учит видеть картину целиком, не ограничиваясь прикладной интеграцией или базой данных. А также оценивать проект с точки зрения тех, кто будет на нём работать, обслуживать его и совершенствовать в дальнейшем. И архитектор как раз должен выступать точкой баланса в этом отношении.
Также необходимо выделять отдельно любовь к людям, заботу о системе и долгосрочных взаимодействиях. Архитектура — это не про здесь и сейчас что-то сделать. Упор на строительство фундамента, на основе которого и будут строиться дальнейшие системы.
Лишних знаний у архитекторов в принципе никогда не бывает. Потому важно расширять постоянно кругозор.
С каких специальностей чаще всего приходят в архитекторы
В архитекторы можно прийти из разработки или системного анализа. Но в последнем случае крайне желательно освоить программирование, чтобы разговаривать на одном языке с разработчиками.
Если человек очень хочет пойти в архитектуру, есть только один очень эффективный способ понять — его ли это вообще. Но к сожалению, он не для всех. Нужно прийти к руководителю и озвучить желание заниматься архитектурой. Внутренне согласиться, что полгода дополнительно к основной работе безвозмездно исполнять обязанности архитектора на каком-то другом проекте под руководством опытного куратора. Выкинуть орла из гнезда — если полетит, то через полгода адаптируется.
Можно также создать какой-то пет-проект с нуля. Просто нарисовать, как он работает, распределить базы данных, что откуда берётся, как всё это осуществляется, бизнес-процесс наложить на инфраструктуру, желательно микросервисную, чтобы система хотя бы на бумаге работала.
Дешёвого рецепта быстро, просто и безболезненно стать архитектором нет. Необходимо годами нарабатывать опыт и развивать знания. Но даже это не гарантирует того, что человек, который окунётся целиком в корпоративную и солюшн архитектуру, сможет эффективно справляться с обязанностями.
Какая перспектива у архитектуры
Ранее архитекторы занимались только серверной инфраструктурой. Но сейчас все технологии двигаются в облака. Наша компания для этого делает очень много, развивая самые передовые технологические стеки. Мы разрабатываем решения как раз на тех стеках, которые позволят нам в будущем конкурировать и на международной арене.
Какие книги можно посоветовать начинающим архитекторам
Могу посоветовать только английские книги, которые наиболее актуальны для современных архитекторов:
- Release It!. Design and Deploy production-ready software, Michael T.Nygard;
- Design It! From programmer to software architect, Michael Keeling;
- Software Architecture in Practice, Len Bass, Paul Clements, Rick Kazman;
- 37 Things One Architect Knows About IT Transformation: A Chief Architect’s Journey, Gregor Hohpe;
- Learning Domain-Driven Design, Vlad Khononov.
Способен ли архитектор создать Матрицу из одноимённого фильма
IT-архитектор — это человек, который как минимум может эту систему спроектировать. А как максимум создать.
У меня был кейс, когда мне пришлось на коленке написать большую систему для энтерпрайза. Заказчики говорили, что эту систему нужно разрабатывать три с половиной года. Я за несколько месяцев сделал документацию на 250 страниц с макетами. Да, они были далеко не с самым приятным UI/UX дизайном, но функциональные. Прописал всю логику, алгоритмы, реализовал их не на самом передовом стеке из подручных средств, но это работало.
В течение недели два департамента согласовали документацию. Ни у кого не было вопросов и контраргументов из серии «эту систему поднять нереально», «она будет разрабатываться усилиями разработчиков несколько лет» и так далее. Но перенос на плечи архитектора разработку кода — крайний метод, который никогда лучше не использовать, потому что он, как правило, трудозатратный.
Архитектор — это тот человек, который иногда спускается со своей башни из слоновой кости, чтобы подсказывать коллегам и развивать их. Это помогает членам команды становиться лучше и расширять горизонты.
Эксперты «Иннотех» — именно те ребята, которые активно делятся знаниями друг с другом и с командами, чтобы они работали более эффективно и продуктивно. Физических возможностей архитектора не хватит для того, чтобы он везде закрывал проблемные места, поэтому обмен информацией так важен. Ресурсы таких специалистов использовать надо крайне экономно и давать им передышку, потому что объём очень работы и знаний большой, иногда слишком.
4К открытий7К показов