TECH 으로 돌아가기
TECH GITHUB 2026.04.26 17분 읽기 133 READS

[심층분석] 직접 만들어보면서 배우는 게 진짜다: 'Build Your Own X'가 50만 별을 받은 이유

[심층분석] 직접 만들어보면서 배우는 게 진짜다: 'Build Your Own X'가 50만 별을 받은 이유

들어가며: 왜 우리는 "직접 만들어보기"에 끌리는가

혹시 이런 경험 해보셨어요? React를 몇 년째 쓰고 있는데, 막상 "가상 DOM이 어떻게 동작해요?"라는 질문을 받으면 머릿속이 하얘지는 그런 순간이요. 또는 매일 git commit을 치면서도 "근데 .git 폴더 안에서 정확히 무슨 일이 벌어지는 거지?" 하는 의문이 스쳐 지나가는 그런 경험. 저만 그런 건 아닐 거예요.

오늘 이야기할 GitHub 저장소는 바로 그런 갈증을 정확히 짚어내는 프로젝트예요. codecrafters-io/build-your-own-x. 이름 그대로 "네가 좋아하는 기술을 직접 만들어봐"라고 권하는 큐레이션 모음집인데요, 무려 50만 가까이의 스타와 4만 7천 개의 포크를 받으며 GitHub 역사상 손에 꼽히는 인기 저장소가 됐어요.

흥미로운 건 이 저장소가 어떤 새로운 라이브러리나 프레임워크를 제공하는 게 아니라는 점이에요. 그냥 "링크 모음"이거든요. 그런데도 이렇게 많은 개발자들이 별을 누른 이유가 뭘까요? 저는 여기에 우리 업계가 지금 처한 어떤 "피로감"과 "근본으로 돌아가고 싶은 욕구"가 함께 담겨 있다고 봐요.

요즘 개발자들의 일상을 한번 떠올려보세요. AI 어시스턴트가 코드를 자동완성해주고, 프레임워크가 알아서 라우팅해주고, ORM이 SQL을 대신 짜주고, Docker가 환경 설정을 추상화해줘요. 편한데, 어딘가 찜찜하죠. "내가 정말 이걸 이해하고 쓰는 건가?" 하는 의심이 들어요. 그래서 사람들이 이 저장소를 "북마크해놓고 언젠가 꼭 해봐야지" 하면서 별을 누르는 거예요.

'Build Your Own X'는 정확히 뭘 모아놓은 건가요

이 저장소가 표방하는 슬로건은 리처드 파인만의 그 유명한 말이에요. "내가 만들 수 없는 것은 이해하지도 못한 것이다(What I cannot create, I do not understand)." 노벨 물리학상을 받은 천재 물리학자가 칠판에 남긴 이 한 줄을 개발 학습의 모토로 삼은 거죠.

구체적으로 어떤 카테고리들이 있냐면요, 정말 광범위해요. 한번 쭉 보실까요?

비유하자면, freeCodeCamp가 "운전 학원에서 운전 배우기"라면, Build Your Own X는 "엔진을 분해해보면서 자동차 원리 이해하기"에 가까워요. 둘 다 필요하지만 목적이 달라요.

한국 개발자에게 주는 실질적 조언

자, 그래서 이걸 어떻게 활용하면 좋을까요? 몇 가지 시나리오를 제안해볼게요.

1. 주니어 개발자: "한 분기에 하나씩" 챌린지

매일 야근하느라 지쳐 있는 주니어분들도 많을 텐데요, 한꺼번에 다 하려고 하지 마세요. 분기에 하나씩, 즉 1년에 4개 정도면 충분해요. 추천 순서는 이래요.

1. 1분기: 직접 만드는 Git (10~15시간 정도면 돼요. 매일 쓰는 도구라 임팩트가 커요.)
2. 2분기: 직접 만드는 셸 또는 CLI 도구 (운영체제와 시스템 콜에 대한 감을 잡을 수 있어요.)
3. 3분기: 직접 만드는 웹 서버 (HTTP 프로토콜을 소켓 레벨에서 이해하면 백엔드 디버깅이 달라져요.)
4. 4분기: 직접 만드는 인터프리터 (언어가 어떻게 동작하는지 알게 되면 어느 언어를 만나도 두렵지 않아요.)

2. 시니어 개발자: 팀 스터디로 활용

주니어들과 함께 하는 사내 스터디 주제로 정말 좋아요. "이번 달엔 다 같이 직접 Redis 만들어보기"처럼요. 페어 프로그래밍이나 코드 리뷰를 곁들이면 멘토링 효과도 있고요.

3. 이직 준비생: 포트폴리오 차별화

또 다른 todo 앱 클론보다 "내가 직접 만든 미니 데이터베이스"가 면접관 눈에 훨씬 매력적이에요. GitHub README에 "왜 만들었고, 어떤 점을 배웠고, 어떤 한계가 있는지"를 잘 정리해놓으면 기술 면접에서 풀어낼 이야기가 풍부해져요.

4. 주의할 점

다만 함정도 있어요. "바닥부터 만들기"에 너무 빠지면 "바퀴 재발명 강박"에 걸릴 수 있거든요. 학습용으로 만든 것과 프로덕션에 쓸 것은 명확히 구분해야 해요. 회사 코드에 "제가 직접 만든 ORM이에요"라고 들고 가면 안 돼요.

또 하나, 모든 튜토리얼이 다 좋은 건 아니에요. 일부는 오래됐거나 깊이가 얕아요. README 별점이나 마지막 업데이트 날짜를 꼭 확인하세요.

마무리: "이해"라는 사치를 부리는 시간

솔직히 말하면, 회사에서 일할 때 "바닥부터 이해하는 시간"을 갖기는 어려워요. 마감이 있고, 스프린트가 있고, 일단 돌아가게 만들어야 하니까요. 그래서 이런 "바닥부터 만들기" 학습은 어떤 의미에선 사치예요. 당장의 생산성에는 도움이 안 되거든요.

그런데 길게 보면 이 사치가 결국 우리를 더 멀리 가게 해줘요. 5년차, 10년차가 됐을 때 후배가 "이거 왜 이렇게 동작해요?"라고 물었을 때 "음, 그게 내부적으로는 이렇게 돼 있어서..."라고 대답할 수 있는 사람이 되느냐, 아니면 "나도 잘 모르는데 그냥 이렇게 쓰면 돼"라고 대답하는 사람이 되느냐의 차이가 여기서 갈리거든요.

AI가 코드를 짜주는 시대일수록, 역설적으로 "진짜 이해하는 사람"의 가치는 올라가요. 누구나 표면적인 코드는 만들 수 있지만, 그 코드가 왜 그래야 하는지를 설명할 수 있는 사람은 적거든요.

여러분은 어떠세요? 한 번이라도 좋아하는 기술을 바닥부터 만들어본 경험이 있나요? 있다면 어떤 깨달음을 얻으셨어요? 아직 없다면, 올해 안에 하나 정도는 도전해보시는 거 어떨까요? 댓글로 "나는 이걸 만들어보고 싶다" 하는 거 적어주시면, 비슷한 관심사를 가진 분들끼리 연결될 수도 있을 것 같아요. 같이 고민하고 같이 만들어가는 게 결국 커뮤니티의 매력이니까요.


🔗 출처: GitHub

SOURCE · GITHUB
원문 전체 보기 → https://github.com/codecrafters-io/build-your-own-x
SHARE
처리 중...