답이 없지만 답을 찾으려고 노력하는 게 바로 바둑이다
영화 승부는 세계 최고 대회에서 우승해 국민 영웅이 된 조훈현이, 재능 있는 제자 이창호와 함께 수년간 수련한 끝에 첫 사제 대결에서 충격적인 패배를 겪는 과정을 그립니다.
- 제자의 길 찾기:
이창호는 스승의 화려하고 공격적인 스타일과는 달리 자신만의 독자적인 바둑 철학을 구축해 나갑니다. - 스승의 깨달음:
오랫동안 자신의 방식이 정답이라고 믿었던 조훈현은, 제자의 수를 인정하며 정답이 없다는 사실과 그로 인한 성장을 깨닫게 됩니다.
두 인물은 바둑판 위에서 서로의 강점을 인정하며 끊임없는 도전과 자기 반성을 통해 각자의 길을 찾아 나갑니다.
이 영화를 보며 최근 읽은 이펙티브 엔지니어의 8장 ‘품질과 실용주의 사이에서 균형을 유지하라’가 주는 메시지와 닮아 있다고 생각했습니다.
옳고 그름보다는 효과를 우선시하라
책에서 “옳고 그름 대신에 효과가 있느냐 없느냐의 관점에서 대상을 보는 것을 선호한다”라는 말을 통해, 소프트웨어 개발에 절대적인 정답을 찾기보다 상황에 맞는 최적의 해결책을 찾아야 한다고 강조합니다.
저는 지금까지 코드 리뷰는 항상 코드를 머지하기 전에 선행되어야 하고, 작성한 코드에 적어도 하나의 테스트 코드는 작성해야 한다고 믿어왔습니다. 하지만 정답은 없고 팀의 문화와 상황에 따라 달라집니다.
예를 들어, 코드 리뷰와 테스트 작성 방식은 다음과 같이 달라질 수 있습니다.
- 코드 리뷰:
- 구글은 모든 변경 사항에 대해 철저한 리뷰를 진행해 코드 품질을 유지합니다.
- 인스타그램은 오버 더 숄더 리뷰를 통해 자연스러운 코드 검토 문화를 형성합니다.
- 스퀘어와 트위터는 페어 프로그래밍을 통해 팀 내 협업과 실시간 피드백을 중시합니다.
- 우얄라와 쿼라는 핵심 기능이나 비즈니스 로직에 초점을 맞춘 리뷰 방식을 채택해 효율적인 작업 환경을 마련합니다.
- 테스트 작성:
모든 기능에 대해 테스트를 작성하기보다는, 비즈니스 로직처럼 중요한 부분에 집중하여 시간과 비용을 절약하는 전략이 필요합니다.
영화 승부는 “정답은 없지만, 끊임없이 답을 찾아가는 과정”이라는 큰 메시지를 담고 있습니다.
머리로는 여러 방법이 있다고 생각하면서도, 종종 익숙한 방식에 안주하곤 합니다. 혹은 내 방법이 정답이라고 착각하기도 하죠. 영화 속에서 세계 최고 대회 우승자조차 제자의 새로운 가능성을 인정하며 성장하는 모습을 보니, 정말 열린 마음으로 세상을 바라봐야겠습니다.
결국 개발자에게도 하나의 정답만 존재하는 것은 아닙니다. 여러 방법을 시도하고, 다양한 관점을 받아들이는 자세야말로 우리를 더 나은 개발자로 이끄는 길임을 느끼게 됩니다.