아키텍트는 ‘책임 설계자’로 달리 말할 수 있다. 아키텍트의 역할이 어플리케이션의 설계와 구현 전체를 책임지고 개발팀을 이끄는 것이기 때문이다. 아키텍트는 스페셜리스트인 동시에 제너럴리스트의 역할을 해야한다. 10년 후에도 기술자로 확약하기 위해서는 아키텍트가 아키텍처와 프레임워크로 프로젝트를 이끄는 위치가 되어야 한다.

아키텍트가 만들어 놓은 프레임워크를 사용함으로써 공통 부분 설계를 재사용 할 수 있어 비용이 절감되고, 공통부분을 반복적으로 사용해왔기 때문에 안정적이고 신뢰도 높은 구현을 할 수 있고, 옵션으로 된 부분의 범용적인 개발과 높은 기술 수준을 필요로 하지 않으므로 비교적 낮은 수준의 개발자에게 개발을 맡기더라도 전체 시스템을 망가뜨릴 염려가 적다는 것이다.

아키텍트는 요구사항 정의 작업부터 참여한다. 보통 개발자들은 요구사항 분석 단계에서 빠져있기 마련이고 요구사항, 설계, 구현, 테스트로 보통 이뤄지는 개발 프로세스에서 빠르면 설계단계부터 어떤 개발자는 실제 구현단계부터 참여하기도 하지만 아키텍트는 초기단계부터 참여하여 개발자와 사용자 모두가 원하는 계획을 세우는 역할을 한다. 아키텍트의 주 업무는 당연히 아키텍처 설계가 될 것이다. 아키텍처란 건축분야에서 나온 용어이지만 소프웨어 분야에서 ‘어플리케이션의 설계와 구현의 지침’이란 의미로 많이 쓰고 있다. 즉, 아키텍트들은 소프트웨어의 설계와 구현의 지침을 담당하기 때문에 어플리케이션의 가장 깊은 부분과 가장 넓은 부분을 알아야 한다.

아직 난 아키텍트가 아니기에 아키텍트가 되었을 때 지금 개발하는 즐거움보다 얼마나 많은 즐거움을 나에게 줄지 알 수가 없다. 하지만 전체시스템을 아우르고 프레임웍에 대해 고민한다는 부분은 분명 매력적이다. 국내 기업들도 코딩만 잘하는 개발자 보다는 아키텍트를 많이 확보하는 것이 개발사의 경쟁력이 될 거라 생각한다.