소프트웨어 아키텍트가 알아야 할 97가지 이야기
연구이야기/도서이야기☆

소프트웨어 아키텍트가 알아야 할 97가지 이야기

여러분은 꿈(Dream)은 무엇인가요? 꿈은 마음을 설레게 하는 힘이 있는 단어인 것 같습니다. 또한, 왠지 모르게 열정이 샘솟게 합니다.


꿈을 포기할 때의 심정은 이루 말할 수 없을 정도로 비참합니다. 자의건 타의건 간에 꿈꾸는 것을 포기해야 할 때, 커다란 실망감에 휩싸이게 됩니다. 필자도 어린 시절 꿈이 있습니다. 비록 제 주변 여건으로 그 꿈을 포기하게 되었고, 그 시기에 큰 실망감에 빠져 있었습니다. 이것도 성장통의 일종이겠죠?


시간이 흐른 후, 어린 시절 꿈꿔왔던 꿈과는 달라졌지만 저는 새로운 꿈을 꾸고 있습니다. 예전 꿈은 어쩔 수 없이 포기했지만, 지금 꿈꾸고 있는 꿈은 포기하고 싶지 않습니다.


모든 것은 꿈에서 시작된다. 꿈 없이 가능한 일은 없다. 먼저 꿈을 가져라.
오랫동안 꿈을 그리는 사람은 마침내 그 꿈을 닮아간다.


- 앙드레 말로


앙드레 말로의 꿈에 대한 표현입니다. 참으로 멋진 표현인 것 같습니다. 앙드레 말로의 표현처럼 제가 꾸고 있는 꿈과 닮아갈 수 있었으면 좋겠습니다. 이번 시간에는 소프트웨어 아키텍트와 관련된 에세이를 모아놓은 책을 소개하려고 합니다. 이 책에 실린 에세이들은 소프트웨어 아키텍트에게 중요한 점들을 상기시켜 줄 것이고, 소프트웨어 아키텍트를 꿈꾸는 사람들에게 큰 영감을 선사해 줄 것으로 생각합니다.


The Book INSIDE

[제목] 소프트웨어 아키텍트가 알아야 할 97가지

[평점] ★★★★☆

[저자] Richard Monson-Haefel 엮음 | Eva Study 옮김
[링크] http://goo.gl/K1ugR | http://goo.gl/ThW4e

지&선(지앤선) | 2011-04-14
반양장본 | 256쪽 | 230*176mm | ISBN(13) : 9788993827330


<소프트웨어 아키텍트가 알아야 할 97>가지에는 총 105편의 에세이가 실려 있습니다. 왜냐하면, 원래 원서[각주:1]에 실려 있는 97편의 이야기에 국내 유명 아키텍트 8분의 에세이가 추가적으로 실려 있기 때문입니다.


Richard Monson-Haefel - http://www.monson-haefel.com

독립 소프트웨어 개발자로 Enterprise Java Beans의 5판, Java Message Service의 1, 2판의 공동 저자이다. 그는 현재 멀티 터치 인터페이스 디자이너/개발자이자, 엔터프라이즈 컴퓨팅을 이끌어가는 전문가이다.


Richard Monson-Haefel Says[각주:2]...

소프트웨어 아키텍트들은 IT 에서 특별한 위치를 차지하고 있습니다. 자신들의 조직을 운영하는 것뿐만 아니라, 서비스하는 비즈니스를 운영하는 기술과 소프트웨어 플랫폼을 알고 있는 사람들입니다. 우수한 소프트웨어 아키텍트는 동전의 양면인 비즈니스와 기술을 모두 터득할 필요가 있습니다. 이는 결코 조그만 도전 과제가 아니며, 이 책이 쓰여진 이유이기도 합니다.이 책 ' 소프트웨어 아키텍트가 알아야 하는 97가지'는 흔히 일어나는 실수를 피하는 방법에서부터 능력있는 팀을 만드는 방법까지 모든 것에 대해 전 세계의 소프트웨어 아키텍트들로 부터의 조언을 실었습니다.


