더북(TheBook)

1.1.3 소프트웨어 공학 원칙을 적용하라

음악 거장의 콘서트를 관람한 적이 있는가 ? 같은 악기를 다루는 사람들 눈에 거장들은 어쩌면 저렇게 악기를 쉽게 다루는 건지 그저 신기할 따름이다. 거장은 자신의 악기가 쉬우므로 쉽게 악기를 다룰 수 있다. 손가락을 효율적으로 움직이고 몸이 편안한 상태에서 호흡할 수 있도록, 또 잡념에 사로잡히지 않고 오로지 음악에만 집중할 수 있게 오랜 시간 자신을 단련해왔기에 가능한 일이다.

그 역시 처음에는 아주, 아주 천천히 연주하면서 곡을 익혔을 테고, 곡을 완전히 섭렵한 다음에는 메트로놈 눈금에 맞는 속도로 연주할 수 있게 되었을 것이다. 그러니 실수란 생각하기 어렵다. 클래식 기타를 치는 한 친구는 세계에서 몇 손가락 안에 드는 거장의 수업을 들은 적이 있었다. 수업 시간 중 그 거장은 “나는 장담컨대 학생 여러분 누구보다도 더 느리게 연주할 수 있습니다 ”라고 말했다고 한다. 실수 없이 완벽하게 연주하려면 느리게 연주하는 것이 가장 빠른 길임을 그는 이미 깨우쳤다.

독자 여러분도 이 절에서 말한 원칙을 섭렵할 즈음, 힘을 덜 들이고도 더 신속하게, 빈틈없이 완벽한 소프트웨어를 작성할 수 있을 것이다. 주변 동료 개발자는 여러분이 짠 코드를 보면서 “여어, 자네 일 정말 쉽게 쉽게 하는군! ”하고 경탄하게 되리라.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.