쏘카가 '한 사람이 짠 것처럼' 코드를 유지하는 프레임워크 전략

썸네일

"더 나은 시스템을 구축하면서 동시에 개발자도 행복하게 코딩할 수 있는 환경." 2019년 쏘카 앱을 전면 개편할 때 세운 목표예요. 이상적으로 들리지만, 7년이 지난 지금까지 그 철학이 쏘카프레임이라는 구체적인 형태로 살아 있다는 게 인상적이죠.

쏘카프레임의 핵심 아이디어는 잉여 시간의 선순환이에요. 조직이 질적으로 개선되려면 잉여 시간을 확보해야 하고, 그 시간은 인프라 개선, 라이브러리 도입, 새로운 기술 학습에 재투자돼요. 이게 다시 생산성을 높여서 더 많은 잉여 시간을 만들어내는 구조죠.

개발자의 사고방식을 가이드하고 논리를 규격화한다

쏘카프레임은 Android, iOS 네이티브 개발 시 동일한 추상화 위에서 앱을 개발하기 위한 프레임워크예요. 플랫폼과 다양한 라이브러리를 동일한 기조로 래핑해서 사용성을 통일하고, 예외 처리의 정규화된 방법을 제공하죠. 엄격한 코딩 컨벤션과 제식화된 기반을 통해 마치 한 사람이 작성한 듯한 일관성을 유지하는 게 목표예요.

이걸 통해 개발 과정의 불확실성이 최소화돼요. 매번 새롭게 고민해야 할 선택의 문제가 줄어들고, 개발자가 비즈니스 로직을 조달하는 데 집중할 수 있거든요. 서비스 조달 시간이 단축되고 전형적 문제가 발생할 가능성도 차단되죠.

Android 개발자가 iOS 코드를 읽을 수 있는 구조

양 플랫폼이 공유할 수 있는 추상화의 경계를 드러내도록 설계했다는 점이 독특해요. 한 쪽의 개발 경험만 가진 사람이 반대편 코드를 봤을 때도 모듈 구성을 이해하기 쉽고, 빠르게 파악할 수 있어요. 제품 안정성 향상, 개발 속도 향상, 스트레스 감소, 인적 구성의 유연성까지 효과가 다방면이에요.

흥미로운 건 AI 코드 완성의 정확성까지 높아진다는 점이에요. 인간이 배우기 좋은 코드 택틱은 AI 입장에서도 배우기 좋거든요. 일관된 기존 코드는 훌륭한 트레이닝 셋이 되는 셈이에요. 7년 전의 설계 철학이 AI 시대에도 유효하다는 건, 결국 좋은 코드의 본질은 변하지 않는다는 뜻이 아닐까요.