i_jemin

Archive

← 아카이브로

최고의 목수, 최고의 연장

최고의 목수는 망치질할 시간에 망치질을 한다. 좋은 연장을 고르는 데도 시간을 쓰지만, 그 준비가 작업을 계속 미루는 이유가 되지는 않는다.

자신에게 맞는 도구는 실제로 쓰는 과정에서 알게 된다. 광고 카탈로그를 10분 읽는 것만으로는 부족하다. 당장 쓸 수 있는 것이 1000원짜리 망치여도, 지금 해야 할 작업은 남아 있다.

개발 도구에 관한 이런 질문을 자주 받는다.

"~서비스를 만드려고 합니다. 그런데 A, B, C 라이브러리(또는 서비스)가 있던데 A는 어떻고, B는 어떤데 고민이네요. 차라리 C를 쓰는게 나을까요? C를 썼을때 나중에 서비스에서 비용이 너무 많이 나오지 않을까요?"

이미 만들고 있거나 기술적 요구사항을 파악한 상태라면 좋은 질문이다. 하지만 무엇을 만들지, 어떤 요구사항이 있는지는 모호한 채 도구의 장단점만 비교하면 선택을 끝내기 어렵다. 나는 이런 고민이 때로는 시작을 미루는 이유가 된다고 생각한다.

도구를 추천할 때도 비용과 제약을 따져보지만, 시작하기 전에 성공과 실패를 모두 예측할 수는 없다. 결과가 처음 선택한 도구 때문에 달라졌는지조차 쉽게 알 수 없다.

제품이 인기를 얻어 서버 비용이 늘어날까 봐 시작하지 못할 필요는 없다. 내 경험으로는 실제 비용 문제가 생겼을 때 최적화를 배우고 적용하게 되었고, 인기로 얻은 수익으로 비용을 감당하기도 했다.

일단 끌리는 도구로 망치질을 시작하자. 써보니 맞지 않으면 도중에 바꾸거나 다음 프로젝트에서 바꿀 수 있다. 처음 선택한 망치가 좋지 않았다고 해서 이미 박아둔 못이 사라지는 것은 아니다.


도구를 따지지 말자는 뜻은 아니다. 도구를 선택하는 과정과 일을 실행하는 과정을 구분하고, 선택을 작업의 유예 수단으로 삼지 말자는 것이다.

나도 도구를 까다롭게 고른다. 내 선택이 프로젝트에 잘 맞았던 경험도 많고, 다른 도구를 써야 할 때 불만을 느끼기도 한다. 특히 윈도우에서만 개발해야 하는 환경은 맥이나 리눅스를 쓸 때보다 불편하게 느낀다.

그래도 도구가 마음에 들지 않는다고, 만들고 싶었던 제품까지 만들고 싶지 않아지지는 않는다.