2015년 7월에 입사하여 드라마앤컴퍼니에 온지 이제 1년이 지났습니다. 어느 분야든 정체를 겪다가 한번에 올라가는 순간이 있습니다. 저는 120만명 이상이 사용하는 리멤버 서비스의 안드로이드 앱을 혼자 개발하면서 한번에 올라가는 성장을 경험하고 있습니다. 개발 능력도 많이 성장하였지만, 근본적인 것들을 많이 배웁니다. 그리고 배운 것들 중 의미있는 것들을 나누려고 합니다.
원칙있는 개발, 기술부채의 최소화
지금까지 많은 유저가 실제로 사용하는 무언가를 만든 경험이 없었습니다. 리멤버를 통해 처음으로 돌아가는 서비스를 만들기 시작하였습니다. 일정기간 이상 운영된 서비스는 여러 기능이 얽혀 복잡도가 높습니다. 기획이 지속적으로 변경, 개선, 추가됨에 따라 복잡한 구조 사이로 코드를 변경하는 비용이 점점 증가합니다. 이러한 기술부채는 시장에서 제품을 빨리 검증받아야 하는 초기에는 의미있지만, 리멤버는 그런 시기가 지나있었습니다. 저는 기본으로 돌아갔습니다.
책임이 섞여있던 클래스들을 분리하고 리팩토링 하였습니다. 사용되고 있던 다양한 기술들을 역할에 따라 통일하였습니다. Flux, MVP 등의 패턴들을 새로 공부하여 앱 구조를 변경하였습니다. 테스트를 도입하고 CI를 연동하였습니다. 앱의 근본적인 변화가 쉽지는 않았지만, 몇개월의 투자로 이제 예전보다 빠르고 안정적인 개발을 하고 있습니다. 변화에 빠르고 안정적으로 대응할 수 있는 좋은 디자인의 소프트웨어를 만들기위해 기본으로 돌아가면서, 개발과 설계의 중요한 원칙들을 몸으로 익히고 있습니다.
https://speakerdeck.com/rfrost77/rimembeo-andeuroideu-byeonceongi
서비스를 운영한다는 것, 레거시에 대한 존중
프로젝트 단위로 개발을 할 때에는 항상 새롭게 만들었기 때문에 기존 유저를 고려하지 않아도 괜찮습니다. 하지만 돌아가고 있는 서비스에 변화를 준다는 것은, 기존 유저와 배포된 앱버전들을 고려해야 한다는 것을 뜻합니다. 그리고 이것이 운영의 일부입니다. 저는 실제 돌아가는 서비스에 대한 운영경험이 부족하였습니다. 생산성있는 개발환경과 퍼포먼스 좋은 소프트웨어를 만들기위해 고민하였지만, 기존의 것들까지 포함한 안정성은 많이 생각하지 못하였습니다.
그렇게 가입이 안되거나, 명함이 사라지거나 등의 몇번 큰 버그가 있었습니다. 운영을 고려하지 않고 많은 변화를 주었기 때문입니다. 불안정한 개발로 사용자 경험을 해치는 실수를 하면서, 레거시가 꼭 나쁜 것은 아니구나, 그것들까지 감싸면서 안정적으로 개발하는 것이 진짜 서비스를 ‘운영’하는 것이라는 것을 배웠습니다. 트렌드와 최신 기술을 꾸준히 따라가고 배우는 자세는 개발자로서 필요합니다. 하지만 실제 서비스는 약간의 퍼포먼스보다 검증된 안정성이 더욱 중요합니다. 저는 비용을 치루고 나서야 안정성을 검증하고 변화를 적용하는 자세를 배울 수 있었습니다.
문제 정의, 깊은 고민
모든 커뮤니케이션에는 이유가 존재합니다. 특히 문제에 대해 논의할 때에는 더욱 그렇습니다. 그런데 대화가 흘러가다보면 논점에서 벗어나기 쉽습니다. 그래서 문제를 정확히 용어로 정의하는 것이 중요합니다. 논의 주제를 적어놓고 보면서 계속 생각을 바로잡아야 올바른 결론을 도출할 수 있습니다. 회의뿐만 아니라 무언가를 고민할 때에도 마찬가지입니다. 내가 이것을 고민하는 이유를 계속 생각하면서 논리를 진행해야 좋은 의사결정을 할 수 있습니다. 드라마인들은 문제를 접근하기 전에 왜 우리가 이것을 해결해야 하는지 정의하고 시작합니다. 자연스럽게 저 또한 문제를 정의하고 생각을 정리하는 좋은 습관을 익혔습니다.
저는 이전까지 직감과 경험을 바탕으로 빠르게 무언가를 판단 하였습니다. 좋게 말하면 결단력 있는 것이지만, 가벼운 고민으로 좋은 의사결정을 하지는 못했습니다. 드라마에서 여러 의사결정을 보면서 문제에 잘 접근하는 방법을 배웠습니다. 구체적으로 그림을 그려보는 것이 중요합니다. 실제적인 깊은 고민은 의사결정을 단단하게 하고, 혹 결정이 실패하더라도 많은 Lessons Learned을 줍니다. 너무 긴 시간을 소요하면 안되겠지만, 내가 할 수 있는 최선의 깊이까지 바르게 고민하는 자세는, 매 선택으로부터 나를 발전시키는 중요한 발판 입니다.
좋은 비전을 공유하는 훌륭한 동료들과 재밌게 일하는 경험
지금까지 이것저것 배운 것들을 말씀 드렸지만, 제가 1년동안 얻은 가장 큰 것은, 좋은 비전을 공유하는 훌륭한 동료들과 함께 재미있게 일하는 지금의 경험 자체 입니다.
회사는 무언가를 함께 이루어나가며, 과정에서의 수익을 공유하는 집단입니다. 함께 이룰 무언가를 우리는 비전이라고 부릅니다. 가능성 있고 재미있는 비전 아래에는 좋은 사람들이 모이고, 모두 목표를 위해 자신의 최선을 다합니다. 드라마앤컴퍼니는 그런 일이 일어나고 있는 회사입니다. 우리가 바라보는 큰 그림을 위해 한 방향으로 함께 달리고 있습니다. 지금의 좋은 경험은 앞으로의 커리어에서도 타성에 젖지 않고, 목표를 향해 힘껏 달리도록 동기를 부여해주는, 긍정적인 마인드의 원동력이 될 것입니다.
저는 1년동안 이렇게 성장하였습니다. 아직 부족한 점이 많지만, 좋은 팀원들과 함께하기 때문에 지금처럼, 지금보다 더욱 발전할 수 있을 것이라 믿습니다. 앞으로 2년, 5년, 10년 후 저는 어떤 모습일지, 그리고 제가 뛰어든 이 비전이 어떻게 펼쳐질지 너무나 궁금합니다.