보통 소프트웨어 아키텍트들 또는 소프트웨어 아키텍트가 되기를 열망하는 분들을 위해서, 업계 최고의 소프트웨어 아키텍트들의 총체적인 조언들이 모여 있는 서적입니다.이 책이 모든 소프트웨어 전문직을 위한 영감과 지침에 대한 좋은 시작점이 되기를 진정으로 바랍니다. 또한 소프트웨어 아키텍트들이 이 책을 읽고 오늘날 정보 기술의 가장 도전적인 직업으로 조언과 통찰력을 공유하기 위해서 관련 웹사이트를 사용하기를 원합니다.


EVA

Pattern과 소프트웨어 공학 지식을 외부에 알린다는 의미로 Eva(Evangelism)라는 이름으로 10년 넘게 꾸준히 활동하고 있다. 다양한 도메인의 멤버들이 모여, 90여개가 넘는 무료 Webcast를 공유, 잡지 기고, 패턴 만들기 등 왕성한 활동을 하고 있다. 또한 패턴의 진원지인 PLoP(패턴학회)에 패턴을 발표한 패턴 저자들의 모임이다.


매력적인 에세이

앞에서도 간단히 언급했듯이, <소프트웨어 아키텍트가 알아야 할 97가지>에서 소개하는 에세이들은 모두 주옥같은 메시지를 담고 있습니다. 한 번쯤 읽어보시면, 제 말을 이해하실 수 있으실 것입니다. 이 절에서는 <소프트웨어 아키텍트가 알아야 할 97가지>의 내용 중 몇 개의 에세이를 선택해서 여러분에게 소개하고자 합니다.


▒ Dan Chak - 요새 같은 데이터베이스를 구축하라.

비즈니스 규칙과 사용자 인터페이스는 빠르게 발전하는 반면, 데이터의 구조와 관계는 종종 그렇지 못할 때가 있습니다. 그러므로 여러분의 데이터 모델이 처음부터 구조적이고 논리적으로 정의하는 것이 중요합니다.


.. 중략 ..


관계형 데이터베이스를 최대한 이용하려면 애플리케이션 데이터를 위한 간단한 저장소가 아닌 애플리케이션의 진정한 한 부분이 되도록 구축 초기 단계부터 완벽하게 이해할 필요가 있습니다.


- <소프트웨어 아키텍트가 알아야 할 97가지>의 46~47페이지 내용 중 일부분


이 에세이를 읽으면서, 많은 개발자와 아키텍트가 평소에 놓치고 있는 중요한 점을 잘 설명하고 있다고 생각했습니다. 비즈니스(요구사항) 변화에 유연하면서도 강건한 데이터 모델을 구축하는 것은 최근 관심사로 떠오르고 있는 데이터 품질과 직결됩니다. 데이터베이스진흥원에서 운영 중인 디비디비에서 작성한 <데이터 품질? 아차 하다 늦습니다. - 데이터 오류 사례>에 따르면, 저품질 데이터로 발생하는 경제적, 사회적 피해 비용은 한 해 46.9조 원 규모로 추산된다고 합니다. 우리나라 1년 총 예산이 약 300조 원 정도이니, 저품질 데이터 때문에 발생하는 피해 비용은 실로 엄청난 액수입니다. 개인적으로 데이터에 대해 많은 관심을 가졌으면 좋겠습니다.


▒ Paul W. Homer - 데이터가 핵심이다

컴퓨터는 여러분이 데이터 더미에 접근하고 조작할 수 있도록 도와주는 멋진 도구일 뿐입니다. 반면 데이터의 구조는 거대한 시스템의 복잡성을 관리하는 방법을 이해하는 데 핵심입니다.


- <소프트웨어 아키텍트가 알아야 할 97가지>의 122~123페이지 내용 중 일부분


이 에세이를 읽으면서, 제가 무척 존경하는 엔코아의 대표 컨설턴트이자 CEO로 재직 중이신 이화식 대표님의 메시지가 생각이 납니다. 그 메시지는 "데이터는 시스템의 본질이다." 입니다. 이화식 선생님을 알고 계신 분이면, 굉장히 많이 들은 문장일 것입니다.


