기술을 잘 다룬다는 것은
많은 사람들이 기술을 잘 다루는 것이라 하면 코드를 효율적으로 작성하고, 최신 기술을 사용하며, 오버헤드를 줄이고 성능을 최적화하는 것을 떠올립니다. 하지만 저는 이러한 요소들은 누구나 할 수 있는 일이라고 생각합니다. 수많은 레퍼런스와 SaaS 도구들, 다양한 솔루션들이 있기 때문에 기술적인 문제 자체는 비교적 쉽게 해결할 수 있기 때문입니다.
정말 중요한 것은 바로 과정 속에서의 의사결정이라고 생각합니다. 최신 기술을 사용하는 이유가 무엇인지, 이 기술이 우리 환경에 왜 적합한지, 그리고 그것이 어떤 문제를 해결할 수 있는지에 대한 고민이 기술을 잘 다루는 핵심입니다. 이러한 과정을 통해 최종 결정을 내리고, 그 결정을 통해 얻은 이점을 다시 지표로 확인하면서 기술을 활용하는 것이야말로 좋은 엔지니어링이며, 기술을 잘 다루는 방법이라고 믿습니다.
제 경험 중 한 가지 예시로, 동아리 사이드 프로젝트에서 캐싱 시간을 설정하는 문제를 들 수 있습니다. 사용자 경험을 해치지 않으면서도 API 호출을 최소화하기 위해 캐싱 시간을 얼마나 두어야 할지 큰 고민이 있었습니다. 이때 Google Analytics(GA)의 평균 체류 시간, 접속하는 URL 등 여러 지표를 분석하여 결국 3분이라는 캐싱 시간을 도출할 수 있었습니다. 이 설정을 통해 사용자가 체류하는 동안 최신 데이터를 유지하면서도 캐싱을 효과적으로 활용해 API 호출 수와 서버 리소스를 절약할 수 있었습니다.
이처럼 GA와 같은 도구에는 의사결정에 필요한 유용한 지표들이 담겨 있습니다. 실제로 카카오페이에서도 스켈레톤 UI 표시 여부를 결정할 때 이러한 지표들을 사용하여 분석한 사례가 있습니다. 해당 아티클을 읽어보시면 지표를 기반으로 문제 해결을 위한 의사결정을 하는 방법에 대한 인사이트를 얻을 수 있을 것입니다. 기술을 잘 다룬다는 것은 이러한 근거 있는 의사결정을 통해 문제를 해결해 나가는 과정이라고 생각합니다.