
계단 하나 만드는 게 그렇게 어려울 일인가요?
오늘은 최신 뉴스는 아니지만, 개발자들 사이에서 몇 년째 꾸준히 다시 읽히는 에세이 하나를 소개하려고 해요. 존 살바티어(John Salvatier)가 2017년에 쓴 "Reality has a surprising amount of detail(현실은 놀라울 만큼 디테일하다)"라는 글인데요. 제목만 보면 철학 에세이 같지만, 소프트웨어 개발자라면 읽다가 무릎을 탁 치게 되는 이야기거든요.
글은 저자가 아버지와 함께 지하실에 계단을 만드는 장면으로 시작해요. 계단이라니, 얼마나 단순해 보이나요. 판자를 잘라서 비스듬히 걸치고 발판을 올리면 끝일 것 같잖아요. 그런데 막상 시작하니 질문이 쏟아지기 시작해요. 나무는 어느 방향으로 잘라야 하지? 발판 높이를 전부 똑같이 맞추려면 어떻게 측정해야 하지? 목재가 미세하게 휘어 있으면 어느 면을 기준으로 삼아야 하지? 볼트를 조여야 하는데 드릴이 들어갈 공간은 나오나? 머릿속으로 계단을 그릴 때는 보이지 않던 디테일이, 직접 만들기 시작하자마자 사방에서 튀어나온 거예요.
이 글이 말하려는 진짜 핵심
저자가 이 경험에서 끌어내는 통찰은 세 가지예요. 첫째, 세상 모든 일은 멀리서 보면 단순해 보이지만 가까이 가면 디테일의 바다라는 것. 둘째, 그 수많은 디테일 중에서 어떤 게 정말 중요한지는 미리 알 수 없다는 것. 해보기 전에는 중요한 디테일과 사소한 디테일이 구분조차 안 되거든요. 셋째, 그래서 우리는 "이제 이 분야는 다 이해했다"고 느끼는 순간에도 사실은 보지 못하는 게 잔뜩 남아 있다는 거예요.
특히 세 번째가 재미있는데요. 저자는 이게 똑똑한 사람들끼리도 의견이 좁혀지지 않는 이유라고 설명해요. 같은 문제를 보고 있어도 각자 눈에 들어온 디테일이 다르기 때문에, 서로 "저 사람은 왜 저렇게 뻔한 걸 못 보지?"라고 생각하게 된다는 거죠. 상대가 멍청해서가 아니라, 서로 다른 디테일 위에 서 있어서 그렇다는 거예요. 논쟁이 평행선을 달릴 때 한 번쯤 떠올려볼 만한 관점이에요.
개발자에게는 매일 벌어지는 일
이 이야기, 어딘가 익숙하지 않나요? "간단한 CRUD 기능이에요, 이틀이면 충분해요"라고 말해본 적 있다면요. CRUD가 뭐냐면 생성(Create), 조회(Read), 수정(Update), 삭제(Delete), 그러니까 게시판 같은 기본 기능을 말하는데요. 막상 만들기 시작하면 디테일이 쏟아져요. 로그인 안 한 사용자는 어디까지 볼 수 있지? 삭제된 글에 달린 댓글은 어떻게 처리하지? 타임존은? 이모지가 들어간 제목은 안 잘리나? 설계 단계에서는 존재하지도 않던 질문들이 코드를 쓰는 순간 현실이 되는 거죠. 일정 산정이 항상 어긋나는 근본적인 이유가 바로 여기에 있어요.
튜토리얼을 아무리 봐도 실력이 늘지 않는 이유도 같은 원리로 설명돼요. 튜토리얼은 이미 누군가가 디테일을 다 쳐낸, 잘 포장된 길이거든요. 직접 밑바닥부터 만들어봐야 진짜 디테일과 부딪히고, 그 부딪힌 경험이 실력이 되는 거예요. 시니어 개발자의 가치도 결국 여기서 나와요. 코드를 빨리 치는 게 아니라, "그거 하다 보면 이런 문제가 나올걸요"라고 미리 말해줄 수 있는 것. 디테일의 지도를 머릿속에 갖고 있는 거죠.
AI 시대라서 더 와닿는 이야기
2017년 글인데 요즘 다시 읽히는 데는 이유가 있어요. LLM이 그럴듯한 설계와 코드를 몇 초 만에 뽑아주는 시대잖아요. 그런데 AI가 짜준 계획이 아무리 매끈해 보여도, 실제로 돌려보면 여전히 디테일에서 깨져요. 결국 누군가는 현실과 부딪히면서 그 디테일을 확인해야 하고, 그게 여전히 사람의 일이라는 거죠. "직접 해보기 전에는 모른다"는 이 글의 메시지가 오히려 더 무거워진 셈이에요.
한 줄 정리: 모든 일은 해보기 전엔 단순해 보이고, 중요한 디테일은 직접 부딪혀야만 보인다. 여러분도 "이거 금방 해요"라고 했다가 디테일의 늪에 빠졌던 경험이 있나요? 그때 발견한 의외의 디테일이 뭐였는지 궁금하네요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공