저는 이 문장을 제 박사과정 담당 교수님이신 박현주 교수님의 책[각주:3]에서 처음 접했습니다. 교수님께서 이화식 선생님께 책을 선물 받으시면서 자필로 된 사인을 함께 받으셨는데, 그 사인에 위 메시지가 적혀 있었습니다. 이화식 선생님께서는 글씨도 명필이시더군요. 저는 이 문장을 처음 접했을 때, 많은 생각을 하게 되었습니다. 그전에는 막연히 데이터베이스가 재미있고, 다른 과목에 비해 관심이 많았을 뿐이었는데, 이 메시지를 접하는 순간 제가 놓치고 있던 것이 뭔가를 깨달았다고 할까요? 실제로 이 메시지가 제가 새로운 꿈을 꾸게 해준 원동력이었습니다.


소프트웨어 개발자라면 다른 에세이는 못 읽으시더라도, 이 에세이는 꼭 읽어보셨으면 좋겠습니다. 아마도 많은 깨달음을 얻을 수 있을 것으로 생각합니다. 아울러 이화식 선생님의 강의도 시간을 투자하여 한 번쯤 들어보시면 큰 도움을 받으실 것으로 확신합니다. 이화식 대표님의 강의는 디비가이드(DBGuide)에서 감상하실 수 있습니다[각주:4][각주:5].


▒ Brian Hart - 근면성이 필요하다.

아키텍트가 하는 일은 종종 창의력이나 문제를 해결하는 것에 초점을 둔 행위처럼 묘사됩니다. 창의력은 성공적인 아키텍트의 특성입니다. 하지만, 성공적인 아키텍트가 하는 활동들의 중요한 특징은 근면성입니다.


- <소프트웨어 아키텍트가 알아야 할 97가지>의 156~157페이지 내용 중 일부분


▒ Yi Zhou - 자신의 결정에 책임감을 가져라.

소프트웨어 아키텍트들은 조직에서 소프트웨어 프로젝트에 대해 대부분의 사람보다 강한 영향력을 가지기 때문에 자신의 결정에 책임을 져야만 합니다.


- <소프트웨어 아키텍트가 알아야 할 97가지>의 158~159페이지 내용 중 일부분


마지막 2개의 에세이는 아키텍트뿐만 아니라, 모든 사람이 가져야 할 덕목이겠지요? 그러므로 따로 언급하지는 않겠습니다. 한 가지 덧붙이고 싶은 말은 장인정신을 추가하면 좋겠네요.


마치면서

<소프트웨어 아키텍트가 알아야 할 97가지>는 출시되기 전부터 기대하고 있었던 책입니다. 이 책을 옮긴 EVA 팀의 리더인 손영수님이 운영하고 있는 블로그에서 이 책에 대한 글을 읽었을 때부터이니 꽤 오랜 시간이 흘렀네요. 아키텍트에 관심이 있으신 분은 이 블로그에 방문하시면 많은 도움을 받으실 수 있다고 확신합니다.


책의 두께는 부담스럽지 않지만, 그 안의 내용은 쉽게 읽을 수 있는 수준은 아니었던 것 같습니다. 하나의 에세이를 읽으면, 읽을수록 많은 생각을 하게 만들기 때문입니다. 참고로 EVA 팀의 번역은 오랜 시간을 투자하고, 각 분야의 전문가가 심혈을 기울이기 때문에 믿으셔도 됩니다. <소프트웨어 아키텍트가 알아야 할 97가지>도 아주 매끄러운 번역 수준을 자랑합니다.

  1. 이 책의 원서는 <97 Things Every Software Architecture Should Know> 입니다. [본문으로]
  2. 이 글은 지앤선 출판사의 블로그(http://goo.gl/8S7br)의 글을 참조했습니다. [본문으로]
  3. 데이터 아키텍처 솔루션 I 입니다. [본문으로]
  4. 실제 URL을 남겨 드리려고 했습니다만, 회원 가입 후 로그인을 해야 접근할 수 있는 페이지이기 때문에 부득이하게 남기지 않겠습니다. [본문으로]
  5. 로그인 하신 후, 온라인교육 - 데이터아키텍처 - [세미나] 데이터아키텍처 전문가로 가는 길에서 감상하시면 됩니다. [본문으로]