이번에 소개할 개발자는 백엔드 분야에서 활동하며, 한 회사에서 올해 만 10년 차를 맞이한 인물입니다. 현재 네이버쇼핑에서 ‘패션타운’ 서비스를 개발하고 있는 권태관 개발자가 그 주인공인데요. ‘네이버’라는 한 회사에서만 10년이라는 긴 시간을 보낸 만큼, 그가 참여했던 서비스도 쥬니버, 날씨, 네이버페이, V Live, 쇼핑라이브 등 다양합니다. 권태관 개발자에게 지난 10년은 개발자로서 다양한 경험을 쌓으며, 성장할 수 있었던 시간이었는데요. 어느덧 시니어 개발자가 되어 새로운 10년을 준비 중인 그에게 앞으로의 성장 이야기와 목표를 들어봤습니다.
이번 글에서는 앞서 발행된 ‘크로스 플랫폼 디자인 시스템, 1.5년의 기록(1)’에서 살펴본 정의를 실제 컴포넌트 구현에 어떻게 적용할 수 있는지 알아보겠습니다. 우선 차크라와 스펙트럼의 API를 다시 한번 살펴보겠습니다. 제품 언어를 만드는 입장에서 일관성을 최우선으로 추구하여 오른쪽의 API처럼 간결하게 제공하고 싶은 것은 당연한 생각입니다. 그러나 일관성을 추구하는 형태로 제공함으로써 발생할 수 있는 모든 케이스의 90%를 커버할 수 있다고 하더라도, 사용자 입장에서는 커버하지 못하는 10%의 케이스로 인해 개발이 지연될 수 있습니다.
파이썬으로 만들어진 프로그램을 배포할 때는 항상 파이썬 가상 환경을 사용했습니다. pipx가 사용되는 것은 여러 웹 사이트나 문서에서 많이 봐왔지만, 처음엔 ‘늘 사용하던 파이썬 가상 환경만 사용하면 됐지.. 뭘 더 배워야 하나’ 했습니다. 하지만 pipx를 사용하고 나니 제가 콘솔 스크립트가 포함된 파이썬 프로그램을 배포하는 과정이 엄청 지저분했구나 하는 생각이 들었습니다. 여러분도 제가 느낀 이런 천지가 개벽하는 느낌을 받을 수 있으면 좋겠습니다. 그래서 여러분에게도 pipx를 소개하고자 합니다.
‘React Native, Metro를 넘어서’ 1회에서는 번들러가 무엇인지와 번들러의 역할로 Resolution, Load, Optimization에 관해 소개했습니다. 1부 마지막에서 파일 크기를 줄이기 위한 Optimizaton을 간단히 이야기하고, 파일 크기를 줄이는 테크닉에는 크게 Minification과 Tree Shaking이 있다고 말씀드렸죠. 이 글인 2부에서는 Metro와 ESBuild의 차이를 조금 더 명확하게 알기 위해서, 이 각각의 테크닉이 구체적으로 어떤 역할을 하는지 살펴보겠습니다. 그리고 토스에서 Metro를 ESBuild로 바꾼 여정도 소개합니다.
애플리케이션 현대화에 따라 컨테이너 기반의 마이크로서비스 아키텍처가 많은 부분에서 적용되고 있습니다. 이러한 기반 아키텍처는 컨테이너를 기반으로 한 배포 파이프라인이 필요한 경우가 많습니다. 그리고 이러한 배포 파이프라인으로 전달되는 최종 결과물은 컨테이너 이미지이며, 이 결과물을 어떻게 만들어 내는가에 따라서 효율적인 파이프라인을 가지고 있다와 아니다를 말할 수 있습니다. 하지만 우리가 여기서 중요하게 봐야 하는 또 다른 지점이 있는데, 바로 파이프라인등을 통해서 컨테이너가 빌드될 때 컨테이너의 용량을 줄이는 것입니다.
메타 인지를 높이는 데 가장 효과적인 방법은 피드백을 이용하는 것이다. 예를 들면 개발자들은 프로그래밍 언어를 배울 때부터 피드백에 익숙해져 있다. 코드를 타이핑하는 순간 컴파일러가 바로 구체적인 피드백을 준다. 무엇이 잘못되었는지를 바로 인지하고 고친다. 한 줄을 작성해도 그 안에 컴파일러 간의 몇 번의 피드백이 담겨 있다. 피드백을 있는 그대로 수용하는 것만으로 성장으로 연결되지 않는다. 피드백을 어떻게 받아들이는지가 중요하기 때문이다. 이 글은 피드백 받는 당사자 입장에 피드백을 받아들이고 이를 통해 성장하는 법을 다룬다.