지난 주 금요일 그동안 준비했던 서비스를 런칭했다.
아직 본격적인 마케팅 활동을 하기 전이라 '런칭'이라는 의미가 모호 하지만 내기준으로 web에 결과물을 publishing을 하는 것을 런칭이라고 정했고 개발용 URL을 정식 URL로 바꿔낀 지난 금요일을 런칭했다고 표현 했다. 사실 아직 방문자는 거의 없다.
기획 3달, 구현하는데 2달 정도 걸린것 같다. 일정을 연기하기를 수 차례 처음 계획했던 일정에서 한달반 이상 늦어 지게 되었다.
서비스를 구체화 해가면서 처음 세웠던 가설의 상당부분이 잘못 된 것을 발견했고, 인하우스와 아웃소싱의 의사결정도 미숙했었고 저비용 개발을 위해 결정한 tool은 매우 잘못된 선택이었다는 것도 알게 되었다.
그외에도 테이크어에이 할것은 무수히 많지만 언제 한번 따로 정리하는 것으로 미루고, 개발자로서 필요한 자질에 대해서 만 얘기해볼려고 한다.
이번 서비스를 준비하면서 대부분의 스타트업이 그렇듯이 기획, 마케팅, 개발, 디자인 등 역할 구분없이 닥치는대로 하지만 런칭 막판에는 어쩌다보니 서비스를 구현하는 개발자 역할을 맡게 되었다.
기획자 생활을 오래 하면서 PPT 작업과 보고에 치이다 보니 주위에 있는 개발자를 부러워 한적이 많다.
대학때 교양스러운 과목에서 C++로 오셀로와 로그인을 코딩하며 시간가는 줄 모르고 몰입했던 경험과 실제 동작할때의 쾌감 같은 느낌을 어렴풋이 가지고 있어서 오히려 몰입하면서 일할 수 있는 프로그래머가 나의 천직이 아닐까 하는 생각도 몇번 가졌었다. 아침에 부시시한 얼굴과 편안한 차림으로 연구소로 출근해서 빵먹으면서 코딩하다가 퇴근하는 삶이 부러운 적도 있었다.
그런데 이번에 개발역할을 맡고 그야말로 몸빵으로 막으면서 나는 개발자의 자질이 없다는 것을 깨달았다.
개발을 하다보면 머리속이나 스토리보드에 있는 형상을 구현할 때 어려움에 봉착할 때가 많다. 일단 어려움이 닥치면 공부(구글링)를 시작 하고 해결 방법을 찾는다.
코딩이라는 것이 로직과 로직의 묶음이기 때문에 이런한 어려움중 대다수는 로직트리를 타고 올라가 코어를 건드릴 때가 많다. 그런데 코어에 가까울 수록 원천적인 공부가 필요하다.
반면 코어를 건드리지 않고 비슷하게 껍데기를 꾸며서 구현 할 수도 있다. 회계에서 분식과 같은 일인데 프론트엔드의 디자인이나 껍데이에 화장을 살짝 고치면 가능하다.
개발을 하면서 시간에 쫒기다 보면 이런 껍데기를 살짝 바꿔서 모면하고 싶은 분식의 유혹을 강하게 느낀다. 코어를 건드리지 않으면 언젠가 어디선가 에러가 발생할 거 같은 묘한 느낌이 들면서도 나는 계속 이러한 유혹에 무너졌고 분식을 하면서 넘어 갔다.
핑계를 대자면 나는 원래 정통파는 아니다 탁구를 칠때도 깎기 위주의 사파 패턴이고 당구를 칠때도 정통 각과 타법보다는 싯기와 오시와 시네루로 대결한다.
나는 그렇지 못했지만 개발자 역할을 해보면서 코어를 과감하게 건드리고 그런 과감함을 빛내줄 꾸준한 학습 이것이 내가 느낀 개발자의 자질 첫번째다.
두번째는 정리한 습관이다. 코딩을 하면서 디버깅을 하고 기능을 구현해 나가면서 정리는 필수다. 똑같은 상황에서 시간을 절약하고 다른 사람이 이해하기 쉬워야 하기 때문이다. 특히 나같이 기억력이 떨어지면 정리는 더욱더 필수 인데 이런 자질 역시 부족함을 느꼈다.
런칭을 앞두고 며칠 밤새면서 몸도 버렸고, 결과물도 썪 마음에 들진 않지만 어찌되었든 서비스는 이땅에 나왔고 결과에 관계없이 좋은 개발자를 구분할 수 있는 안목을 조금은 갖췄다는데 의미를 두고 싶다.