Здравствуйте, друзья!
Когда IT-сфера только появилась и начала развиваться, компьютерных программ было не так много. Один-единственный программист мог сам ее разработать, разобраться, как она функционирует, провести тестирование и т. д. В наши дни все стало значительно сложнее. Информационные технологии набрали темп развития, и ежегодно новых профессий появляется все больше.
И вот когда понадобился специалист, который будет нести ответственность за IT-системы, помогать компаниям решать бизнес-задачи посредством информационных технологий, проектировать ПО и создавать его архитектуру, появился архитектор программного обеспечения.
В нашей стране вакансии для этого работника появились более 15 лет назад и были единичными. Сейчас же это востребованная и высокооплачиваемая профессия. О ней мы сегодня и поговорим. Подробнее узнаем, кто такой этот специалист, чем он занимается, что должен знать и уметь, плюсы и минусы работы, как им стать.
Особенности профессии
Для начала разберемся, что же такое программное обеспечение. Если кратко, то это комплекс программ, которым вы пользуетесь на своем ПК. Провести расчеты, написать текст в электронном документе, послушать музыку, создать презентацию – это все ваши задачи. А решают их для вас Excel, Word, KMPlayer, PowerPoint и другие составные части программного обеспечения.
ПО может быть системным, прикладным и инструментальным.
Системное ПО – это группа программ, благодаря которым компьютер может правильно работать, позволяя владельцу использовать весь свой функционал, а также устанавливать на ПК новые программы. К этому виду программного обеспечения относятся операционные системы, драйверы, антивирусные программы и архиваторы.
Прикладное – это комплекс инструментов, которые решают конкретные задачи пользователя. Например, создавать электронные документы, смотреть фильмы, делать перевод текстов.
Инструментальное – это системы программирования и моделирования, инструментальные среды. Они нужны разработчикам для проектирования и создания программ.
И если разработкой программного обеспечения занимаются программисты, то проектирование структуры ПО и составление технического задания для разработчиков ложится на плечи архитекторам программного обеспечения.
Архитекторы строят сложные IT-системы, помогают работодателям решать их бизнес-задачи, применяя информационные технологии, автоматизируют рутинные процессы, тем самым экономят время и деньги, создают архитектуру ПО.
Специалисты подсказывают разработчикам, как создать IT-продукт и избежать ошибок, какие технологии лучше использовать, принимают решения по поводу внутреннего устройства IT-системы и ее интерфейса.
Например, производители одежды хотят предоставлять свои услуги не только в магазине, но и онлайн. Для этого нужно создать мобильное приложение. Тогда за дело берется архитектор. Он продумывает все детали по разработке функционального онлайн-сервиса для магазина.
Специалисту нужно решить, как посетители будут взаимодействовать с магазином через веб-интерфейс, как они будут делать онлайн-покупки, как создать все условия для комфорта и удобства покупателя во время пользования приложением, как добиться простоты разработки и быстродействия, как обеспечить финансовую безопасность денежных операций и т. д.
За архитектором остается последнее слово о внешнем виде IT-продукта и о его внутреннем наполнении. И уже исходя из задания и рекомендаций IT-архитектора, за разработку и дизайн принимаются программисты, UX-дизайнеры, тестировщики, специалисты по информационной безопасности и другие.
Архитектор ПО – это всегда работник с большим опытом работы и увесистым багажом знаний. Он должен иметь широкий кругозор, брать ответственность за принятие сложных технических решений. Вчерашние студенты не могут начать свою карьеру с этой должности. Чаще всего в IT-архитектора перерастают бывшие программисты, инженеры, системные администраторы, тимлиды или backend-разработчики.
Кроме технической у работы архитектора ПО есть и другая сторона. Он должен не только общаться с айтишниками и продумывать устройство системы, но и вести переговоры с работодателем, чтобы выяснить, что именно он хочет видеть в результате. Поэтому “разговоры с бизнесом” являются немаловажной частью деятельности специалиста.
В небольших компаниях не всегда есть надобность в IT-архитекторах. Разработчики простых IT-продуктов могут самостоятельно решать, что и как должно быть устроено в их товаре. Поэтому архитекторы ПО – это сотрудники крупных компаний со сложной информационной системой.
Обязанности работника
Архитектор ПО вносит свой вклад на каждом этапе разработки IT-системы. Он берет проект с нуля, начиная от переговоров с заказчиками, и доводит его до логического конца, т. е. до финального внедрения продукта.
Его ключевая обязанность – это поиск решения по устранению проблем бизнеса посредством использования информационных технологий. А главная задача – проектирование архитектуры программного обеспечения, т. е. определение внутреннего устройства системы и ее технических интерфейсов.
Кроме того, специалист проводит анализ всех деталей и мелочей, следит за тем, правильно ли его решения реализуются, и при необходимости вносит коррективы.
Основные обязанности архитектора можно разделить на несколько категорий:
- Техническую. К этому виду относятся все задачи, непосредственно связанные с веб-разработкой и проектированием: создание архитектурного шаблона, подбор языков программирования, инструментов исполнения и информационных технологий, составление технического задания, определение форматов передачи и хранения данных и т. д.
- Экспертную. В эту категорию входит анализ будущего проекта, написание требований для его реализации, планирование развития информационной системы и разработка стандартов проектирования. А также реинжиниринг, т. е. фундаментальное изменение и преобразование структуры программного обеспечения для устранения имеющихся ошибок, а после регламентирование внесенных изменений.
- Управленческую. Она подразумевает главенство в команде разработчиков, консультацию программистов и координацию их действий, внесение коррективов, поиск новых решений, контроль за выполнением проекта и ведение документации. Для этого архитектору необходимо постоянно коммуницировать с другими специалистами, объяснять им сложные технические понятия простым языком.
Кроме этого, специалист выполняет следующие задачи:
- выбирает инструменты и средства для разработки,
- проектирует технические интерфейсы,
- участвует в переговорах с клиентом,
- изучает и систематизирует проектную документацию,
- ставит задачи перед рабочей командой,
- участвует в тестировании прототипа создаваемой IT-системы,
- анализирует архитектуру,
- проводит анализ кода,
- проводит аналитику возможностей, перспектив и рисков проекта и его окружения,
- проводит анализ возможных рисков и причин возникновения ошибок в системе,
- оценивает архитектурные системы.
Если говорить проще, то архитектор ПО отвечает практически за все в IT-проекте.
У многих людей, интересующихся этой профессией, возникает вопрос о том, а пишет ли архитектор код? Да, они должны это уметь делать, но вот в прямые обязанности написание кода не входит. Но некоторым специалистам приходится кодить.
Большую же часть дня архитекторы получают, обрабатывают и делятся различного рода информацией. Менеджеры, разработчики, заказчики – все обращаются к этому специалисту. Поэтому он видит ситуацию с разных сторон и знает, как ему дальше действовать.
Также IT-архитектору приходится работать с огромным объемом документов. Надо их сформировать и продумать, а также предоставить и сдать в отведенные сроки.
Требования к сотруднику
Для архитектора ПО важно понимать не только аспекты и особенности веб-разработки и IT-системы, но и разбираться в бизнес-процессах.
Специалисты должны соответствовать следующим требованиям:
- Проектировать ПО и информационные системы.
- Знать языки программирования.
- Формировать архитектуру ПО.
- Подбирать средства, технологии и инструменты для разработки.
- Контролировать процессы выполнения задач.
- Знать операционные системы и сети.
- Проводить проверки и тестирования.
- Создавать техническое задание.
- Вести переговоры.
- Доказывать свою точку зрения.
- Анализировать требования заказчика.
- Управлять проектом и командой.
- Обеспечивать поддержку программистам.
- Работать с базами данных.
- Оценивать возможности и перспективы, а также риски и возможные ошибки проекта.
- Выявлять и устранять ошибки.
- Формировать стратегию и методы разработки.
- Вести техническую, отчетную и прочую документацию.
- Знать инструменты проектирования систем.
- Анализировать текущие архитектурные решения.
- Обладать навыками менеджера.
- Знать базовые информационные технологии.
- Понимать IT-тренды и предвидеть их возможные изменения.
От архитектора требуется богатый опыт проектирования систем, широкий и глубокий уровень знаний технологий и инструментов. Но еще важны и личные качества специалиста:
- системное мышление,
- коммуникабельность,
- ответственность,
- стрессоустойчивость,
- организованность,
- постоянное желание развиваться,
- аналитический склад ума,
- обучаемость,
- внимательность,
- умение работать в команде,
- терпеливость,
- креативность,
- исполнительность,
- лидерские качества.
Архитекторы ПО постоянно расширяют свой кругозор. Это должен быть “гибкий” специалист, который всегда ищет компромисс. Ему недопустимо быть узконаправленным работником, он должен уметь находить причины появления любой технической проблемы и знать, как ее устранить. Специалисту нужно принимать взвешенные решения и уметь приводить аргументы в пользу своего мнения.
Зарплата и карьера
Архитекторы программного обеспечения могут работать в:
- Компаниях-разработчиках IT-продуктов.
- IT-отделах и отделах digital-маркетинга крупных организаций.
- Финансовых учреждениях и банках.
- Системных интеграторах.
Конечно же, важным пунктом при анализе какой-либо профессии является зарплата специалиста. В среднем по России уровень оплаты труда держится на отметках от 80 000 до 300 000 руб.
В регионах заработная плата может упасть до 60 000 руб., что тоже является доходом выше среднего. А максимум в таких городах, как Нижний Новгород, Воронеж, Екатеринбург, Казань, Новосибирск, Краснодар, Владивосток, предлагают 200 000 руб. Реже, но все же иногда встречаются предложения с доходом 250–300 тыс. руб.
В Москве же зарплата начинается от 100 000 руб. и может доходить до 350 тыс. руб. и выше.
Эта профессия является одной из самых высокооплачиваемых в IT-сфере.
Начинающие архитекторы уже получают от 60 000 руб. У специалистов со стажем от года зарплаты находятся на уровне 100–150 тыс. руб. А зарабатывать еще больше могут работники, которые трудились на своей должности более трех лет.
В нашей стране наблюдается дефицит кадров, поэтому профессия уже давно является крайне востребованной. Порой даже на весьма привлекательные предложения не откликаются претенденты по нескольку месяцев.
Но дело не только в нехватке кадров, но еще и в обязательных требованиях от работодателей крупных компаний:
- Наличие именно высшего технического образования.
- Глубокие знания в области программирования, веб-разработке и архитектуре программного обеспечения.
- Знание иностранного языка, лучше всего английского.
- Опыт работы в IT-сфере не менее 3 лет.
Плюсы и минусы
После проведения анализа профессии можно выделить ее достоинства и недостатки. Начнем с плюсов:
- высокая заработная плата,
- принятие участия в достойных внимания IT-проектах,
- большая нехватка в специалистах, высокая востребованность,
- перспективы карьерного роста,
- престижность должности.
Минусы:
- тяжелый груз ответственности,
- сидячий образ жизни,
- ненормированный рабочий день,
- частые стрессовые ситуации.
Обучение на архитектора ПО
IT-архитектор должен иметь высшее техническое образование, а также сертификаты и другие документы о дополнительном образовании в области информационных технологий. Не обойтись и без практики программирования.
В качестве вузовской специализации можно выбрать одно из IT-направлений. Например, “Информатика и вычислительная техника”, “Информационные системы и технологии”, “Бизнес-информатика” и т. д.
После обучения можно влиться в IT-сферу, но чтобы стать успешным специалистом, надо приобрести опыт программирования и проектирования, что приходит только с годами. Поэтому самостоятельно стать архитектором не получится.
Пока получаете опыт и профессиональные навыки в программировании, проходите специализированные обучающие программы.
Онлайн-курсы удобны, так как их можно проходить в свободное время и по индивидуальному графику. Большинство из них предполагают решение задач реальных проектов, можно завести полезные знакомства и общаться с единомышленниками, а что насчет стоимости, то часто студентом предоставляется рассрочка.
Говоря о курсах для архитекторов ПО, стоит упомянуть некоторые из них:
- Профессия Архитектор ПО – Skillbox
- Архитектор информационных систем – GeekBrains
- Микросервисная архитектура – Otus
Но и этого мало для становления архитектором ПО.
Вместе с получением дополнительного образования нужно непрерывно изучать новости мира информационных технологий, исследовать новшества, современные инструменты и актуальные тренды, искать альтернативные способы решения проблем, охватывать максимальное количество взглядов, концепций и подходов.
Кроме этого, нужно постоянно читать статьи и литературу. Среди книг для архитекторов ПО в первую очередь советую изучить следующие:
- Р. Мартин “Чистая архитектура. Искусство разработки программного обеспечения”
- М. Фаулер “Шаблоны корпоративных приложений”
- Д. Черемнов “Профессиональные компетенции разработки программного обеспечения”
- М. Фаулер “UML. Основы”
- Б. Кент “Рефакторинг. Улучшение проекта существующего кода”
Такой комплексный подход является лучшим способом становления специалистом в области IT-систем. Поэтому совмещайте вузовское образование, онлайн-курсы, книги, участие в вебинарах и прочих мероприятиях, чтение новостей и непрерывную практику.
Заключение
В этой статье мы познакомились с архитектором программного обеспечения и узнали:
- Кто это – создатель архитектуры ПО и ответственный за IT-системы, который ведет IT-проект и решает, что, как и с помощью чего разрабатывать продукт.
- Его основные обязанности – решать бизнес-задачи при помощи информационных технологий, возглавлять команду разработки, вести переговоры с заказчиком и передавать все пожелания рабочей группе, составлять техническое задание для программистов и направлять их.
- Главные личные качества – стрессоустойчивость, ответственность, аналитический склад ума, навыки командной работы.
- Важные навыки – понимать IT-системы, разбираться как в бизнес-процессах, так и в технической стороне веб-разработки, формировать архитектуру ПО, обладать управленческими навыками.
- Плюсы и минусы – высокий доход, перспективы, востребованность и стрессы, ненормированный рабочий день, большая ответственность.
Также мы поговорили о способах обучения этой профессии.
Если статья оказалась для вас полезной, поделитесь ей в социальных сетях. И не забывайте подписываться на рассылку блога ermail.ru.
До новых встреч!