심플 소프트웨어

미니멀 라이프. 근래에 지구 곳곳에서 큰 관심을 받는 트렌드다. 지난 몇 년간 TV와 서점에 이와 관련된 다양한 콘텐츠가 쏟아져나오는가 하면, 너도나도 앞다투어 미니멀리스트가 되겠다고 선언하고 나서는 진풍경도 벌어졌다. 한낱 유행으로 보기에는 그 역사가 길다. 100년도 넘는 시간 동안 여전히 전 세계에 심대한 영향을 끼치고 있는 『월든』, 1976년 발간된 후 수많은 사람의 애독서로 자리잡은 법정 스님의 『무소유』 등 단순한 삶의 미학을 설파한 많은 선구자가 존재한다. 단순한 삶을 산다는 건 불필요한 곳에 기울일 관심을 중요한 곳에 집중한다는 뜻이고 그러면 도리어 삶이 풍요로워진다는 것이 이러한 철학의 중심에 있다.
단순성이 지닌 이러한 힘은 비단 일상에서만 발휘되는 게 아니다. 본서의 저자 맥스 카넷 알렉산더는 소프트웨어의 세계도 이와 별반 다르지 않다고 이야기한다. 그는 『Code Simplicity』라는 전작을 낸 저자답게 이 책에서도 소프트웨어 엔지니어가 단순성이라는 무기를 효과적으로 활용하여 어떻게 실력을 키우고 사용자에게 도움이 되는 소프트웨어를 만들 수 있는지 여러 각도에서 조명한다.
여기에는 소프트웨어 엔지니어링 분야에 몸담은 사람이 기억해두면 좋을 기본적인 원칙을 비롯해 디버깅, 리팩토링, 생산성 개선, 오픈 소스 커뮤니티 운영 등 다양한 실무에 피가 되고 살이 될 조언과 컴퓨터, 소프트웨어, 테스트 등 업계에서 쓰이는 핵심 개념에 대한 명확한 정리, 프로젝트를 성공으로 이끌 비결까지 망라된다.
무엇보다 이러한 각각의 주제를 인간에 대한 이해를 바탕으로 다룬다는 점이 이 책의 큰 장점이다. 엔지니어가 갖춰야 할 자세, 기술의 목적을 이야기할 때뿐 아니라 소프트웨어 개발 실무에서 유용하게 쓰일 여러 기술을 알려줄 때조차 개발자가 마주할 다양한 인간 군상의 역학 관계까지 고려한 지은이의 사려 깊은 통찰이 엿보인다. 이는 그가 이 책을 통해 소개한 원칙이나 정보를 단순히 이론적인 차원에서 습득한 것이 아니라 현업에서 몸소 겪으며 깨달은 바이기 때문에 가능했을 것이다.
그리고 이 책에는 말하고자 하는 바를 단순하고 명쾌하게 전달한다는 장점도 있다. 각 주제를 이렇게 단정하게 정리해서 보여주기까지 아마 상당한 시간과 노력이 들었겠지만, 그런 수고 덕에 독자는 이 책을 읽는 것만으로도 자신의 머릿속에 부유하던 많은 생각이 가지런히 정돈되는 경험을 할 수 있을 것이다.
많은 이들의 노력 덕분에 세상에 나올 수 있었던 이 책이 맥스의 바람대로 소프트웨어 개발의 세계를 조금이라도 더 풍요롭게 만드는 데 도움이 되었으면 한다.