많은 회사가 개발자 생산성을 높이기 위해 DX(개발자 경험)에 투자합니다. 하지만 가끔은 ‘멋진 것’만 하려 하거나, 규칙을 만드는 데 집중하다가 DX의 본질을 놓치기도 합니다.
저는 DX의 본질은 “모르는 것을 모르도록, 아는 것을 알 수 있도록 만드는 것”에 있다고 생각합니다.
조금 더 풀어보자면,
1️⃣ 모르는 것을 모르도록 만들자
초보자든 숙련자든, 어떤 시스템을 쓸 때 “이걸 모르면 망한다”는 순간이 생기면 안 됩니다. 가장 많은 실수는 ‘개발자가 모르는 규칙이 생기는 것’입니다.
개발자는 항상 모든 내부 동작을 알 수는 없고, 몰라도 안전하게 일할 수 있어야 해요. 기본적인 실수나 오류는 시스템이 알아서 막아주고, 이상한 사용법은 유도하지 않아야 합니다. 이걸 가능하게 하는 게 바로 적절한 추상화입니다.
잘 만든 추상화는 복잡한 내부를 감추고, 꼭 알아야 할 것만 드러냅니다. “이걸 이렇게만 쓰면 된다”는 확신을 주는 것이죠. 그 덕분에 실수는 줄어들고, 온보딩 속도는 빨라지고, 전체 시스템의 안정성도 높아집니다.
2️⃣ 아는 것을 알 수 있도록 만들자
시스템이나 코드를 이해하는 데 ‘감’이나 ‘경험’이 필요하다면, 이미 생산성의 큰 장애물이 생긴 것입니다. 암묵지가 많아질수록, 아는 사람만 알고 다른 사람은 해매게 됩니다.
“그건 원래 그렇게 하는 거야”, “이건 OOO이 짠 거라 물어봐야 해” 같은 상황은 지식을 공유하지 못한 결과죠. DX는 이런 암묵지를 줄이고, 누구나 빠르게 이해하고 파악할 수 있도록 정보를 명시적으로 드러내는 데 있습니다.
어디서 뭘 잘못했는지, 지금 시스템이 어떻게 돌아가는지 로그, 문서, 코드 구조, 네이밍, 메시지 등을 통해 의도를 드러내고, 흐름을 추적할 수 있게 만드는 것, 그게 DX의 핵심 역할 중 하나입니다.
DX는 결국 ‘일이 잘 굴러가게 하는’ 데 집중해야 한다고 생각합니다.