Ahn Jungho

안정호의 블로그입니다

왜 사이드 프로젝트를 마무리하지 못했을까

Thursday, August 28, 2014

최근에 저는 홀로 아이폰앱을 만드는 사이드 프로젝트를 진행했습니다. 프로그래밍을 해오면서 처음 사이드 프로젝트를 시도한 것은 아니었습니다만 이번에는 예전과 달랐습니다. 예전에는 보통 완성하지 못하고 흐지부지되고 말았는데 이번 프로젝트는 마무리를 하고 세상에 공개했다는 것이 달랐지요. 어플리케이션을 모두 만들어서 앱스토어에 올린 뒤에 왜 그동안 사이드 프로젝트를 완성하지 못했는지 생각해보게 되었습니다.

제대로된 기획이 없었습니다.

머리에 번뜩 신선한 아이디어가 떠오릅니다. 있으면 좋을 것 같은데 간단히 사이드 프로젝트로 한번 만들어볼까하는 생각이 듭니다. 처음에는 가벼운 마음입니다. 본업도 아니고 간단하게 만들 것이니 기획을 진지하게 할 필요가 없지요. 그래서 코드를 짜기 시작하는데 머리 속에서 기획이 자꾸만 증식을 합니다. 이런 기능이 있으면 더 좋을거야. 하지만 손이 아무리 빨라도 생각보다 빠르지는 않더라구요. 어느 사이엔가 어마어마한 규모의 프로젝트가 되고 더이상 가벼운 사이드 프로젝트가 아니게 됩니다. 안되겠다. 나중에 다시 생각해보고 만들어야겠다. 그리고 그만두게 되더군요.

결국 제대로된 기획이 없어서 사이드 프로젝트를 마무리하지 못했습니다. 그래서 이번에는 코드를 짜기 한참 전에 내가 정말 만들고 싶은 것이 무엇인지, 원하는 기능은 무엇인지 생각하는 시간을 가졌습니다. 버전 1.0에 넣고 싶은 기능들을 추려냈죠. 그리고 딱 기획한 만큼만 구현했습니다. 이제야 완성이 되더군요. 그동안 사이드 프로젝트라고 만만히 생각하고 기획없이 시작한 것이 문제였습니다.

디자인 능력이 너무 부족했습니다.

어릴적부터 미술에는 도통 재능이 없었습니다. 혹은 없다고 생각하며 자랐지요. 프로그래밍을 하게된 후에 웹개발도 하고 iOS앱개발도 하게 되었습니다만 디자인을 할 수 없으니 무엇을 만들어도 만든 저조차 보기가 싫더군요. 그래서 논리적인 부분의 코드를 완성한 후에 디자인을 해야하는 시점이 오면 일이 엄청나게 늘어지곤 했습니다. 아무런 결정도 내리지 못하거나 이렇게 저렇게 바꿔봐도 보기싫은 작업물을 마주하며 좌절했지요.

다행이었던 것은 미술에 자신이 없었지만 구경하는 것은 좋아한다는 점이었습니다. 시간날 때면 Dribbble, Behance, ThemeForest, Kuler를 돌아다녔지요. 마음에 드는 디자인을 만나면 사용된 색과 서체와 레이아웃을 한참 바라보곤 했습니다. 그리고 기회가 될 때마다 디자이너와 이런 저런 이야기를 했습니다. 학교에서 어떤 수업을 듣는지, 수업에 사용된 교재는 무엇인지, 디자인할 때 어떤 툴을 사용하는지 물었지요. 디자이너가 작업하는 과정을 구경하기도 했습니다.

그러다보니 아주아주 조금씩 디자인 실력이 늘더군요. 예전에는 기본적인 UI컴포넌트를 사용해도 영 마음에 들지 않더니 이제는 눈뜨고 봐줄 정도는 되는 것 같습니다. 서체 이름도 몇 개는 외우게 됐습니다. 그래서 이번 사이드 프로젝트에서는 디자인 작업에 별로 시간이 들지 않았습니다. 색을 고르고 서체를 고르는 일, 글씨의 크기와 줄간격을 조절하는 일 모두 직접 했습니다. 예전에는 전혀 하지 못했던 일을 할 수 있게 됐고 결과적으로 사이드 프로젝트를 완성하는데 도움이 되었습니다.

영어, 언제나 발목잡는 영어.

한 때 정적 사이트 생성기static site generator에 빠져서 미천한 실력이지만 오픈소스 라이브러리를 만들어보고 싶다는 생각을 한 적이 있습니다. 실제로 한동안 코드를 짜기도 했지요. 하지만 코드를 짜는 동안 자꾸만 문서작업에 대한 걱정이 들기 시작했습니다. 문서가 제대로 작성되어 있지 않은 오픈소스를 누가 씁니까. 영어 실력이 부족해서 외국인 앞에서는 말도 제대로 못하고, 개발 문서를 간신히 읽으며 프로그래밍하는 실력에 남들이 볼 문서를 영어로 적어야 한다니. 자꾸만 자신감이 없어지더군요. 그래서 결국 흐지부지 그만두게 되었습니다.

영어 공부를 하고 있습니다. 기회가 되면 오픈소스 활동도 하고 싶습니다만 아직은 자신이 없어서 문서를 공개하지 않아도 되는 GUI 프로그래밍 쪽으로 더 마음이 기울어져 있습니다.

그래서?

그래서 제 생각은 이렇습니다. 사이드 프로젝트라고 대충 생각하고 코드를 짜기 시작하지 말자. 기획은 언제나 충실히 해야한다. GUI 프로그래밍에서는 디자인 실력이 발목을 잡고 오픈소스 활동에는 영어실력이 발목을 잡는다. 프로그래밍에만 전념하지 말고 디자인과 영어 실력도 조금씩 키워가자.