Знакомьтесь — директор по архитектуре ПО

Луи Коглианезе считает, что интерес к языкам помогает ему выполнять свои обязанности директора по архитектуре программного обеспечения в Capital One: «Трудно переоценить важность умения адекватно выразить свою мысль словами»

Весьма заманчиво сравнить ведущего проектировщика программного обеспечения с архитектором, возводящим дома. В конце концов, и тот и другой имеют дело с проектными и конструктивными решениями, хотя конечные продукты сильно отличаются. Однако Луи Коглианезе, директор компании Capital One Financial по корпоративной архитектуре, описывает свою роль словами, которые по достоинству оценят люди с гуманитарным складом ума.

«Я думаю, что самое важное — возможность использовать различные выразительные средства», — подчеркивает Коглианезе. Работая с SQL, Java или с встроенным языком какой-либо конкретной программной среды, Коглианезе считает, что каждый из них имеет свои достоинства как средство передачи разного рода идей.

В этом нет ничего удивительного. Хотя в студенческие годы в одном из американских университетов он изучал математику, а позже получил степень магистра как химик-технолог, Коглианезе прекрасно разбирается во французской литературе и блестяще знает французский язык. «Меня всегда интересовала филология, — объяснил он. — Самовыражение — важная часть моего ?я?».

Сочетание технических навыков с умением владеть словом помогает ему в самых разных ситуациях, с которыми ему приходится сталкиваться по роду своей профессиональной деятельности. Будь то заказ ужина в ресторане в Италии для своих англоговорящих коллег или перевод бизнес-задач, которые стоят перед компанией Capital One, на язык требований к системе. Он знает несколько языков, а таких людей компании все чаще стремятся приглашать на должности ведущих разработчиков программного обеспечения.

Грамматика ПО

Выполняя свои обязанности директора по архитектуре ПО, Коглианезе действует как лингвист, расшифровывающий грамматику незнакомого языка. В компании Capital One язык бизнес-требований, имея свою грамматику, представляет собой модель архитектуры.

«Архитектура начинается с определения требований и общего представления о будущей системе. Какие цели мы преследуем, чего именно хотим добиться от нее? — поясняет Коглианезе. В сущности, речь идет о правильном выборе базовых технологий. — Надо не объединять вслепую все самые последние и величайшие решения, а найти те, которые наилучшим образом отвечают требованиям бизнеса, и определить, насколько они соответствуют компонентам архитектуры».

Помимо оперативной реализации требований конечных пользователей, программная архитектура должна учитывать, какие изменения и дополнения будут внесены в структуру в будущем, каким образом система будет развертываться, обслуживаться и модернизироваться.

Создание такого рода архитектур требует глубоких технических знаний. «Необходимо хорошо разбираться в том, что происходит внутри нее», — считает Коглианезе. К примеру, чтобы узнать, как серверы приложений будут планировать свою работу, ведущий разработчик должен понять алгоритмы планирования, хорошо представлять себе такое программное обеспечение, как платформа Java 2 Enterprise Edition, языки Java и XML, а также системные компоненты, в том числе базы данных, сетевые службы и средства защиты.

Коглианезе убежден, что работа со множеством сложных систем, с которыми ему пришлось столкнуться за свою 26-летнюю карьеру, оказалась весьма полезной для приобретения таких знаний. Впрочем, даже обладая таким опытом, он не может сказать, что знает все.

Вот почему с Коглианезе работает еще 14 специалистов в области проектирования программного обеспечения, которые дополняют друг друга. Один может хорошо разбираться в базах данных, другой специализируется на сетевой проблематике, а третий занимается системами защиты.

Роль Коглианезе состоит в координации действий этой группы проектировщиков при их совместной работе над проектами с другими специалистами, в том числе с представителями из отдела Internet-проектов компании Capital One, сотрудниками операционного подразделения, центра телефонного обслуживания, а также отделов кадров и маркетинга.

Обширный словарь

Требования современного бизнеса заставляют Коглианезе и его коллег-проектировщиков тесно взаимодействовать с бизнес-пользователями, для которых они проектируют системы. «Мне не обязательно быть экспертом в финансовой сфере, но я должен знать ее движущие силы», — считает он.

Опираясь на свои знания, Коглианезе и его проектировщики предлагают собственные идеи о том, какой будет система, способная помочь в работе Capital One. «Мне нравится смотреть, как создаются решения, как их воплощают в жизнь и доставляют потребителям», — сказал он.

В планы Коглианезе входит создание систем, способных предоставить персонифицированные данные о 3 млн. клиентах компании Capital One. Компонентное программное обеспечение, такое как J2EE, и языки типа XML открывают большой простор для творчества.

«Мы будем тратить свое время на расширение функций системы, требуемых для достижения бизнес-целей, а не на создание инфраструктур, что мы делали до этого уже миллион раз», — заметил Коглианезе.