
개발자의 생산성, 그리고 36개 키로 일하는 법에 대하여
풀링포레스트 CTO 송찬영이 말하는 개발자의 생산성과 인체공학 키보드 이야기. 손목 건강을 위해 36키 분할형 키보드 Corne으로 입력 방식을 리팩토링한 여정을 공유합니다.
송찬영
CTO

안녕하세요. 풀링포레스트 CTO 송찬영입니다.
개발자에게 키보드란 무엇일까요. 누군가에게는 그저 입력 도구일 뿐이겠지만, 하루 종일 코드를 작성하고 슬랙으로 커뮤니케이션하며 PR 리뷰를 남겨야 하는 우리에게 키보드는 신체의 일부와도 같습니다. 오늘은 기술 트렌드나 아키텍처 이야기가 아닌, 개발자의 '지속 가능한 직업 수명'과 직결된 도구 이야기를 조금 솔직하게 해보려 합니다.
솔직히 고백하자면, 저도 처음에는 소위 '장비병'을 경계했습니다. 화려한 기계식 키보드에 집착하는 문화가 때로는 본질인 개발 역량보다 도구에 치중하는 것처럼 보였기 때문이죠. 저는 오랫동안 PC 게이머였고, 표준 배열의 키보드와 마우스만 있으면 무엇이든 할 수 있다고 믿었습니다. 하지만 연차가 쌓이고 관리해야 할 레거시 코드와 작성해야 할 기술 문서가 기하급수적으로 늘어나면서 문제가 발생했습니다.
오른손 새끼손가락이 비명을 지르기 시작한 것입니다.
개발자라면 공감하실 겁니다. 표준 ANSI 키보드 배열에서 엔지니어는 괄호, 세미콜론, 따옴표 같은 기호를 입력하기 위해 오른손 새끼손가락을 혹사시킵니다. 여기에 Enter, Shift, Backspace까지 더해지면 반복성 스트레스 손상(RSI)은 시간문제입니다. 통증이 심해져 마우스를 왼손으로 옮겨보기도 했지만, 근본적인 해결책은 아니었습니다. 그때 문득 우리 팀의 문화가 떠올랐습니다. 풀링포레스트는 "기존의 방식이 비효율적이라면 과감히 폐기한다"는 원칙을 가지고 있습니다. 왜 저는 코드는 리팩토링하면서 제 입력 방식은 리팩토링하지 않고 있었던 걸까요.

처음 시도한 것은 Kinesis Advantage 360이었습니다. 엄지손가락에 Enter와 Space 등 주요 기능을 할당해 새끼손가락의 부담을 던다는 아이디어는 혁신적이었습니다. 하지만 막막했습니다. 첫날 타이핑 속도는 분당 20단어 수준으로 곤두박질쳤습니다. 머리로는 알고 있는 코드를 손이 따라가지 못할 때의 그 답답함은 겪어보지 않으면 모릅니다. 게다가 '이동성'이 문제였습니다. 재택과 오피스를 오가거나 카페에서 작업할 때, 그 거대한 키보드를 들고 다니는 건 고역이었습니다. 비싼 돈을 들여 구매한 장비가 애물단지가 되는 것 같아 불안하기도 했습니다.
그때 발견한 것이 오픈소스 프로젝트인 Corne 키보드였습니다. 놀랍게도 키가 36개에서 42개밖에 되지 않는 아주 작은 키보드입니다.
"36개 키로 코딩이 가능해?"라고 물으실 수 있습니다. 저도 의심했습니다. 하지만 Corne의 철학은 기술적 관점에서 매우 우아했습니다. '모든 키는 손가락의 기본 위치(Home Row)에서 한 칸 이상 떨어져서는 안 된다'는 원칙입니다. 손을 이리저리 뻗는 대신, 키의 기능을 레이어(Layer)로 쌓아 올리는 방식입니다.
이 과정은 마치 모놀리식 아키텍처를 MSA로 전환하는 과정과 비슷했습니다. 6개월 동안 저는 제 손에 맞는 레이아웃을 깎고 다듬었습니다. ZMK 펌웨어를 통해 키맵을 커스터마이즈하는 과정은 그 자체로 엔지니어링이었습니다.

지금 저는 6개의 레이어를 사용합니다. 기본 레이어에서는 알파벳을 입력하고, 엄지손가락으로 레이어를 전환하면 홈 로우가 순식간에 숫자 패드나 방향키, 혹은 괄호 입력 모드로 변합니다. 마치 게임 컨트롤러가 한정된 버튼으로 수많은 액션을 수행하는 것과 같은 원리입니다. 이제 저는 코딩할 때 손목을 거의 움직이지 않습니다. 오직 손가락만 우아하게 춤을 춥니다.
물론, 이 변화가 모두에게 필수적인 것은 아닙니다. 하지만 저는 이 경험을 통해 중요한 교훈을 얻었습니다.
첫째, '원래 그런 것'은 없습니다. 표준 키보드 배열이 비효율적이라면 우리는 그것을 바꿀 권리와 능력이 있습니다.
둘째, 초기의 불편함은 성장의 증거입니다. 뇌가 재배선(Rewiring)되는 고통스러운 시간을 견디면, 이전과는 비교할 수 없는 효율성을 얻게 됩니다.
셋째, 도구는 건강과 직결됩니다. 개발자로서 롱런하기 위해서는 자신의 몸을 아끼는 투자를 아까워하지 않아야 합니다.
지금 풀링포레스트에는 저를 포함해 꽤 많은 동료가 분할형 키보드(Split Keyboard)를 사용하고 있습니다. 누가 강요한 것이 아닙니다. 서로의 책상 위에 놓인 낯선 장비를 보며 "이건 왜 이렇게 생겼나요?"라고 묻고, 그 효율성에 대해 토론하다 보니 자연스럽게 퍼진 문화입니다.
여러분도 지금 사용하는 도구가 과연 최선인지, 혹시 관성에 젖어 불편함을 감수하고 있는 건 아닌지 한 번쯤 의심해 보시길 바랍니다. 때로는 36개의 작은 키가 광활한 104키보다 더 넓은 자유를 줄 수도 있으니까요.


