Многим знакома профессия архитектора — специалиста-строителя, который занимается проектированием, разработкой и созданием внешнего и внутреннего вида зданий и социально-культурных объектов. Оказывается, проектировать можно не только реальные физические сооружения, но и цифровые.
Именно так и появилась совершенно новая цифровая профессия — IT-архитектор.
ПО — программное обеспечение, а архитектор — программист, который занимается контролем, проектированием структуры систем, организацией процесса создания и реализацией итогового продукта. Он помогает заказчику продумывать идею, проектирует будущее обеспечение с нуля, добавляет или убирает функции и следит за тем, чтобы конечный результат был таким, какой заказывал клиент. Конечно, некоторые клиенты требуют функции, которые или не будут работать, или вовсе не вписываются в модель программы. В этом случае архитектор становится тем, кто объясняет заказчику, почему что-то не подходит, и на что это можно поменять.
В IT-сфере нет официальной профессии архитектора ПО, а следовательно, никаких обучающих курсов тоже не существует. Архитектор — это роль в команде проекта, которую обычно занимает самый опытный программист, владеющий не только навыками программирования, но и умеющий договориться с заказчиком.
Представьте, что у вас появилась идея реализации какой-нибудь программы или простенького приложения. Простые, не требующие большого количества инвестиций и специалистов, программы создать можно и в одиночку, достаточно посвятить этому пару вечеров за разработкой и написанием кода. Но что, если программа задумывается большой и функциональной, например, удобное приложение для покупки на маркетплейсе? Теперь требуется не только свободные от основной занятости вечера, но и работа над другими процессами: дизайном оформления, удобными переходами между страницами с товаром и корзиной, добавлением платежной системы и терминалов оплаты, еще и баннеры с будущими скидками нужно куда-то вставить. Ну а как же финальная реализация, сбор аналитики и откликов пользователей? Сложно, правда?
Естественно, даже затратное по силам и времени приложение можно сделать в одиночку, но вот дела, заказчик-то планирует выпускать его уже через месяц. А ведь еще отлов багов, тестирование всех функций, написание инструкций для пользователей, часто не понимающих, куда ткнуть оплату и забрать вожделенный товар. Справится ли с этим всем программист в одиночку и быстро? Нет, он либо соберет команду, либо присоединится к уже существующей. И тут появится другая сложность: у каждого специалиста в команде свой взгляд на проект, да и занимаются они настолько разными вещами, что иногда даже не пересекаются, кроме как на утренних планерках и еженедельных созвонах. Что ж, и эту проблему можно решить — выбрать человека, который будет контролировать команду и управлять всем процессом. И им будет архитектор ПО.
Архитектор ПО в первую очередь успешный программист и топовый айтишник. Соответственно, навыки, которыми он должен обладать, база IT-сферы — умение работать с программами, понимание и чтение своего и чужого кода, знание одного или нескольких языков программирования, внутреннего строения популярных баз данных, устройства компьютеров и операционных систем.
Кроме этого, умение донести до заказчика определенные мысли, правильно понять идею клиента и навыки руководства проекта или тимлида команды тоже важны. Нельзя ведь поставить лидером проекта человека без умения руководить и ожидать, что он сразу же преуспеет: начнет делегировать обязанности, следить за процессом разработки, успешно выстроит взаимоотношения с подчиненными и коллегами. Поэтому чаще всего на роль архитектора нанимают специалистов с опытом разработки, огромной технической базой знаний и навыков и умением общаться не только с командой проекта, но и другими людьми, например, заказчиками или бизнес-представителями.
Ранее мы выясняли, кто такой архитектор ПО и какие навыки и знания требуются специалисту на этой должности, ведь он одновременно и инженер, и бизнес-аналитик, и проектный менеджер. Теперь давайте поговорим о его обязанностях немного подробнее.
Как и всегда в любой работе, обязанности варьируются от компании к компании. Крупные масштабные гиганты IT-сферы предъявляют высокие требования, в то время как маленькие организации могут нанять новичка и останутся довольны им. При этом и задачи специалиста будут заметно отличаться. Например, архитектор ПО в Яндексе работает со сложными проектами, а программист, устраивающийся в стартап бизнеса по доставке готовой еды или новенького онлайн-магазина, явно занимается небольшими задачами. И все же, и там, и там есть общие сходства, мы выявили их для вас.
Ни одна статья не была бы полной, если бы ограничивалась лишь описанием работы, требуемыми навыками и обязанностями того или иного специалиста. Везде есть свои плюсы и минусы, которые мы, конечно же, укажем и начнем с преимуществ.
К плюсам работы Архитектора ПО можно отнести престижность, востребованность и высокий уровень дохода. Разберем каждое преимущество подробнее:
Престижность — достигается статусом в проекте. Архитектор ПО — незаменимый специалист в разработке любой программы. Он взаимодействует с заказчиком, бизнес-представителями компании, командой проекта, определяет развитие и направление разработки, каким будет выглядеть конечный продукт и как скоро начнется реализация. Это высокий уровень доверия и значимости, к которому стремятся многие люди.
Востребованность — практически ни один проект по разработке ПО не может функционировать без архитектора, а справиться со всеми задачами и обязанностями должности может лишь квалифицированный программист уровня сеньор с большим опытом. Естественно, как только компания находит такого человека, она всеми силами старается удержать его. А поскольку компаний в мире много, нехватка специалистов довольно ощутима.
Высокооплачиваемость — Компании готовы платить опытному, квалифицированному и, самое главное, знающему специалисту немалые деньги за основную работу и премиальную часть за успешное завершение проекта. Топовый спец получает хороший доход — от 500 тысяч рублей до миллиона, джуны и миддлы, конечно, поменьше, но тоже не жалуются. Зарплата часто зависит от компании, странно ожидать от маленького проекта больших цифр дохода, в то время как в крупных можно получать гораздо выше средней зарплаты IT-сферы.
Большая ответственность — один из главных недостатков этой должности. Архитектор ПО занимается практически всем, начиная от идеи заказчика и заканчивая реализацией, сдачей и успехом проекта. От работы архитектора зависит едва ли не все, и если проект провалится на одном из этапов, удар по репутации будет сильнейшим.
Плавающие обязанности — поскольку это не официальная профессия, задачи архитектора ПО регулируются желанием организации или заказчика. Отсюда же появляются различия в требованиях к специалисту и обязанностях, которые он должен выполнять. Если мы легко можем себе представить, чем занимается дизайнер проекта, у основной работы архитектора нет четко очерченных границ, и они остаются на усмотрение компании.
Отсутствие профессионального роста — новичку-архитектору расти будет проще, шагая от проекта к проекту и занимаясь все более сложными задачами, но в какой-то момент матерый специалист с огромным опытом столкнется с потолком профессии. Все те же задачи, та же структура, пусть они и немного меняют внешний вид, каркас остается тем же. В конце концов, монотонность и однообразие может надоесть.
Стать архитектором программного обеспечения сразу после вхождения в IT-сферу невозможно. Потребуется огромный опыт в разработке, высокая квалификация и множество различных навыков: от знаний нескольких языков программирования до умений работать с базами данных. Джуны-новички, едва закончившие обучение в ВУЗах или на различных курсах, и мечтать не могут об этой профессии. Зато сеньора, готового увеличить обязанности и перейти с простой разработки в архитекторы, оторвут чуть ли не с руками.
Чтобы развивать карьеру в IT-сфере и стать архитектором ПО, сейчас специалисту нужно обладать немалыми знаниями, включая принципы проектирования программного обеспечения, визуальное проектирование, шаблоны интеграций приложений и многое другое. К счастью, раз мир цифровых технологий так сильно нуждается в архитектуре, появилось множество различных курсов по повышению квалификаций и материалов для самообразования. Не за горами и тот момент, когда из сложившейся общественной роли эта профессия станет полностью настоящей, а в университетах будут готовить архитекторов ПО, способных сразу возглавить любой IT-проект.