«Главная задача архитектора программного обеспечения – понимать, из каких модулей и компонентов будет состоять продукт и как это будет работать, если все собрать вместе. Этот специалист принимает ключевые решения относительно внутреннего устройства программной системы и ее технических интерфейсов. Он полностью отвечает за архитектуру продукта, отсюда и название профессии», – объясняет десятиклассникам старший научный сотрудник лаборатории «Машинное обучение» Центра информационных технологий и искусственного интеллекта Владимир Макаров.
По его словам, архитектор проекта – одна из самых востребованных сегодня ролей в разработке программного обеспечения. Эта профессия сегодня может приносить и достойный заработок, и удовольствие от работы. Владимир Макаров назвал пять ключевых качеств успешного специалиста в этой области.
1. Умение общаться с людьми и договариваться
«Разработка программного продукта всегда командный процесс. Архитектору одному невозможно реализовать проект».
2. Желание творить и искать новые решения
«Вы написали хорошую игру, она отличная, пользуется популярностью, и, если кто-то напишет такую же, она никому не будет нужна. Поэтому мы всегда должны делать что-то новое. Это значит, что мы находимся в состоянии неопределенности и в постоянном поиске».
3. Ответственность
«Из-за того, что разработка – постоянный поиск нового, мы часто даже не знаем, сколько времени займет работа. В этих турбулентных условиях именно архитектор ПО берет на себя ответственность и до конца проекта ее исполняет».
4. Способность принимать верные решения интуитивно
«Если архитектор ошибся и в самом начале что-то не так спроектировал, мы получим плохой продукт. Главное, что нас обучает, – это наши ошибки, которые помогают вырабатываться подсознательной интуиции. Именно поэтому для архитектора ПО так важен базовый опыт в разработке».
5. Креативность и абстрактное мышление
«Поиск нового всегда связан с креативностью. Хороший архитектор ПО умеет выдавать интересные решения, а дополняет это умение абстрактное мышление, когда специалист видит, как работает итоговый продукт, еще до его разработки».