마세라티 문제

0.

“Maserati Problem”이라고 있다. 차에 별로 관심이 없어 내 눈에는 “주차하기 어려워 보이는 차”일 뿐이긴 하지만 무지 좋고 비싼 차인가보다. 왠지 유명한 알고리즘 문제일 것 같지만 그런건 아니고, 마세라티 문제는 ‘네가 마세라티를 탈 때쯤 걱정하게 될 문제’를 말한다. 즉 당장은 커녕 영원히 걱정 안해도 될지 모르는 문제인 것이다.

1.

극단적인 예를 들자면 이런 것이 있겠다. 간단한 웹 어플리케이션을 하나 만들었는데 개발자 입장에서는 이게 영 마음에 안드는 것이다. 동시접속자가 100만명이 되면 어떻게 하지 하는 마음에 좋다고 소문난 언어를 배워서 서버를 죄다 갈아엎는다. “어느어느 유명한 서비스가 하둡을 쓴다는데!” 이러면서 생전 본적도 없는 하둡을 갑자기 공부해서 어설프게 쓰기 시작한다. “Fault-tolerance는 기본이지”라면서 서버를 두 배로 박고 그 사이에 자동으로 failover를 하는 시스템을 만든다. 또 왠지 새로운 임의의 기능을 추가하게 될 것 같은데 그게 뭐가 될지는 모르겠어서 “기능을 추가하는 기능”, 즉 플러그인 시스템을 만들기도 한다. 기존에 파는 인트라넷 서비스는 왠지 어설프고 마음에 안드는 부분이 있어서 인트라넷과 관리페이지도 직접 만들고 소스코드 관리까지 완벽히 연동한다. 이 모든걸 2~4주씩 걸려서 만든다.

2.

하지만 현실은 하루에 30명정도 들어 오는 웹사이트일 뿐이다. 개발자는 뭔가 잘못되었다는 생각을 한다. 내 코드는 완벽했는데 기획이, 마케팅이, 아무튼 뭔가 다른 것들이 잘못 돌아가고 있다고 생각을 한다. 그러면서 개발자는 또 이런이런 기술이 뜬다는 이야기를 어딘가에서 줏어듣고는 신기술을 적용하는 데에 집중한다…

4298911131_ffbae9b3bd_z

3.

이런 경향은 코딩 좀 한다는 개발자들이 의기투합하여 스타트업을 만들었을 때도 자주 나타난다. 뭔가를 만들어보려 했더니 코드에 문제가 있고 프레임웍을 갈아엎는다. 기술조사를 하는 시간이 부족해서 그랬다고 생각하고 그 시간을 확보하지만 그 사이에 핫한 기술은 다른 것으로 바뀌어 있다. 그래서 또 갈아엎는다. 그러다 파트타임으로 일하던 동료들은 한명 한명 자신의 사정이 생기고 지금까지만큼 회사에 시간을 투자하기 어렵게 된다. 그리고 자연스럽게 회사는 이름만 남고 사라진다. (그래도 그 결과물로 괜찮은 오픈소스 프로젝트가 나올 때가 있으니, 기술은 아무것도 모르고 경영동아리같은거 하다가 나도 스타트업이나 해볼까 하고 아무 개발자나 구해다 망하는 스타트업보다는 사회에 기여하는 바가 있다 하겠다..)

4.

동접 백만명은 동접 십만명이나 됐을 때 슬슬 걱정하라는게 마세라티 문제가 주는 메세지다. 일단 중요한건 만드는거다. 익숙하지 않은 시스템을 쓰기보다는 그냥 쓰던 것을 쓰고 기한 맞춰 빠르게 개발하는 것이 더 낫다는 생각을 한다. “전 PHP밖에 안해봤는데 PHP가 그렇게 안좋고 파이썬이 그렇게 좋다면서요?”…그냥 파이썬은 틈날때 들여다 보시고 PHP로 하시라. “요즘 NoSQL이 뜨고 있는데 MySQL밖에 모르지만 NoSQL을 써야 할까요?”…그냥 MongoDB는 마음 맞는 사람들과 스터디나 하시고 MySQL 쓰시라. 나중에 서비스가 정말 흥하면 피곤해지지 않겠느냐고? 물론 피곤할 것이다. 하지만 그때는 훨씬 행복하고 풍족하게 피곤할 수 있을 것이다.

ps. 눈치채셨겠지만 당연히 이 포스트는 자아비판이기도 하다…

글 : 조승연
원글 : http://goo.gl/0ShVYR

%d bloggers like this: