From: www.itworld.com
April 17, 2001 —
It's tempting to compare a senior software architect to a building architect. After all, both are concerned with design and structure, though their final products are very different.
But Lou Coglianese, chief architect at enterprise architecture at Capital One Financial Corp. in Falls Church, Va., describes his role in terms that a linguist would appreciate.
"I appreciate the value of being able to express things in different ways," says Coglianese. Whether working with SQL, Java or a particular software architecture methodology, Coglianese says he sees each as a language with its own strengths in communicating different types of ideas.
That's not so surprising; although he studied math as an undergraduate and later earned a master's degree in chemical engineering, Coglianese majored in French language and literature. "I've always been a language person," he explains. "How I express myself is an important part of who I am."
Coglianese's combination of technical and linguistic skills has been invaluable in a variety of professional situations. These include ordering dinner in French in a restaurant in Italy for English-speaking colleagues and translating Capital One's business objectives into systems requirements. Those are the multilingual skills that more companies are looking for in their senior software architects.
Software Grammar
As chief software architect, Coglianese's work is akin to that of a linguist codifying the grammar for a newly discovered language. At Capital One, the language is a business need, and the grammar is the architectural model.
"An architecture starts with needs and a vision: What do we hope to achieve; what value do we need the system to bring us?" Coglianese says. Then it's a matter of selecting the right technologies. "It's not about putting the latest and greatest together but of looking at the business drivers and how they map to the components of the architecture," he says.
In addition to meeting immediate end-user needs, software architecture must also account for the way in which future changes and additions will be incorporated into its design and the way that the system will be produced, maintained and upgraded.
THEME: Job Watch TOPIC: Senior software architect KEY POINTS: Comprehensive knowledge of software architectural models, programming languages and systems are still prerequisites. However, what makes a senior architect distinct and more desirable in a corporate setting is the ability to create software architectures that go beyond technical elegance to help a company compete more effectively. Creating such architectures requires deep technical knowledge. "You need a detailed understanding of how things work under the covers," says Coglianese. For example, to know how application servers will schedule work, a senior architect must understand scheduling algorithms, as well as software like Java 2 Enterprise Edition (J2EE), languages like Java and XML, and system components such as databases, networks and security. Coglianese says his exposure to a wide range of complex systems during his 26-year career has been extremely valuable in acquiring such knowledge. Yet, he points out, even with his experience, he can't know everything about every system. That's why he works with 14 other software architects, each of whom has complementary strengths. One may know database structures particularly well, while another may be strong on networking and a third may know security. Coglianese's role is coordinating the skills of this group of architects as they collaborate with other players on a project, which may include professionals from Capital One's Internet group, operations department, call center group, and human resources and marketing departments.
A Wide Vocabulary Current needs dictate that Coglianese and his team of architects be very close to the business users for whom they design systems. "I don't need to be a financial wizard, but I need to know the driving forces," he says. With this knowledge, Coglianese and his architects generate their own ideas about systems that could help Capital One. "I like to see things get built, get into production, get delivered," he says. Coglianese says that in the future, he expects to deliver systems providing personalized data to Capital One's 3 million customers. Component software like J2EE and languages like XML will offer a rich design base, he says. "We'll be spending our time on the business value of a system, not on building infrastructures we've built a million times before," says Coglianese. Computerworld
Summary